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>
|