开发一个web项目的过程Word文件下载.doc
《开发一个web项目的过程Word文件下载.doc》由会员分享,可在线阅读,更多相关《开发一个web项目的过程Word文件下载.doc(64页珍藏版)》请在冰点文库上搜索。
Tomcat是Tomcat5.0版本的,
Eclipse是Eclipse3.1版本的,
Myeclipse是Myeclipse3.8.3版本的。
建一个名为USERS的表,其中包含的属性有ID(是主键)、NAME(用户的名称)、GENDER(用户的性别)、AGE(用户的年龄)、MAILL(用户的E-Mail)、DEPARTMENT(用户所在的部门)、BIRTHDAY(用户的生日)。
数据库中的角本如下:
createtableUSERS(
IDintnotnullkeyprimary,
NAMEvarchar2(50),
GENDERvarchar2,
AGEinteger,
MAILvarchar2(100),
DEPARTMENTvarchar2(50),
BIRTHDAYdate)
在eclipse开发环境下,新建一个名为sourcedemo的WebProject:
[文件]——>
[新建]——>
[其它]——>
J2EE弹出如下图的对话
选中WebProject,单击下一步,如下图:
在ProjectName中输入项目名称sourcedemo,其他都默,认单击[完成]则一个名为sourcedemo的web原始项目建成。
在项目sourcedemo的src目录下(名分别为config、sourcedemo、common、test)。
1,右键单击src源文件——>
[新建]——>
[文件夹],弹出如下图的对话框:
在文件夹名(D)中输入config,单击完成,新建了一个名为config的文件夹。
2,重复1的操作依次建名为sourcedemo、common、test的文件夹。
3,把这四个文件改成源文件,具体操作如下:
右键单击项目sourcedemo——>
properties——>
JavaBuildPath——>
source,选中sourcedemo把它Remove掉,再单击AddFloder——>
src——>
选中common、config、sourcedemo、test——>
ok——>
ok即可。
如下图:
得到如下的结果图:
说明:
在Config文件中,根据实体类型对要用到的一些工具,如freemarker、webwork、log4j、数据库连接等进行具体的配置。
Sourcedem文件中放项目文件声明具体要用到的一些接口和类,并把它们实现。
即可实现要实现的功能。
Common文件中放公共用到的一些代码。
Test文件中放进行测试的文件,此项目中没有用到,可把此目录删除。
注意:
1,任何的源代码都要建com包,接下来的是公司的名称(gameplus),再后面就是模块名称,最后是功能。
形如:
mon.action。
2,包的名称要全部用小写。
在建测试包时要在前面加上项目的名称,以表明是针对那个项目做的测试,形如:
com.gameplus.sourcedemotest。
3,类的名称每个单词的头字母要大写。
4,定义接口时要在名称前加字母I。
5,方法的命名规则是:
第一个单词小写,从第二个单词开始头一个字母大写。
6,所有IDao的接口都要继承common包中的IDao父接口,所有Hibernate的实例都要继承common中hibernate父类,通过此类可与Hibernate的核心类接触;
所有的model都要继承common中的model父类。
在eclipse\workspace\sourcedemo\WebRoot\WEB-INF\lib目录下部署用到的库。
在WebRoot目录下新建名为exceptions.ftl、index.ftl、user.ftl的文件,它们相当于显示层,由freemarker来解析;
其中exceptions.ftl是出现异常时的显示,index.ftl用来显示所有的用户列表,user.ftl是新增、删除用户,;
新建名为indem的htm文件,设置在浏览器中显示页面的默认URL为index.action。
(具体代码参看项目)
在WebRoot目录下的子目录WEB-INF目录下有一个默认的文件web.xml它是Web应用的描述文件,包含所有必须的WebWork组件。
在web.xml文件里配置一个派遣器ServletDispatcher,它初始化WebWrok的一些配置信息,解析XWork的Action配置信息,根据请求去组装和调用执行相应的拦截器(Interceptor)、Action、ActionResult(Action执行结果的输出)等。
新建名为action-beams-user.xml、applicationContest-hibernate.xml、applicationContext-resources.xml的文件。
action-beams-user.xml文件主要用来配置要用到的action,spring会把它们封装成bean来管理;
applicationContext-resources.xml主要是用来配置数据源;
applicationContest-hibernate.xml主要是配置DAO的。
具体代码如下:
action-beams-user.xml:
<
?
xmlversion="
1.0"
encoding="
UTF-8"
>
!
DOCTYPEbeansPUBLIC"
-//SPRING//DTDBEAN//EN"
"
http:
//www.springframework.org/dtd/spring-beans.dtd"
beans>
<
beanid="
userDaoTarget"
class="
com.gameplus.sourcedemo.user.dao.hibernate.UserDao"
autowire="
byName"
/>
<
userDao"
org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
>
<
propertyname="
transactionManager"
<
refbean="
/property>
target"
transactionAttributes"
props>
<
propkey="
*"
PROPAGATION_REQUIRED<
/prop>
/props>
/bean>
listUserAction"
com.gameplus.sourcedemo.user.action.ListUserAction"
singleton="
false"
<
<
createUserAction"
com.gameplus.sourcedemo.user.action.CreateUserAction"
deleteUserAction"
com.gameplus.sourcedemo.user.action.DeleteUserAction"
modifyUserAction"
com.gameplus.sourcedemo.user.action.ModifyUserAction"
/beans>
applicationContest-hibernate.xml:
--HibernateSessionFactory-->
sessionFactory"
org.springframework.orm.hibernate.LocalSessionFactoryBean"
dataSource"
mappingResources"
list>
value>
com/gameplus/sourcedemo/user/model/User.hbm.xml<
/value>
<
/list>
--Thepropertybelowiscommentedoutb/citdoesn'
tworkwhenrunvia
AntinEclipse.ItworksfineforindividualJUnittestsandinIDEA?
mappingJarLocations"
file:
dist/appfuse-dao.jar<
-->
hibernateProperties"
hibernate.dialect"
${hibernate.dialect1}<
hibernate.transaction.factory_class"
net.sf.hibernate.transaction.JDBCTransactionFactory<
hibernate.show_sql"
${hibernate.show_sql1}<
--TransactionmanagerforasingleHibernateSessionFactory(alternativetoJTA)-->
org.springframework.orm.hibernate.HibernateTransactionManager"
reflocal="
<
daoTarget"
mon.dao.hibernate.Dao"
dao"
applicationContext-resources.xml:
--Formailsettingsandfuturepropertiesfiles-->
propertyConfigurer"
org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
locations"
classpath:
database.properties<
<
mons.dbcp.BasicDataSource"
destroy-method="
close"
driverClassName"
${hibernate.connection.driver_class1}<
url"
${hibernate.connection.url1}<
username"
${hibernate.connection.username1}<
password"
${hibernate.connection.password1}<
maxIdle"
10<
maxWait"
60000<
maxActive"
50<
配置各种开发工具,在config文件目录下进行具体的配置:
1,选中[config],单击右键——>
新建——>
文件,弹出如下图的对话框:
在文件名中输入database.properties,单击[完成],则在config文件夹下新建了一个名为database.properties文件。
2,重复1的操作依次建名为freemarker.properties、log4j.properties、webwork.properties的文件。
database.properties文件是hibernate的配置,hibernate主要工作在持久层,负责把数据写到数据库的工作,此项目中用到的数据库是Oracle、端口是192.168.1.13、driver_class1是oracle.jdbc.driver.Oracle9Driver、username1是andy、password是andy,代码如下:
hibernate.dialect1=net.sf.hibernate.dialect.OracleDialect
hibernate.transaction.factory_class1=net.sf.hibernate.transaction.JDBCTransactionFactory
hibernate.show_sql1=true
hibernate.connection.url1=jdbc\:
oracle\:
thin\:
@192.168.1.13\:
1521\:
orc9
hibernate.connection.driver_class1=oracle.jdbc.driver.Oracle9Driver
hibernate.connection.username1=andy
hibernate.connection.password1=andy
freemarker.properties文件是freemarker的配置文件,webwork.properties文件是webwork的配置文件,log4j.properties文件是配置日志文件。
(代码参看项目)
新建名为validators.xml、xwork.xml、xwork-user.xml的文件。
xwork.xml是WebWork最主要的配置文件,其中包含结果/视图类型,action映射,拦截器等等。
它通过include字段来解析xwork-user.xml文件。
validators.xml文件定义验证。
validators.xml文件代码如下:
<
validators>
validatorname="
required"
com.opensymphony.webwork.validators.JavaScriptRequiredFieldValidator"
requiredstring"
com.opensymphony.webwork.validators.JavaScriptRequiredStringValidator"
int"
com.opensymphony.webwork.validators.JavaScriptIntRangeFieldValidator"
date"
com.opensymphony.webwork.validators.JavaScriptDateRangeFieldValidator"
expression"
com.opensymphony.xwork.validator.validators.ExpressionValidator"
fieldexpression"
com.opensymphony.xwork.validator.validators.FieldExpressionValidator"
email"
com.opensymphony.webwork.validators.JavaScriptEmailValidator"
com.opensymphony.webwork.validators.JavaScriptURLValidator"
visitor"
com.opensymphony.webwork.validators.JavaScriptVisitorFieldValidator"
conversion"
com.opensymphony.xwork.validator.validators.ConversionErrorFi