.action
结尾的请求,因此我们可以使用这个默认的,但是我们也可以自己配置自己的,下面我配置的是所有的请求都分发web.xml
中配置 <!-- 配置struts2的核心过滤器 -->
<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>
<!-- struts2中默认的访问路径是以.action结尾的路径才会分发,
因此我们这里需要设置即使不是.action结尾的也能分发请求给对应的action -->
<url-pattern>/*</url-pattern>
</filter-mapping>
Action
接口,一种是继承ActionSupport
,这个在第二章会详细讲解import com.opensymphony.xwork2.Action;
/**
* action类: 这里实现的Action接口
* @author chenjiabing
*/
public class TestAction implements Action {
@Override
public String execute() throws Exception {
System.out.println("cchjemko");
return SUCCESS;
}
}
struts.xml
src
目录下,或者自己创建的源文件夹的根目录下<?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是这个package的名字,唯一标识
extends: 该属性是一个选择属性,表示继承其他的包,但是我们一般都会继承struts-default
namespace:该属性是一个可选属性,指定该包的命名空间,默认的是“/”,以为一个配置文件中可能有相同名字的action,如果配置不同的namespace,那么就可以配置相同的action的名字,这个和调用执行请求的url息息相关
-->
<package name="test" extends="struts-default" namespace="/">
<!-- 配置测试的action类,其中name是调用的别名,class是Action类的全路径 类名+包名-->
<action name="testaction" class="com.jsnu.struts2.controller.TestAction" >
<!--name是Action类中返回的值,/jsp/success.jsp是对应的跳转视图,这里如果返回success,那么跳转到/jsp/success.jsp这个视图-->
<result name="success">/jsp/success.jsp</result>
</action>
</package>
</struts>
webContent
下创建一个jsp文件夹,在其中创建一个success.jsp
文件http://localhost:8080/Struts2/testaction.action
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。