最近看了很多招聘,其中很多我想去的公司都需要一些技能,其中熟練 Java SSH 等為必須技能。
因此,我就希望來探討下SSH的深淺,當中也希望通過更了解它,以后能在SSH的對話中能有一絲絲見解。
下面,我查閱了大量資料,走了不少錯路,最后總結了經驗后搭建出來的SSH框架。
希望第一次搭建SSH框架的會從中得到啟發。
開發環境:
eclipse-jee-kepler-SR1-win32 4.3.0 http://www.eclipse.org/downloads/
apache-tomcat-7.0.2 http://tomcat.apache.org/download-70.cgi
jdk-7u1-windows-i586 http://www.oracle.com/technetwork/java/javase/downloads/index.html
SSH版本:
hibernate-search-4.4.2.Final-dist http://hibernate.org/search/downloads/
spring-framework-4.0.0 https://github.com/diguage/spring-framework
struts-2.3.16-all http://struts.apache.org/download.cgi#struts2316
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
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

