我们一共需要做三步:
1)导jar包
2)配置struts2所必须的拦截器
3)在src下创建并配置struts.xml文件
4)创建action类
one by one
struts2并没有像hibernate一样给我对jar包进行分类,还得需要我们自己挑选,其实不用,我们可以在他的案例中复制jar包。
然后在xml中配置拦截器
<?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_3_0.xsd" id="WebApp_ID" version="3.0">
<!-- 配置struts2必须的拦截器 -->
<filter>
<filter-name>StrutsPrepareAndExecuteFilter</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>StrutsPrepareAndExecuteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
创建action类,可以是POJO类,也可以是实现Action接口的类,还可以是继承ActionSupport的类。在这里我们是POJO
public class TestAction {
public String execute() throws Exception {
System.out.println("hello struts2");
return "success";
}
}
然后我们配置struts.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<!-- 在struts中进行常量配置 -->
<constant name="struts.action.extension" value="do,,"></constant>
<constant name="struts.devMode" value="true"></constant>
<constant name="" value=""></constant>
<!-- name:包名;namespace:命名空间url项目名称/命名空间/Action; extends:继承自哪个默认配置文件 -->
<package name="one" namespace="/hello" extends="struts-default">
<!-- name:action的名称;class:action的类路径 -->
<action name="TestAction" class="action.TestAction" method="execute">
<!-- name:匹配返回结果字符串;type:指定用哪个result类来处理结果,比如转发,重定向 -->
<result name="success" type="redirect">/success.jsp</result>
</action>
</package>
</struts>
相关的配置说明用注释的形式解释的很清楚了,我就不提了。
我们这个包继承自struts-default包,这里面为我们制定了一些默认配置,在接下来的文章中将更加详细的研究它。他在struts2-core-2.3.32.jar根目录下面。
那么这些常量是否有默认配置呢?答案是有的,他在struts2-core-2.3.32.jar的org.apache.struts2包下面的default.properties文件中