struts1包下载地址:http://www.apache.org
第一步:建一个web工程struts1,然后解压下载到的struts压缩包-->,解压后的目录为
apps文件夹下都是一些struts1的例子,把struts-blank-1.3.10应用解压,然后把其lib目录下的jar文件拷贝到自己工程lib目录下,这些jar文件是:
第二步:在web.xml文件中添加配置,配置主要内容为:
<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> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
第三步:把struts-blank-1.3.10应用下的struts-config.xml文件拷贝到自己工程WEB-INF目录下,编辑内容:
<?xml version="1.0" encoding="ISO-8859-1" ?> <!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="loginForm" type = "com.struts1.app.form.login.LoginForm"/> </form-beans> <global-exceptions> </global-exceptions> <global-forwards> <forward name="welcome" path="/Welcome.do"/> </global-forwards> <action-mappings> <action path="/Welcome" forward="/pages/Welcome.jsp"/> <action path = "/login" name = "loginForm" scope = "request" type = "com.struts1.app.action.login.LoginAction" validate = "false"> <forward name = "success" path = "/success.jsp"/> <forward name = "login" path = "/login.jsp"/> </action> </action-mappings> <message-resources parameter="MessageResources" /> <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathnames" value="/org/apache/struts/validator/validator-rules.xml, /WEB-INF/validation.xml"/> </plug-in> </struts-config>
第四步:编写LoginForm.java:
/* * LoginForm.java */ package com.struts1.app.form.login; import org.apache.struts.action.ActionForm; @SuppressWarnings("serial") public class LoginForm extends ActionForm{ private String username;//要和表单的名字一样 private String password;//要和表单的名字一样 public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
第五步:编写LoginAction.java:
package com.struts1.app.action.login; 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.struts1.app.form.login.LoginForm; public class LoginAction extends Action{ @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // TODO Auto-generated method stub String str = ""; LoginForm login = (LoginForm) form; if (login.getUsername().equals("") || login.getPassword().equals("") || login.getUsername() == null || login.getPassword() == null) { request.setAttribute("message", "用户名或密码不能为空!"); str = "login"; } else if (login.getUsername().equals("zhangsan") && login.getPassword().equals("123")) { str = "success"; } return mapping.findForward(str); } }
第六步:编写jsp页面:
login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> </head> <body> <form action = "login.do" method = "post"> 用户名:<input type = "text" name = "username" /><br/> 密 码:<input type = "password" name = "password"/></br> <input type = "submit" value = "登录"/> </form> <% String mess = (String)request.getAttribute("message"); if(mess!=null){ out.print("<script language = 'javascript'>alert('"+mess+"')</script>"); } %> </body> </html>
success.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
</head>
<body>
<script language = "javascript">
alert("登陆成功!");
</script>
</body>
</html>
第七步:
在地址栏输入http://localhost:8080/struts1/login.jsp运行
整个工程架构: