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文件,文件名应与所配置的文件名一致,且应有验证文件