jar包准备
第一步当然是准备jar包,然后copy到web项目的WebRoot/WEB-INF/lib下,maven项目除外。我是用的是IDE是Eclipse,所以默认的根目录是WebContent,无异。
主要jar包如下(并非全都必须,只是我要用要用到一些常用的包,例如日志log4j):
配置核心过滤器
Struts2的核心过滤器为StrutsPrepareAndExecuteFilter,我们只要在web.xml中配置一下这个过滤器就好了。过滤器全名为:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
<?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">
<display-name>S2Review</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<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>
</web-app>
核心配置文件(示例)
<?xml version="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">
<struts>
<!-- 引入其他配置文件 -->
<include file="strutsconfig/global.xml"/>
<!-- 设置struts2属性(此处为开启开发模式,spring整合) -->
<constant name="struts.devMode" value="true" />
<constant name="struts.objectFactory" value="spring" />
<!-- 分模块开发 -->
<package name="member" namespace="/member" extends="dgcrm-global">
<!-- 全局结果视图 -->
<global-results>
<result name="error">/error.jsp</result>
<result name="exception">/exception/exception.jsp</result>
<result name="err">/exception/error.jsp</result>
</global-results>
<!-- 配置action和对应的action类 因为此处与spring整合,所以class写beanname-->
<action name="memberList" method="memberList"
class="memberAction">
<result>../jsp/allBusi/member/memberListData.jsp</result>
</action>
<action name="getMemberJsp">
<!-- 只配置一个name默认为SUCCESS -->
<result>../jsp/allBusi/member/memberList.jsp</result>
</action>
<!-- 转发到另外一个aciton
dispatcher:默认结果类型。请求转发到一个页面。
redirect:请求重定向到一个页面。
chain:请求转发到另一个动作。
redirectAction:重定向到另外一个动作
stream:下载用的
plainText:以纯文本的形式展现内容
-->
<action name="ch">
<result type="chain">getMemberJsp</result>
</acction>
</package>
</struts>