首先我之前有写过如何配置waven项目的支持可以去看看,点击一下即可
就是在配置方面会出现许多的意外,现在就来回顾一下,如何在maven项目中创建Struts2的支持
在maven项目中添加Struts2的支持
1、环境搭建之导入依赖
在maven的官方网站中查找Struts2,找到对应的版本,对依赖进行复制粘贴,导入到pom.xml中。
位置:在dependencies标签中间,可以在url下面加上
<url>http://maven.apache.org</url>
<properties>
<struts2.version>版本号</struts2.version>
</proerties>
这样的话,及时在当导入的依赖比较多时,会全省去一些步骤,
在对应的依赖中只需用${标签名}调用即可
2、环境搭建之配置web.xml
因为我们导的是别人的jia包,我们也不知道别人的中央控制器的名字,况且每个版本的中央中央控制器的版本还不一样,所以说提前找到了Struts2 5.1.44的webxml的一个配置,过滤所有的页面
<!-- 配置中央处理器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3、环境搭建之配置struts核心依赖
在resource目录下建一个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>
在这个中间写标签是没有提示的,所以我们还需要配置一个dtd
add
这个本地的dtd可以下载好的依赖中找到
4、环境搭建之配置struts全局属性文件
秉着分工合作的原理就是可以把全局属性分开放到两个.xml的配置文件中保存下来
建一个base.xml,中间放一些配置的基础文件,不需要再修改的内容,
<struts>
<!-- 配置编码模式 -->
<constant name="struts.i18n.encoding" value="UTF-8" />
<!-- 是否使用开发模式 -->
<constant name="struts.devMode" value="true" />
<!-- 是否修改了xml文件之后使用热加载 -->
<constant name="struts.configuration.xml.reload" value="true" />
<!-- 在 HTTP 请求达到时, 是否每次都装载资源文件-->
<constant name="struts.i18n.reload" value="true" />
<!-- strus2 2.3版本,设置了 Struts 2 是否支持动态方法调用 -->
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<!-- 定义全局的正则表达式来匹配方法,那边使用通配符来调用 -->
<package name="base" extends="struts-default">
<global-allowed-methods>regex:.*</global-allowed-methods>
</package>
</struts>
另外建一个.xml来处理映射问题,里面调用action之类的就在这个里面配置
<struts>
<!-- package就代表在访问这个action前要进的一个域名 name:那个访问的名字,extends:就代表是调用那个约束 -->
<package name="book" namespace="/book" extends="base">
<!-- 每个action都需要配置,name:访问action的名字 calss:action类的全限定名 method: 通配符,让其根据反射的原理匹配到action中的方法 -->
<action name="bookaction_*" class="com.zking.st.action.BookAction" method="{1}">
<!--每写一个返回值,就需要配一个result name: 返回指得内容,页面跳转到那里去 -->
<!-- type: redirect--重定向到一个页面 redirectAction--跳转到需要的action dispatcher--转发(默认是这个) -->
<result name="index" type="">/index.jsp</result>
</action>
</package>
</struts>
在这个写完了之后,要使其也核心配置文件产生交互
在核心配置文件中需要加入如下代码
<include file="struts-base.xml"/>
<include file="struts-sys.xml"/>
在maven项目中配置Struts2的就完成了,现在就可以直接写action然后再调用即可·