一、引入struts包
java
二、在WEB-INF目錄下編寫簡單的login.jsp頁面(V層);web
<form action="/Strutstest/login.do" method="post"> apache
U:<input type="text" name="username"/><br/> session
P:<input type="password" name="password"/><br/> mvc
<input type="submit" value="login"/> app
</form>dom
三、建立用戶表單類UserForm存放數據(M層,相似domian/javabean層):jsp
Java代碼 ide
/** post
* 用戶表單類,用於填充數據
*/
package com.lh.forms;
import org.apache.struts.action.ActionForm;
public class UserForm extends ActionForm {
//在這裏爲了規範:定義屬性名時應該和JSP頁面的控件名稱同樣
//實際只需保證set和get方法和屬性名有關聯 set屬性名
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,繼承Action,對應UserForm表單。(C層,處理請求,相似mvc中servlet)
Java代碼
package com.lh.actions
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.lh.forms.UserForm;
/**
* 登錄Action,用於處理登錄請求
*/
public class LoginAction extends Action{
//execute自動調用,
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
//將Form強轉爲UserForm
UserForm userForm = (UserForm)form;
String password = userForm.getPassword();
if("132".equals(password))
return mapping.findForward("OK");
else
return mapping.findForward("ON");
}
}
五、在WEB-INF下新建一個名爲config的文件夾,在config文件夾裏面建立名爲struts-config.xml文件(創建Action和ActionForm 的對應關係);
Xml代碼
<?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>
<!-- name爲表單名字,能夠隨意,建議取名:表單類名的小寫 -->
<!-- type用於指定表單類的全路徑 -->
<form-bean name="userForm" type="com.lh.forms.UserForm"></form-bean>
</form-beans>
<!-- 配置action -->
<action-mappings>
<!-- path:未來訪問action的uri name必須和表單名相同,用於關聯某個表單 type:指定action的全路徑-->
<!-- scope:指定該action對應的表單對象的生命週期爲request級別 ,默認爲session-->
<action path="/login" name="userForm" scope="request" type="com.lh.actions.LoginAction">
<!-- 這裏配置跳轉關係 name:結果名稱 path:轉發頁面-->
<forward name="ok" path="/WEB-INF/ok.jsp"></forward>
<forward name="error" path="/WEB-INF/error.jsp"></forward>
</action>
</action-mappings>
</struts-config>
六、配置WEB-INF目錄下的web.xml文件,配置struts入口
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/config/struts-config.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
七、最後在WEB-INF目錄下編寫ok.jsp和error.jsp頁面
Html代碼
<body> Oh_ my god! </body>