最近看了很多招聘,其中很多我想去的公司都需要一些技能,其中熟练 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


 
         
					 
					