当前位置:文档之家› SSH项目的实现步骤

SSH项目的实现步骤

第1步、导入页面将页面资料复制到项目的“WebRoot”文件夹下。

注:确保每个页面的字符符合JSP的编码方式(GBK或UTF-8)第2步、导入数据库驱动将“mysql-connector-java-5[1].1.12-bin.jar”复制到项目的“WebRoot\WEB-INF\lib”文件夹下,刷新项目后出现。

第3步、添加Struts框架1、添加Struts:在项目名字上点右键选择如下图2、在“Base package for new classes”里填上“web”,点击Finish。

3、在web.xml文件里:<1>删除下面的配置<init-param><param-name>config</param-name><param-value>/WEB-INF/struts-config.xml</param-value></init-param><init-param><param-name>debug</param-name><param-value>3</param-value></init-param><init-param><param-name>detail</param-name><param-value>3</param-value></init-param><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><2>加上字符过滤器:<filter><filter-name>filter</filter-name><filter-class>filter.CharFilter</filter-class><init-param><param-name>charSet</param-name><param-value>gbk</param-value></init-param></filter><filter-mapping><filter-name>filter</filter-name><url-pattern>/*</url-pattern></filter-mapping>4、在上点右键,新键一个filter包,然后下这个包下编写一个为CharFilter.java的文件,文件代码如下:package filter;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;public class CharFilter implements Filter {private String charSet=null;public void destroy() {}public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {request.setCharacterEncoding(charSet);response.setCharacterEncoding(charSet);chain.doFilter(request, response);//向后传递控制权}public void init(FilterConfig config) throws ServletException {charSet=config.getInitParameter(“charSet”);}}5、建立entity包,并根据Hibernate框架来生成实体类(User)[详细请参考第五步、添加Hibernate的框架]第四步、在Struts框架下完成一个登录操作1、在页面上:<c:if test=”${erLoginInfo!=null}”><div style=”height:137px;background:url(images/myepai.gif) no-repeat;”><strong>${er_name}</strong>大驾光临<ul style=”color:#0c0c0c;list-style-type:circle;margin:8px 16px;”><li><a href=”goods.do?operate=toAdd”>发布商品</a></li><li>我的宝贝</li></ul>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=”userLogOut.do?operate=doLogOut”class=”a_button”>注销</a></div></c:if><c:if test=”${erLoginInfo==null}”><form action=”userLogin.do?operate=doLogin”method=”post”>用户名:<input type=”text”name=”er_name”style=”width:60px;”/><br/>密&nbsp;&nbsp;码:<input type=”password”name=”er_password”style=”width:60px;”/><br/><a href=”user_agreement.jsp”class=”a_button”>用户注册</a>&nbsp;<input type=”submit”value=”登录”class=”button”style=”width:40px;”/><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src=”images/login.gif”style=”width:75px;”></img></form></c:if>2、struts-config.xml文件里:<form-beans><form-bean name=”loginForm”type=”org.apache.struts.action.DynaActionForm”><form-property name=”user”type=”er”></form-property></form-bean></form-beans>注1:form-bean标签里的type的值固定成:org.apache.struts.action.DynaActionForm注2:form-property标签里的name的值为属性值,在页面上提交表单里的name应写为:属性值.实体的字段值。

例如er_name。

<action-mappings><action path=”/userLogin”name=”loginForm”type=”web.EpaiDispatchAction” parameter=”operate”scope=”request”><exception key=”error.login”type=”biz.exception.LoginException”path=”/index.jsp”></exception><forward name=”success”path=”/index.jsp”></forward></action></action-mappings>注1:action标签里的path的值与form表单提交时.do前面的单词保持一致。

注2:action标签里的name的值与form-bean标签里的name的值保持一致。

注3:action标签里的type的值与web包里所写的DispatchAction的名字保持一致。

注4:action标签里的parameter的值与form表单提交时.do?后面的单词保持一致。

注5:exception标签里的key的值与web包里的ApplicationResources.properties文件里面的一致。

注6:exception标签里的type的值与biz包下面的exception包里的LoginException.java文件名一致。

注7:excetion标签里的path的值是报错后转向的路径,必须有“/”这个符号。

注8:forward标签里的name的值是与web包里的DispatchAction文件里所调用的方法doLogin里面的return mapping.findForward(“success”); 里的success这个单词保持一致。

注9:forward标签里的path的值是正确执行后转向的路径,必须有“/”这个符号。

3、DispatchAction.java文件(这里文件名为:EpaiDispatchAction.java)里:package web;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.action.DynaActionForm;import org.apache.struts.actions.DispatchAction;import erLoginBiz;import er;public class EpaiDispatchAction extends DispatchAction {private Biz biz;// 用户登录控制器方案public ActionForward doLogin(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)throws Exception {DynaActionForm df = (DynaActionForm) form;User user = (User) df.get(“user”);User userInfo = biz.doLogin(user);request.getSession().setAttribute(“UserLoginInfo”, userInfo);return mapping.findForward(“success”);}}注:df.get(“user”)里面的user和form-property标签里的name的值为属性值,要一致。

相关主题