Eclipse 配置SSH 詳解


最近看了很多招聘,其中很多我想去的公司都需要一些技能,其中熟練 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-release-4.3.0.Final http://hibernate.org/orm/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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM