使用了一阵子struts2,但是一直没能好好整理一下,所以将平时学习工作中的一些心得记录一下,温故知新,时刻保持空杯心态。
环境如下
系统:64位win7
测试环境:
先从一个helloworld的简单案例开始吧
新建一个maven项目,选择
其实不论使用哪个框架技术,都无非三步走,import,config,run,首先,我们import
因为使用maven来管理项目,所以直接添加struts2的依赖到pom.xml
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.3.7</version>
</dependency>
之后,我们开始config,具体配置哪些呢,首先要让struts2去过滤请求,那么肯定要在web.xml中配置struts2的过滤器,然后还需要让struts2知道请求和控制器之间的关系,那么肯定还需要再给struts2单独进行配置。
首先添加struts2的过滤器到web.xml中
<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>/*</url-pattern>
</filter-mapping>
其次添加struts2的配置struts.xml,特别说一下constant的name值是配置在org.apache.struts.default.properties中的,还有其他常用的常量,比如struts.action.extension=action,,,请求后缀等
配置头部的dtd在jar包中会有struts-2.X.dtd的配置,也不用到处搜索了。
<?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>
<constant name="struts.devMode" value="true" /><!-- 开发模式开启,能够显示更详细的异常信息-->
<package name="helloworld" extends="struts-default" namespace="/"><!-- struts-default这个包是一定要继承的,否则struts很多重要功能会失效-->
<action name="hello" <!-- action的名称,namespace的值连接/hello表示请求该action -->
class="demo.action.HelloWorld"><!-- class表示该action的位置,在action的配置中,如果不指定调用哪个方法,则默认调用execute方法 -->
<result name="success">/helloWorld.jsp</result><!-- action的返回结果,以及相应的视图 -->
</action>
</package>
</struts>
action的内容
package demo.action;
public class HelloWorld {
public String execute() {
System.out.println("Hello Struts2");
return "success";
}
}
整个配置的过程就是这样了,非常简易。