SSH框架搭建
作者:盧海
一、框架搭建基礎:
a) Eclipce來發環境
b) 相應數據庫連接Jar包
二、具體搭建步奏
a) 在eclipce環境中導入Spring框架
選擇導入包時要選擇Spring的核心包Aop包相應的ORM映射包和Web包
b) 在eclipce環境中導入Hibernate框架
導入Hibernate對應的核心包全部導入選擇何時的數據庫連接方式
注意:應在MyEclicpeDatabaseExplorer中配置相應的數據庫
導入Hibernate時注意選擇使用Spring配置文件進行配置
c) 在eclipce環境中導入Structs框架
注意Structs應導入Structs1.2或更高版本
(注意:必須按以上順序導入)
d) 刪除asm2.2.3.jar
e) 導入commons-pool.jar連接庫
導入方法在eclipce中窗口-首選項-MyEclicpe-ProjectCapabilities 選項中將
Hibernate2中的commons-pool.jar 複製到項目的lib目錄下
f) 將log4j.properties文件導入
g) 在Web.xml中配置OpenSessionInView模式
代碼如下
<filter>
<filter-name>osiv</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>osiv</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
編寫設置字符編碼的Filter
Web.xml配置如下
<filter>
<filter-name>setEncode</filter-name>
<filter-class>com.accp.hr.filters.SetEncodingFilters</filter-class>
</filter>
<filter-mapping>
<filter-name>setEncode</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
具體Filter類編碼如下:
package com.accp.hr.filters;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SetEncodingFilters implements Filter {
private String encode;
public void setEncode(String encode) {
this.encode = encode;
}
public void destroy() {
this.encode=null;
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request=(HttpServletRequest) servletRequest;
HttpServletResponse response=(HttpServletResponse) servletResponse;
request.setCharacterEncoding(encode);
response.setCharacterEncoding(encode);
chain.doFilter(servletRequest, servletResponse);
}
public void init(FilterConfig config) throws ServletException {
this.encode=config.getInitParameter("encode");
if(encode==null){
this.encode="utf-8";
}
}
}
h) 配置Hibernate相關內容:
在Hibernate配置文件中找到如下代碼並加入以下屬性
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
I) 配置Struts和Hibernate整合相關內容
在Web.xml中加入如下內容
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
在Struts配置文件中加入如下內容
注意在<message-resource>標籤以上加入如下代碼
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"></controller>
J)加入驗證框架
在Structs配置文件下加入如下內容(一般加載尾標籤前)
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property value="/WEB-INF/validator-rules.xml,/WEB-INF/validate.xml" property="pathnames"/>
</plug-in>
注意在相應目錄下應有對應的validate.xml文件,文件名應與所配置的文件名一致,且應有驗證文件