一 、配置:
1.拷贝struts1x/lib下所有jar包至所建项目WebContent/WEB-INF/lib/
2.将struts/webapps/struts-blank/WEB-INF/web.xml中内容拷贝到项目web.xml,即配置ActionServlet
3.将struts/webapps/struts-blank/WEB-INF/struts-config.xml文件拷贝到项目WebContent/WEB-INF/
二、创建项目
1.创建jsp页面(login.jsp,login_success.jsp,login_error.jsp)
2.建src/LoginActionForm.java继承org.apache.struts.action.ActionForm是用于数据收集的,其属性必须与页面中name一致,生成get和set方法
3.建src/LoginAction.java继承org.apache.struts.action.Action
并重写execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)方法,
将传过来的form强制转换成TestActionForm用get方法进行取值,调用模型层进行处理(连数据库比较等),进行转向
4.配置struts-config.xml
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>struts1x</display-name>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</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>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<!-- Standard Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
struts-config.xml:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
<form-beans>
<form-bean name="loginform" type="com.ht.action.LoginActionForm"></form-bean>
</form-beans>
<action-mappings>
<action path="/login" //页面中form请求的action的名字必须以/开头,去掉.后面的内容,例<form action="login.do"……取/login
type="com.ht.action.LoginAction" //类路径
name="loginform" //指定数据收集的确ActionForm,即<form-bean>中配置的name
scope="request" //数据收集时默认放在session里,这里设置放在request中
>
<forward name="success" path="/login_success.jsp"></forward>
<forward name="error" path="/login_error.jsp"></forward>
</action>
</action-mappings>
</struts-config>
LoginAction.java
package com.ht.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;
public class LoginAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
LoginActionForm laf = (LoginActionForm)form;
String username = laf.getUsername();
String password = laf.getPassword();
if("admin".equals(username)&& "admin".equals(password)){
request.setAttribute("loginForm",laf );
return mapping.findForward("success");
}else{
request.setAttribute("errorinfo","login failed!" );
return mapping.findForward("error");
}
}
}