Struts1的一个例子

在公司接触了半年的前台界面的调整,近期在回顾框架知识,写成功了一个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 {

	@Override
	protected void process(HttpServletRequest request,
			HttpServletResponse response) throws IOException, ServletException {
		// TODO Auto-generated method stub
		String 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 {

	@Override
	public 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就可以了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值