Struts2配置
1. Action開發的三種方式
1.1 繼承ActionSupport
import com.opensymphony.xwork2.ActionSupport;
public class UserAction2 extends ActionSupport{
public String login() {
System.out.println("UserAction.login()運行!");
return "success";
}
}
1.2 繼承接口Action
import com.opensymphony.xwork2.Action;
public class UserAction3 implements Action {
public String login() {
return SUCCESS;
}
public String execute() throws Exception {
// TODO Auto-generated method stub
return null;
}
}
1.3 不繼承任何接口、類
public class UserAction {
private String userName;
public void setUserName(String userName) {
this.userName = userName;
}
public String login() {
System.out.println("111" + userName);
return "success";
}
}
struts.xml 配置:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="config" namespace="/" extends="struts-default" abstract="false">
<action name="login" class="com.appp.a_config.UserAction" method="login">
<result name="success">/success.jsp</result>
</action>
</package>
</struts>
2.通配符
<struts>
<package name="config" namespace="/user" extends="struts-default" abstract="false">
<!--
<action name="login" class="com.appp.a_config.UserAction" method="login">
<result name="success">/success.jsp</result>
</action>
<action name="register" class="com.appp.a_config.UserAction" method="register">
<result name="success">/index.jsp</result>
</action>
-->
<!-- 使用通配符優化 -->
<action name="user_*" class="com.appp.a_config.UserAction" method="{1}">
<!-- {1}是指第一個*號 -->
<result name="success">/success.jsp</result>
</action>
</package>
</struts>
3.路徑匹配原則
<package name="config" namespace="/user" extends="struts-default" abstract="false">
<action name="login" class="com.appp.a_config.UserAction" method="login">
</action>
</package>
訪問路徑:
http://localhost:8080/mystruts/user/user_login √
http://localhost:8080/mystruts/user/A/B/C/user_login √
http://localhost:8080/mystruts/A/B/C/user/user_login ×
Tomcat過程:
localhost—- 找到訪問哪臺機器
8080—- 找到tomcat服務
mystruts—- 找到項目名稱
/user/A/B/C—- 找有沒有這個名稱空間,沒找到向下找;找到返回
/user/A/B—- 找有沒有這個名稱空間,沒找到向下找;找到返回
/user/A—- 找有沒有這個名稱空間,沒找到向下找;找到返回
/user—- 找有沒有這個名稱空間,沒找到向下找;找到返回
/ —- 找默認名稱空間,沒找到,報錯!