Struts1的一个例子

来源:互联网 发布:直线职能制和矩阵值 编辑:程序博客网 时间:2024/06/06 18:39

在公司接触了半年的前台界面的调整,近期在回顾框架知识,写成功了一个Struts1的入门实例,作为保存:

1.首先要建立一个WEB项目,导入Struts1的架包和配置文件(struts-config.xml)

2.在web.xml文件中配置Struts1的核心控制器ActionServlet(因为我扩展了ActionServlet,所以此处指定的是扩展后的类)

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  <servlet>    <servlet-name>action</servlet-name>    <servlet-class>com.wch.struts1.exer.filter.EncodingFilter</servlet-class>    <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>    <init-param>    <param-name>encoding</param-name>    <param-value>utf-8</param-value>    </init-param>    <load-on-startup>0</load-on-startup>  </servlet>  <servlet-mapping>    <servlet-name>action</servlet-name>    <url-pattern>*.do</url-pattern>  </servlet-mapping>  <welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list></web-app>


2.编写JSP页面

  先付上我的项目结构:

 

附上index.jsp的代码

<body>    <form action="loginAction.do" method="post">    userName:<input type="text" name="username"/>    password:<input type="password" name="password"/>    <input type="submit" value="登录">    </form>      </body>


loginError.jsp

<body>   <h1>ABC<%=request.getAttribute("errorMessage") %></h1>   </body>

Welcome.jsp

 <body>   <h1>欢迎来到Struts1天地</h1>   </body>


3.扩展的ActionServlet类:

package com.wch.struts1.exer.filter;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.ActionServlet;public class EncodingFilter extends ActionServlet {@Overrideprotected void process(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException {// TODO Auto-generated method stubString encoding= this.getInitParameter("encoding");request.setCharacterEncoding(encoding);response.setCharacterEncoding(encoding);//response.setContentType("text/html;charset=utf-8");super.process(request, response);}}


4.LoginAction(登录控制):

package com.wch.struts1.exer.action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import com.wch.struts1.exer.form.UserForm;public class LoginAction extends Action {@Overridepublic ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception {String str="";UserForm userForm = (UserForm)form;if(userForm.getUsername().equals("")||userForm.getPassword().equals("")||userForm.getUsername()==null||userForm.getPassword()==null){request.setAttribute("errorMessage", "用户名或密码不能为空");str="loginError";}else if(userForm.getUsername().equals("张三")&&userForm.getPassword().equals("123")){str="success";}else {request.setAttribute("errorMessage", "用户名或密码输入错误");str="loginError";}return mapping.findForward(str);}}


5.然后就是Struts1的配置文件:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd"><struts-config>  <form-beans>  <form-bean name="userForm" type="com.wch.struts1.exer.form.UserForm"></form-bean>  </form-beans>  <global-exceptions />   <global-forwards />  <action-mappings>  <action path="/loginAction" name="userForm"  type="com.wch.struts1.exer.action.LoginAction">  <forward name="login" path="/index.jsp"></forward>  <forward name="loginError" path="/error/loginError.jsp"></forward>  <forward name="success" path="/welcome/Welcome.jsp"></forward>  </action>  </action-mappings>  <message-resources parameter="com.yourcompany.struts.ApplicationResources" /></struts-config>


最后发布到Tomcat服务器,启动服务器(确保不出错),运行http://localhost:8080/Struts1就可以了

 

原创粉丝点击