1.创建一个web project "Struts_1"
添加struts的jar包 --在项目文件右键->myeclipse->add struts...
上面的步骤已经将web.xml中加入了struts的映射
2.在src文文件下建2个包com.amaker.action,->LoginAction.java;com.amaker.form->LoginForm.java
//LoginAction.java
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.amaker.form.LoginForm;
public class LoginAction extends Action{
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
System.out.println("mapping.....");
// String username=request.getParameter("username");
// String password=request.getParameter("password");
//上面2行需要表单的处理
LoginForm login=(LoginForm)form;
String username=login.getUsername();
String password=login.getPassword(); if(username!=null&&username.equals("lily"))
{
// request.getRequestDispatcher("/Success.html").forward(request, response);
return mapping.findForward("success");
}else{
// request.getRequestDispatcher("/Failure.html").forward(request, response);
return mapping.findForward("failure");
}
//上面的return需要调转页面的处理
// return null;
}
}
//LoginForm.java
package com.amaker.form;
import org.apache.struts.action.ActionForm;
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;
}
}
3.配置struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"> <struts-config>
<data-sources /> <form-beans>
<form-bean name="loginForm" type="com.amaker.form.LoginForm"></form-bean>
</form-beans>
//<form-beans>在.xml位置不能变不然会报错
//表格名字要与<action path="/login" //type="com.amaker.action.LoginAction" name="loginForm"> 相同
<global-exceptions />
<global-forwards /> <action-mappings>
<action path="/login" type="com.amaker.action.LoginAction" name="loginForm">
<forward name="success" path="/Success.html"></forward>
<forward name="failure" path="/Failure.html"></forward>
</action>
</action-mappings> <message-resources parameter="com.yourcompany.struts.ApplicationResources" />
</struts-config>
4.index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
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%>"> <title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head> <body>
<form name="f1" id="f1" action="<%=path%>/login.do" method="post">
<table border="0">
<tr>
<td>Username:</td>
<td><input type="text" name="username" ></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" name="password" id="password"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Login"></td>
</tr>
</table>
</form>
</body>
</html>
5.Failure.html
<!DOCTYPE html>
<html>
<head>
<title>MyHtml.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8"> <!--<link rel="stylesheet" type="text/css" href="./styles.css">--> </head> <body> faliure!.....
</body>
</html>
6.Success.html
<!DOCTYPE html>
<html>
<head>
<title>MyHtml.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8"> <!--<link rel="stylesheet" type="text/css" href="./styles.css">--> </head> <body>
Success!........
</body>
</html>
总结:
表单与Java类通过xml文件配置联系在一起,使使用时的类的名字更好记,而且易于改动