回忆
在上一篇博客SSH学习之Struts2的第一个Action中已经介绍了Struts2的环境搭建。接下来这一篇博客就介绍Struts2的第一个Action测试。
Struts2的第一个Action
相信如果大家导入了struts.xml之后会发现里面会有很多标签,在这里先不要深究以免糊涂。
我们将struts标签下的其他标签删除。变成如下所示
<?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>
</struts>
第一步:创建一个Java类
Struts2中一个Action就是一个Java类。创建一个Java类TestAction,让其继承ActionSupport类,重写类中的execute方法。
说明:
SUCCESS是继承过来的一个字符串常量,其值就是"success"。
package action;
import com.opensymphony.xwork2.ActionSupport;
public class TestAction extends ActionSupport {
@Override
public String execute() throws Exception {
return SUCCESS;
}
}
第二步:在struts.xml配置Action中配置
<?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="default" namespace="/" extends="struts-default">
<action name="testAction" class="action.TestAction" method="execute">
<result name="success">/success.jsp</result>
</action>
</package>
</struts>
说明:
- package:相当于Java项目中的包配置,这是必须的。
- name:必选。为包去一个名字,可以自定义。
- namespace:可选。默认是/。
- extends:必选。而且现阶段必须写成struts-default。
- action
- name:必选。自定义值,值会和namespace的值构成action的访问路径。
- class:必选。Action的全路径。
- method:可选。默认值是execute,它是Action中药访问的方法名。
- result:标签内容是跳转路径/success.jsp
- name:必选。这是action中方法的返回值。
第三步:在web.xml中配置Struts2的过滤器
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>SSH_Struts2</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- 配置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>
<url-pattern>*.action</url-pattern>
</filter-mapping>
</web-app>
第三步:访问Action
最后就是发布项目,启动Tomcat服务器,通过浏览器访问地址:http://localhost:8080/项目名/testAction.action。发现会跳转到一个成功页面(该页面必须存在),说明测试成功。结语
这是我学了Struts2之后总结的第一个action。现在想一想第一次做Action的时候真的是漏洞百出,很折磨人
,所以刚开始的时候要有耐心。有错误不用怕,我就是喜欢错误,然后各种百度总结
,在后期阶段应该会总结一下我所遇到的问题。


这是我的一些理解了,希望见谅
。
