1、配置流程
(1)web.xml文件(在web目录下的WEB-INF目录里面):对过滤器进行配置(这里是统一的)
"1.0" encoding="UTF-8"?>"http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> struts2 class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter class>struts2 /*
(2)页面部分:用于测试是否能访问到目标页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>hello hello word!
(3)struts.xml:在src目录下
(4)书写Action类:这里统一采用继承ActionSupport类的方式创建Action类
2、请求转发(默认方式)
(1)struts.xml文件配置:
"1.0" encoding="UTF-8"?> DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">"hello" namespace="/hello" extends="struts-default"> "HelloAction" class="pers.zhb.hello.HelloAction" method="execute"> "success" type="dispatcher">/hello.jsp
result标签内部的属性被定义为请求转发的方式,请求转发为默认的访问方式,即使不配置该属性依旧以请求转发的方式访问hello.jsp
(2)Action类
public class HelloAction extends ActionSupport { public String execute() { return "success"; } }
(3)测试结果
3、重定向
(1)struts.xml配置文件
"hello" namespace="/hello" extends="struts-default"> "HelloAction" class="pers.zhb.hello.HelloAction" method="execute"> "success" type="redirect">/hello.jsp
(2)测试结果:
4、从一个Action请求转发到另外一个Action
(1)struts.xml配置文件:
"hello" namespace="/hello" extends="struts-default"> "HelloAction1" class="pers.zhb.hello.HelloAction1" method="execute"> "success" type="redirect">/hello.jsp "HelloAction2" class="pers.zhb.hello.HelloAction2" method="execute"> "success" type="chain"> "actionName">HelloAction1 "namespace">/hello
其中package和param中的namespace属性的指定的值要保持一致,第一个param中的值为要请求转发到的Action的名称。
(2)创建两个Action:
Action1:
public class HelloAction1 extends ActionSupport { public String execute() { System.out.println("我是HelloAction1!"); return "success"; } }
Action2:
public class HelloAction2 extends ActionSupport { public String execute() { System.out.println("我是HelloAction2!"); return "success"; } }
(3)测试结果:
浏览器:
控制台:
(4)运行流程
5、从一个Action重定向到另外一个Action
(1)struts.xml配置文件:
<package name="hello" namespace="/hello" extends="struts-default"> class="pers.zhb.hello.HelloAction1" method="execute"> /hello.jsp class="pers.zhb.hello.HelloAction2" method="execute"> package>HelloAction1 /hello
(2)创建两个Action
(3)测试结果:
(4)访问流程: