步骤:
1、 STRUTS2第一个程序
1) 导包
2) 配置WEB.XML
3) 配置STRUTS.XML
4) 创建ACTION类
action类:
package action;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import com.opensymphony.xwork2.ActionContext;
public class MyTestAction implements ServletRequestAware, ServletResponseAware {
private String name;
private String res;
HttpServletRequest req;
HttpServletResponse rep;
public String getRes() {
return res;
}
public void setRes(String res) {
this.res = res;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String execute() {
// request.getAttibute()
// ActionContext.getContext().get("");
// req.setAttribute("xue", "xue");
// try {
// rep.getWriter();
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
System.out.println(name);
setRes("welcome");
return "success";
}
@Override
public void setServletRequest(HttpServletRequest request) {
// TODO Auto-generated method stub
req = request;
}
@Override
public void setServletResponse(HttpServletResponse response) {
// TODO Auto-generated method stub
rep = response;
}
}
struts.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="s1" namespace="/mta1" extends="struts-default">
<action name="test" class="action.MyTestAction">
<result name="success" type="dispatcher">
/main.jsp
</result>
</action>
</package>
<package name="s2" namespace="/mta2" extends="struts-default">
<action name="test" class="action.MyTestAction2">
<result name="success2" type="dispatcher">
/main.jsp
</result>
</action>
</package>
<!-- 指定调用方法与动态调用方法方式 -->
<package name="s3" namespace="/mta3" extends="struts-default">
<action name="test" class="action.MyTestAction4" method="mymethod">
<result name="mym" type="dispatcher">
/main.jsp
</result>
</action>
</package>
<!-- method动态调用方法方式 -->
<package name="s4" namespace="/mta4" extends="struts-default">
<action name="*test" class="action.MyTestAction4" method="{1}">
<result name="mta4" type="dispatcher">
/main.jsp
</result>
</action>
</package>
<package name="s5" namespace="/mta5" extends="struts-default">
<interceptors>
<interceptor name="myinter" class="action.MyInterceptor">
</interceptor>
</interceptors>
<action name="test" class="action.MyTestAction5" method="Five">
<result name="five1" type="redirect">
/main.jsp
</result>
<result name="five" type="chain">
sixtest
</result>
</action>
<action name="sixtest" class="action.MyTestAction6" method="Six">
<interceptor-ref name="myinter">
</interceptor-ref>
<interceptor-ref name="defaultStack">
</interceptor-ref>
<result name="six" type="dispatcher">
/main.jsp
</result>
</action>
</package>
</struts>
测试:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>index.jsp</title>
</head>
<body>
<a href="mta5/sixtest.action?name1=1">go</a>
</body>
</html>