下面,我查閱了大量資料,走了很多錯路,最後總結了經驗後搭建出來的SSH框架。html
但願第一次搭建SSH框架的會從中獲得啓發。java
開發環境:mysql
eclipse-jee-kepler-SR1-win32 4.3.0 http://www.eclipse.org/downloads/git
apache-tomcat-7.0.2 http://tomcat.apache.org/download-70.cgigithub
jdk-7u1-windows-i586 http://www.oracle.com/technetwork/java/javase/downloads/index.htmlweb
SSH版本:spring
hibernate-search-4.4.2.Final-dist http://hibernate.org/search/downloads/sql
spring-framework-4.0.0 https://github.com/diguage/spring-framework數據庫
struts-2.3.16-all http://struts.apache.org/download.cgi#struts2316apache
MYSQL版本:
mysql-connector-java-5.1.28 http://dev.mysql.com/downloads/connector/j/
也許有第一次使用的朋友們觀看,所以順便也說說環境變量的配置
個人電腦->屬性->高級->環境變量->系統變量
添加變量
JDK環境變量配置:
JAVA_HOME=D:\Program Files (x86)\Java\jdk1.7.0_01
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;必定不能少,由於它表明當前路徑)
path=%JAVA_HOME%\bin
apache環境變量配置:
CATALINA_HOME=D:\Program Files\apache-tomcat-7.0.50;
CATALINA_BASE=D:\Program Files\apache-tomcat-7.0.50;
最後將servlet.jar在環境變量classpath後追加 %CATALINA_HOME%\common\lib\servlet.jar;
修改後的classpath以下:
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar;
啓動apache 運行lib/startup.bat便可(默認端口8080)
下面開始配置SSH框架:
1.新建一個 web 項目
File->New->Dynamic Web Project
2.配置struts
首先引入jar包
jar包所在目錄 struts-*\lib
其中有5個是必須的: Commons-logging-*.jar,Freemarker-*.jar,Ognl-*.jar,Struts2-core-*.jar,Xwork-*.jar 其他jar包並非struts必須的。還有3個包也要注意導入。不導入運行Tomcat時候可能會出現異常。 commons-io-*.jar,commons-fileupload-*.jar,javassist-*.ga.jar
解壓 struts-*/apps/struts2-blank.war 到任意地方
複製 WEB-INF/web.xml 到 項目中的目錄 WEB-INF
複製 WEB-INF/src/java/struts.xml 到 項目中的目錄 src
在此說明一下 apps/struts2-blank.war/WEB-INF/lib 也存在,須要引入的jar包,能夠直接引入這些jar包。
3.配置spring
引入jar包
jar包所在目錄 spring-framework-*\libs
引入目錄下全部RELEASE.jar結束的jar包
而後編輯項目 WEB-INF/web.xml 文件,添加
<!-- Spring Framework --> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:/spring-*.xml </param-value> </context-param>
這裏須要說明一下 classpath 存在於項目 WEB-INF 目錄下
在 src 下新建XML文件 spring-applicationContext.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"> </beans>
4.配置hibernate
導入jar包
jar包所在目錄 hibernate-search-*\dist\lib\*
hibernate-commons-annotations-*.jar,hibernate-core-*.jar,antlr-*.jar,dom4j-*.jar,jta-*.jar,slf4j-*.jar
而後編輯 src 下XML文件 spring-applicationContext.xml
添加代碼
<!-- sessionFactory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <property name="configLocation"> <value>classpath:/hibernate.cfg.xml</value> </property> </bean>
在 src 下新建XML文件 hibernate.cfg.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> <!-- 各屬性的配置--> <!-- 爲true表示將Hibernate發送給數據庫的sql顯示出來 --> <property name="show_sql">true</property> <!-- SQL方言,這邊設定的是MySQL --> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <!-- 一次讀的數據庫記錄數 --> <property name="jdbc.fetch_size">16</property> <!-- 設定對數據庫進行批量刪除 --> <property name="jdbc.batch_size">30</property> <!--驅動程序--> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <!-- JDBC URL --> <property name="connection.url">jdbc:mysql://localhost/uel?characterEncoding=UTF-8</property> <!-- 數據庫用戶名--> <property name="connection.username">root</property> <!-- 數據庫密碼--> <property name="connection.password"></property> </session-factory> </hibernate-configuration>
由於 hibernate.cfg.xml 有配置mysql所以須要引入 mysql 的jar包
mysql-connector-java-*.jar
最後說明一點,引入jar包的方式有下面2種方式
1.複製所需包到 WEB-INF/lib 下
2.配置 Window->Preferences->Java->Build Path->User Libraries
新建User Libraries,Add External Jars
右鍵選中項目 Properties->Java Build Path->Add Libraries->User Library::選中新建的User Libraries,Finish
最後設置運行的時候複製jar包到 WEB-INF/lib 下,否則是運行的時候會報各類找不到包的狀況
Properties->Deployment Assembly->Add->Java Build Path Entries::選中引入的User Libraries
因爲本文只涉及到環境的配置,所以SSH代碼的規範沒有一絲的說起,但願有興趣的朋友能夠到網上查找更多的參考資料。
附上本文Project Download http://files.cnblogs.com/Yuinro/UEL_SSH_Framework.rar