一、項目整體結構圖
二、配置web.xml
將上一章中並介紹的jar包導入項目
然後在項目的web.xml中添加如下配置
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
三、編寫登陸界面(index.jsp) <body>
<form action="log.action">
用戶名:<input name="name"/>
密碼:<input name="password"/>
<input type="submit"/>
</form>
</body>
注意此處的action要與strus.xml中的action一致,並且此處沒有修改 struts.action.extension = do 所以爲log.action
四、配置strus.xml
<struts>
<package name="struts_user" namespace="/" extends="struts-default">
<action name="log" class="com.LogAction" >
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
該項必須添加,意識爲配置struts2框架裏的默認配置,如攔截器等
strus.xml中引入其他配置文件用 include,如: <include file="struts_admin.xml" />
這裏namespace和action name的配置關係了action url 的訪問,如此時爲
五、編寫actionpublic class LogAction {
private String name;
private String password;
private String message;
public String execute() {
if(this.name.equals("fuckTomorrow") && this.password.equals("yes")){
this.message="登錄成功";
return "success";
}
else{
this.message="登錄失敗";
return "error";
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
此處action獲取請求參數用的是屬性傳值 六、succes和error.jap
<body>
<s:property value="message"/>
</body>
此處用的是struts2標籤取值