文章目录
IDEA 用 Maven 搭建 struts2
本机环境
编译器:IDEA 2020.3.3
JDK 版本 : 1.8
Maven 版本 : 3.6.1
struts2:2.5.14.1
创建 web-app 项目
这个就利用 Maven 创建一个 webapp 项目。
初始目录如下:
配置 Pom.xml 文件
添加 struts2 的 依赖
<dependencies>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.5.14.1</version>
</dependency>
</dependencies>
配置 Web.xml
编辑 Web 应用的 web.xml 文件,增加 S t r u t s 2 Struts2 Struts2 核心 F i l t e r Filter Filter 的配置(注意:这是2.5版本的Struts 配置)
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<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>
</web-app>
配置 struts.xml (重点)
先再 s r c / m a i n src/main src/main 目录下 创建 两个包 : j a v a java java 和 r e s o u r c e s resources resources 。
然后进行以下操作:
将 j a v a java java 和 r e s o u r c e s resources resources 分别 m a r k mark mark 为 s o u r c e s sources sources 和 r e s o u r c e s resources resources 类型。
再在 r e s o u r c e s resources resources 目录下创建 s t r u t s . x m l struts.xml 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>
<package name="strutsBean" extends="struts-default" namespace="/">
<action name="login" class="cn.edu.zjut.action.UserAction">
<result name="success">/loginSuccess.jsp</result>
<result name="fail">/loginFail.jsp</result>
</action>
</package>
</struts>
配置好 T o m c a t Tomcat Tomcat ,运行后,如果 s t r u t s . x m l struts.xml struts.xml 文件出现在 t a r g e t / c l a s s e s target/classes target/classes 目录下,则说明成功了。
最后的目录如下:
为什么要放在resources目录下
**maven ** 项目中有一个目录标准,其中src(也就是sources)下的 .xml
文件构建时不会被输出到target/classes
目录下
Sources(src)目录下的.java文件会被编译成.class文件放在target目录下,其他如:.xml、.properties等文件会丢弃
Resources目录下的.java文件不会被编译成.class文件,直接与其他如:.xml、.properties等文件原封不动放在target目录下。
参考 https://blog.csdn.net/weixin_51417950/article/details/116376652
还有一种方法(但我没成功)
在 p o m . x m l pom.xml pom.xml 文件中增加配置
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>