当前位置: 代码迷 >> Eclipse >> eclipse筹建SSH框架详解[转]
  详细解决方案

eclipse筹建SSH框架详解[转]

热度:68   发布时间:2016-04-23 12:31:52.0
eclipse搭建SSH框架详解[转]

SSH框架是最常用的框架之一,在搭建SSH框架的时候总有人遇到这样,那样的问题。下面我介绍一下SSH框架搭建的全过程。?
第一步:准备工作。?
? 下载好eclipse,Struts2,Spring,Hibernate。?
? 1.eclipse:eclipse下载的时候建议下载JavaEE版的eclipse。
???????????????? 当然你也可以下载eclipse-SDK。(下载eclipse-SDK需要下载Web,Tomcat等plugins)?
? 2.Struts2:http://struts.apache.org/download?
???????? 1)引入Struts的jar包。下载 struts-*-all.zip 解压后,struts\lib目录下是struts所有的相关jar包。?
???????? 其中有5个是必须的:

???????????????Commons-logging-1.0.4.jar,Freemarker-2.3.13.jar,?
???????????????Ognl-2.6.11.jar,Struts2-core-2.1.6.jar,Xwork-2.1.2.jar?
???????? 其余jar包并不是struts必须的。还有3个包也要注意导入。不导入运行Tomcat时候可能会出现异常。?
???????????????commons-io-1.3.2.jar,commons-fileupload-1.2.1.jar,javassist-3.7.ga.jar?
?????????注意:javassist-3.7.ga.jar包是在struts2-blank-2.2.1.war示例工程中的web-inf/lib下的。?


? 3.Spring:http://www.springsource.com/download/community?
????????还可以在eclipse下安装下载。具体步骤是这样的:
??????? 1)打开eclipse-help-Software Updates.

?
??????? 2) 在打开的对话框中选择上面的第二项(Available Software)。

?
??????? 3)点击Add Site按钮,弹出URL对话框。?


??????? 4)在对话框里输入:http://springide.org/updatesite/点击OK。?


??????? 5)选择sping IDE点击安装(Install)。


? 4.Hibernate:http://sourceforge.net/projects/hibernate/files/hibernate3/?

? 5.Jdk的src.zip包导入。(当然不导入也可以。。。)?

第二步:?

? 1.创建一个 Web Progect,自己起一个喜欢的名字。?

? 2.修改WEB-INF下的web.xml文件,增加struts2的配置。

