简单示例搭建框架之一
一直自己搭建框架的意愿,跟着别人的模式走,对于真正体会开发显得不足。
?
经验有限,望高手指点。(好久都没有进行web开发,有点手生,呵呵,努力。)
?
第一步:首先下载需要的开发包。
1、ext开发包(ext-2.2.zip)。
下载地址:http://extjs.com/
2、struts开发包(struts-2.0.14-all.zip)。
下载地址:http://struts.apache.org/
3、spring开发包(spring-framework-2.5.6-with-dependencies.zip)
下载地址:http://www.springsource.org/
4、Hibernate开发包(hibernate-distribution-3.3.1.GA-dist.zip),对于它,还有相关包,可以根据需要选择。
下载地址:http://www.hibernate.org/
对于spring的网站,很奇怪,现在变成springsource.com,尝试了好多次才打开,不知道有什么限制。
另外环境搭建:eclipse3.3+tomcat6.0+mySql5.0。
?
第二步:建立工程。
这个不用多说。
首先在这里想问一个问题:在建立工程中有没有工程编码的设置?
这个在以后开发中遇到很多问题,如果有的话,尽量设置为UTF-8,而不是默认的那个ISO-8859-1,如果你的工程出现中文资源传问题,你就会发现这个的必要,当然这只是一点。
?
第三步:设置数据库编码。
在建立数据库是设置默认编码为UTF-8,假如不这样,在字段中出现中文时,会出错,开始是莫名其妙。首次使用mySQL还不是很熟悉,尽力学习吧。
?
OK,开始工程框架之旅。
最基本的东西就是配置(web.xml\struts.xml\spring.xml),还有就是引入包的问题。
?
先说引入包。
对于上struts:
struts2-core-2.0.14.jar:
核心包,必须。
ognl-2.6.11.jar:
OGNL的全称是Object Graph Navigation Language(对象图导航语言)。
xwork-2.0.7.jar:
与webwork相关,具体细节不是很清楚。
struts2-spring-plugin-2.0.14.jar:
与spring结合插件,可以不使用。
对于spring:
spring.jar:
核心包,必须。
?
对于hibernate:
hibernate3.jar:
核心包,必须。
antlr-2.7.6.jar:
ANother Tool for Language Recognition(antlr)。
commons-collections-3.1.jar:
集合类。
dom4j-1.6.1.jar:
XML配置和映射解释器。
javassist-3.4.GA.jar:
Javassist 字节码解释器。
jta-1.1.jar:
jta规范,当Hibernate使用jta的时候需要。
slf4j-api-1.5.2.jar以及slf4j-log4j12-1.5.0.jar:
新的日志记录模式,可替代log4j。
?
另外对于common的选择,则自己选择。
?
对于mySQL的连接,采用jtds,包括:
commons-pool-1.3.jar:
一个用于在Java程序中实现对象池化的组件。
jtds-1.2.2.jar:
JTDS JDBC Driver。
mysql-connector-java-5.0.3-bin.jar:
mysql驱动。
?
对于其余的jar,可以根据需要进行增加。
以尽量少用为原则,在这一点上,发现Hibernate做的比较好,在他的目录下明显放置required、optional、bytecode显而易见,可以自由选择,当然要了解具体你要做的事务。
好了,反正开发的原则是开始尽可能少加入jar包,然后根据需要逐步增加,在配置完基本的xml后,启动工程,看看提示的错误,在进行jar包的引入。
说句实话,对于这种框架组合最烦的就是jar包版本问题。
?
下面来看主要的配置文件,一般这个配置成功了,开发就变的简单了。
看web.xml配置文件:
看struts配置文件:
?而对于实际处理的action,则采用分离xml配置。
?这里是上边配置的struts_admin.xml的内容。
看spring配置文件:
在配置中注意头部文件。
至于具体的实现业务,则分别放置于action、server、dao中。
action支持的struts的跳转,即视图数据获取、展示以及控制跳转。
server支持的spring,进行事务处理,支持业务逻辑。
dao支持Hibernate,进行数据库操作,即所谓的持久层。
另外,增加model,及数据模型,将数据对象转换为java对象,Hibernate支持。
附带一个配置文件。
至于具体业务模块是否在此细分问题,看情况决定。
?
java代码的写作风格,看自己情况了。
?
组织结构就上面所述。
?
前页面处理采用ext,由于没有经验,学习中。
?
现在的感觉,用上了ext,struts骄傲的标签完全没有用,对于国际化支持问题,ext不知道怎么体现。
?
struts骄傲的标签,没用上。Form数据收集整理还没来得及想详看。对ActionSupport进行研究。
spring骄傲的事务管理,简单业务也是用不上。至于IOC,必不可少。
Hibernate骄傲的那么多技术,不知道能用到多少。对HibernateDaoSupport进行研究。
?
深入吧,研究中……
?
慢工出细活。
?
说句闲话:思路很重要,思想更重要。原理很重要,实现是其次。
?
?
?
?