Struts2核心控制器(指挥官),决定了请求分配给哪个控制类来处理。
**请求处理类:**之前——servlet承担该角色;
现在——action类承担该角色;
**好处:**剥离servlet类中的部分操作,并处理类更简化;
处理类专注于获取请求参数,调用业务层获取结果数据。
**Action类:**数据转移的场所。
一、 准备Struts2-jar包;
二、 右击项目-MyEclipse-AddStuts-选择Struts2 2.1/.action或/-勾选取消MyEclipse提供的jar包-finish;
三、 在src/action包下创建UserAction类
package action;
import com.opensymphony.xwork2.Action;
public class UserAction implements Action {
private String userName;
public String getUserName() {
return userName;
public void setUserName(String userName) {
this.userName = userName;
}
@Override
public String execute() throws Exception {
System.out.println(userName);
return "success";
}
}
四、在src/struts.xml配置文件下的标签内
//name=”” 既表示名称,又代表路径
// extends="struts-default",继承Struts2框架内的功能
<struts>
<package name="user" namespace="/" extends="struts-default">
<action name="login" class="action.UserAction">
<result name="success">success.jsp</result>
<result name="error">fail.jsp</result>
</action>
</package>
</struts>
五、 不继承Action
package action;
import com.opensymphony.xwork2.Action;
public class UserAction {
private String userName;
private String msg;
private int age;
//用户登录
public String login() throws Exception {
System.out.println("===========");
System.out.println(userName);
msg = "welcome: " + userName;
System.out.println(msg);
System.out.println(age);
System.out.println("===========");
return "success";
}
//用户退出
public String logout(){
System.out.println("退出成功!");
return "success";
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
//配置文件
//action-name就是方法名
<struts>
<package name="user" namespace="/" extends="struts-default">
<action name="login" class="action.UserAction" method="login">
<result name="success">success.jsp</result>
<result name="error">fail.jsp</result>
</action>
<action name="logout" class="action.UserAction" method="logout">
<result name="success">success.jsp</result>
<result name="error">fail.jsp</result>
</action>
</package>
</struts>