Xml代码??收藏代码
  1. <?xml?version="1.0"?encoding="UTF-8"?>??
  2. <web-app?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"??
  3. ????xmlns="http://java.sun.com/xml/ns/javaee"?xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"??
  4. ????xsi:schemaLocation="http://java.sun.com/xml/ns/javaee?http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"??
  5. ????id="WebApp_ID"?version="2.5">??
  6. ????<display-name>SSHTest</display-name>??
  7. ????<!--?struts?Framework?-->??
  8. ????<filter>??
  9. ????????<filter-name>struts2</filter-name>??
  10. ????????<filter-class>??
  11. ??????????org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter??
  12. ????????</filter-class>??
  13. ????</filter>??
  14. ????<filter-mapping>??
  15. ????????<filter-name>struts2</filter-name>??
  16. ????????<url-pattern>/*</url-pattern>??
  17. ????</filter-mapping>??
  18. ????<!--?welcome?file?-->??
  19. ????<welcome-file-list>??
  20. ????????<welcome-file>index.jsp</welcome-file>??
  21. ????</welcome-file-list>??
  22. </web-app>??


? 3.在WEB-INF/classes目录下添加struts.xml配置文件:?

Xml代码??收藏代码
  1. <?xml?version="1.0"?encoding="UTF-8"?>??
  2. <!DOCTYPE?struts?PUBLIC?????
  3. ????"-//Apache?Software?Foundation//DTD?Struts?Configuration?2.0//EN"?????
  4. ????"http://struts.apache.org/dtds/struts-2.0.dtd">????
  5. <struts>??
  6. ????<package?namespace="/"?name="struts2"?extends="struts-default">??
  7. ????????<action?name="login"?method="execute"?class="loginAction">??
  8. ????????????<result?name="success">/WEB-INF/jsp/login.jsp</result>??
  9. ????????????<result?name="input">/WEB-INF/index.jsp</result>??
  10. ????????</action>??
  11. ????</package>??
  12. </struts>????

?
? 4.配置Spring?

??? 1)导入spring包。spring-framework-**.zip解压后,将spring-framework-**文件夹的dist目录下的jar包导入工程中。?


??? 2)配置web.xml文件。?

Xml代码??收藏代码
  1. <!--?Spring?Framework?-->??
  2. <listener>??
  3. ????<listener-class>??
  4. ??????org.springframework.web.context.ContextLoaderListener??
  5. ????</listener-class>??
  6. </listener>??
  7. <context-param>??
  8. ????<param-name>contextConfigLocation</param-name>??
  9. ????<param-value>??
  10. ????????classpath:/applicationContext*.xml??
  11. ????</param-value>??
  12. </context-param>??

?
??? 3)添加applicationContext.xml文件。?

Xml代码??收藏代码
  1. <?xml?version="1.0"?encoding="UTF-8"?>??
  2. <beans?xmlns="http://www.springframework.org/schema/beans"??
  3. ????xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"??
  4. ????xmlns:aop="http://www.springframework.org/schema/aop"??
  5. ????xmlns:tx="http://www.springframework.org/schema/tx"??
  6. ????xsi:schemaLocation="??
  7. ????http://www.springframework.org/schema/beans?http://www.springframework.org/schema/beans/spring-beans-2.5.xsd??
  8. ????http://www.springframework.org/schema/tx?http://www.springframework.org/schema/tx/spring-tx-2.5.xsd??
  9. ????http://www.springframework.org/schema/aop?http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">??
  10. ????<!--?Action?-->??
  11. ????<bean?id="loginAction"?scope="prototype"?class="action.LoginAction"></bean>??
  12. </beans>??

?
??? 4)整合Spring与Struts。在Struts的lib目录中找到struts2-spring-plugin-*.jar,引入到工程中。?


? 5.配置Hibernate?

??????? 1)解压缩hibernate-distribution-*.zip。导入hibernate-distribution-*GA\lib\required目录中的jar包。?

??????????????? hibernate3.jar???????????????????????? 核心类库?
??????????????? antlr-2.7.6.jar????????????????????????? 代码扫描器,用来翻译HQL语句?
??????????????? commons-collections-3.1.jar??? Apache Commons包中的一个,包含了一些Apache开发的集合类,?

??????????????????????????????????????????????????????????????? 功能比java.util.*强大?
??????????????? dom4j-1.6.1.jar??????????????????????? 一个Java的XML API,类似于jdom,用来读写XML文件的?
??????????????? javassist-3.4.GA.jar???????????????? Javassist 字节码解释器?
??????????????? jta-1.1.jar??????????????????????????????? 标准的JTA API。?
??????????????? slf4j-api-1.5.2.jar?
??????????????? slf4j-nop-1.5.2.jar?


??????? 2)创建Hibernate配置文件。在WEB-INF/calsses目录下建立链接数据库的配置文件hibernate.cfg.xml。?
??????????? (本人比较懒,公司电脑中只有Access,也懒得下载别的DBMS。所以例子是连接Access的大家将就看吧。?
????????????*注意:需要导入Access_JDBC30.jar。?
?? hibernate.cfg.xml:

Xml代码??收藏代码
  1. <?xml?version="1.0"?encoding="UTF-8"?>??
  2. <!DOCTYPE?hibernate-configuration?PUBLIC?????
  3. ??????????"-//Hibernate/Hibernate?Configuration?DTD?3.0//EN"?????
  4. ??????????"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">??
  5. <hibernate-configuration>??
  6. ????<session-factory>??
  7. ????????<property?name="connection.driver_class">??
  8. ????????????com.hxtt.sql.access.AccessDriver?????
  9. ????????</property>??
  10. ????????<property?name="connection.url">??
  11. ????????????jdbc:access:///D:/workspace/SSHTest/TestDatabase.accdb??
  12. ????????</property>??
  13. ????????<!--??数据库连接设置?-->??
  14. ????????<property?name="eclipse.connection.profile">access</property>??
  15. ????????<property?name="connection.username"></property>??
  16. ????????<property?name="connection.password"></property>??
  17. ????????<property?name="dialect">com.hxtt.support.hibernate.HxttAccessDialect</property>??
  18. ????????<!--?show_sql?生成SQL语句?-->??
  19. ????????<property?name="show_sql">true</property>??
  20. ????????<!--?SQL?dialect?方言?-->??
  21. ????????<property?name="hibernate.dialect">??
  22. ????????????com.hxtt.support.hibernate.HxttAccessDialect?????
  23. ????????</property>??
  24. ????????<!--?添加实体类的映射文件-->??
  25. ????????<mapping?resource="Login.hbm.xml"?/>??
  26. ????????????
  27. ????????<!--?Annotation方式配置??
  28. ????????<mapping?class="entity.Login"/>??
  29. ?????????-->??
  30. ????</session-factory>??
  31. </hibernate-configuration>??

?
?????????????注意:单独使用Hibernate需要创建Session工厂类HibernateSessionFactory.java?
???????????????????? (如果用Spring整合就不需要了。Spring会在applicationContext.xml中创建。)?
????????????????????? Hibernat 对数据库的操作是通过Session来实现的,这里的session不同于页面间传递参数的session,?
???????????????????? ?而是类似于JDBC中的 Connection。Session是Hibernate运作的中心,?
????????????????????? 对象的生命周期、事务的管理、数据库的存取都与session息息相关。?
????????????????????? 而Session是由HibernateSessionFactory创建的,是线程安全的,?
????????????????????? 可以让多个执行线程同时存取HibernateSessionFactory而不会有数据共享的问题,?
???????????????????? ?但不能让多个线程共享一个Session。?

?????? 3)Login.hbm.xml文件

Xml代码??收藏代码
  1. <?xml?version="1.0"?encoding="UTF-8"?>??
  2. <!DOCTYPE?hibernate-mapping?PUBLIC??
  3. ??????????"-//Hibernate/Hibernate?Mapping?DTD?3.0//EN"??
  4. ??????????"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"?>??
  5. <hibernate-mapping?package="包名">??
  6. ????<class?name="类名"?table="表名">??
  7. ????????<id?name="主键在java类中的字段名"?column="对应表中字段"?type="类型?">??
  8. ????????????<generator?class="主键生成策略"/>??
  9. ????????</id>??
  10. ????</class>??
  11. </hibernate-mapping>??

?

? 6.Spring整合Hibernate。Spring对hibernate的Session的创建、提交、关闭的整个生命周期进行管理。?
??????? 1)? 配置sessionFactory,让spring来创建Session。在applicationContext.xml中增加如下代码:

Xml代码??收藏代码
  1. <!--?sessionFactory?-->??
  2. ????<bean?id="sessionFactory"?class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">??
  3. ???????<property?name="configLocation">??
  4. ???????????<value>classpath:/hibernate.cfg.xml</value>??
  5. ???????</property>??
  6. ????</bean>??

?

?

  相关解决方案