生活随笔
收集整理的這篇文章主要介紹了
eclipse搭建SSH框架详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
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代碼?
<?xml?version="1.0"?encoding="UTF-8"?>?? <web-app?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"?? ????xmlns="http://java.sun.com/xml/ns/javaee"?xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"?? ????xsi:schemaLocation="http://java.sun.com/xml/ns/javaee?http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"?? ????id="WebApp_ID"?version="2.5">?? ????<display-name>SSHTest</display-name>?? ????<!--?struts?Framework?-->?? ????<filter>?? ????????<filter-name>struts2</filter-name>?? ????????<filter-class>?? ??????????org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter?? ????????</filter-class>?? ????</filter>?? ????<filter-mapping>?? ????????<filter-name>struts2</filter-name>?? ????????<url-pattern>/*</url-pattern>?? ????</filter-mapping>?? ????<!--?welcome?file?-->?? ????<welcome-file-list>?? ????????<welcome-file>index.jsp</welcome-file>?? ????</welcome-file-list>?? </web-app>??
? 3.在WEB-INF/classes目錄下添加struts.xml配置文件:?
Xml代碼?
<?xml?version="1.0"?encoding="UTF-8"?>?? <!DOCTYPE?struts?PUBLIC????? ????"-//Apache?Software?Foundation//DTD?Struts?Configuration?2.0//EN"????? ????"http://struts.apache.org/dtds/struts-2.0.dtd">???? <struts>?? ????<package?namespace="/"?name="struts2"?extends="struts-default">?? ????????<action?name="login"?method="execute"?class="loginAction">?? ????????????<result?name="success">/WEB-INF/jsp/login.jsp</result>?? ????????????<result?name="input">/WEB-INF/index.jsp</result>?? ????????</action>?? ????</package>?? </struts>???? ?
? 4.配置Spring?
??? 1)導入spring包。spring-framework-**.zip解壓后,將spring-framework-**文件夾的dist目錄下的jar包導入工程中。?
??? 2)配置web.xml文件。?
Xml代碼?
<!--?Spring?Framework?-->?? <listener>?? ????<listener-class>?? ??????org.springframework.web.context.ContextLoaderListener?? ????</listener-class>?? </listener>?? <context-param>?? ????<param-name>contextConfigLocation</param-name>?? ????<param-value>?? ????????classpath:/applicationContext*.xml?? ????</param-value>?? </context-param>?? ?
??? 3)添加applicationContext.xml文件。?
Xml代碼?
<?xml?version="1.0"?encoding="UTF-8"?>?? <beans?xmlns="http://www.springframework.org/schema/beans"?? ????xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"?? ????xmlns:aop="http://www.springframework.org/schema/aop"?? ????xmlns:tx="http://www.springframework.org/schema/tx"?? ????xsi:schemaLocation="?? ????http://www.springframework.org/schema/beans?http://www.springframework.org/schema/beans/spring-beans-2.5.xsd?? ????http://www.springframework.org/schema/tx?http://www.springframework.org/schema/tx/spring-tx-2.5.xsd?? ????http://www.springframework.org/schema/aop?http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">?? ????<!--?Action?-->?? ????<bean?id="loginAction"?scope="prototype"?class="action.LoginAction"></bean>?? </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代碼?
<?xml?version="1.0"?encoding="UTF-8"?>?? <!DOCTYPE?hibernate-configuration?PUBLIC????? ??????????"-//Hibernate/Hibernate?Configuration?DTD?3.0//EN"????? ??????????"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">?? <hibernate-configuration>?? ????<session-factory>?? ????????<property?name="connection.driver_class">?? ????????????com.hxtt.sql.access.AccessDriver????? ????????</property>?? ????????<property?name="connection.url">?? ????????????jdbc:access:///D:/workspace/SSHTest/TestDatabase.accdb?? ????????</property>?? ????????<!--??數據庫連接設置?-->?? ????????<property?name="eclipse.connection.profile">access</property>?? ????????<property?name="connection.username"></property>?? ????????<property?name="connection.password"></property>?? ????????<property?name="dialect">com.hxtt.support.hibernate.HxttAccessDialect</property>?? ????????<!--?show_sql?生成SQL語句?-->?? ????????<property?name="show_sql">true</property>?? ????????<!--?SQL?dialect?方言?-->?? ????????<property?name="hibernate.dialect">?? ????????????com.hxtt.support.hibernate.HxttAccessDialect????? ????????</property>?? ????????<!--?添加實體類的映射文件-->?? ????????<mapping?resource="Login.hbm.xml"?/>?? ???????????? ????????<!--?Annotation方式配置?? ????????<mapping?class="entity.Login"/>?? ?????????-->?? ????</session-factory>?? </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代碼?
<?xml?version="1.0"?encoding="UTF-8"?>?? <!DOCTYPE?hibernate-mapping?PUBLIC?? ??????????"-//Hibernate/Hibernate?Mapping?DTD?3.0//EN"?? ??????????"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"?>?? <hibernate-mapping?package="包名">?? ????<class?name="類名"?table="表名">?? ????????<id?name="主鍵在java類中的字段名"?column="對應表中字段"?type="類型?">?? ????????????<generator?class="主鍵生成策略"/>?? ????????</id>?? ????</class>?? </hibernate-mapping>?? ?
? 6.Spring整合Hibernate。Spring對hibernate的Session的創建、提交、關閉的整個生命周期進行管理。?
??????? 1)? 配置sessionFactory,讓spring來創建Session。在applicationContext.xml中增加如下代碼:
Xml代碼?
<!--?sessionFactory?-->?? ????<bean?id="sessionFactory"?class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">?? ???????<property?name="configLocation">?? ???????????<value>classpath:/hibernate.cfg.xml</value>?? ???????</property>?? ????</bean>?? ?
轉載于:https://my.oschina.net/u/347414/blog/145351
總結
以上是生活随笔為你收集整理的eclipse搭建SSH框架详解的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。