之前在看struts2的官网案例的时候,发现官方网站上使用的maven进行项目的管理。我也在网上看到很多关于使用eclipse结合maven创建struts2项目的文章,但是都比较旧了,创建的步骤也比较繁琐,所以此篇文章介绍一下struts2在eclipse中使用maven怎么便捷创建方法。
首先,如你还没有在eclipse中集成maven,请先看之前写的一篇文章《Eclipse中Maven的集成》。
接下来,看看在eclipse中怎么创建struts2的项目。
一、创建一个Web项目。
在eclipse的左上角“File”-->"New"-->"Other",选择Maven,点击Maven Project。之后点击“Next”直到如下界面:
点击Next之后进入如下界面:
点击“Finish”之后工程就创建完毕,在eclipse中创建完工程之后,可能会出现如下错误(没有出现当然更好了):
解决办法:
工程上点击右键,选择“Build Path”-->"Configuration Build Path"--->选择add library-->“Server RunTime” ---> 选择“Apache Tomcat ........”,最后点击确定就行了。
二、配置struts2所需的Jar文件。
在pom.xml中添加如下依赖:
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.5.5</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
直接复制粘贴进去就行;(第2中方式)或者点击项目右键---Maven--Add Dependency,之后出现如下面板(如果打开面板不能自动搜索,可以看这篇文章Eclipse使用Maven自动添加依赖):
如图搜索到struts2-core之后,点击“OK”即可。这样就是通过GUI的方式添加了依赖。
三、添加og4j.xml配置文件(此文件是log4j的配置项,用于辅助struts完成日志输出)。
在src/main/resources文件夹下创建log4j.xml,并且加入如下内容:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p %c.%M:%L - %m%n"/>
</layout>
</appender>
<!-- specify the logging level for loggers from other libraries -->
<logger name="com.opensymphony">
<level value="DEBUG" />
</logger>
<logger name="org.apache.struts2">
<level value="DEBUG" />
</logger>
<!-- for all other loggers log only info and above log messages -->
<root>
<priority value="INFO"/>
<appender-ref ref="STDOUT" />
</root>
</log4j:configuration>
<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>
这是struts2的核心过滤器,一切请求将通过此过滤器进行分发。
五、创建一个java类,并集成ActionSupport,代码如下:
package strutsdemo;
import com.opensymphony.xwork2.ActionSupport;
public class IndexAction extends ActionSupport{
@Override
public String execute() throws Exception {
System.out.println("------------------");
return "success";
}
}
六、添加并配置struts.xml文件
在src/main/resources文件夹下创建struts.xml,并且加入如下内容:
<?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>
<constant name="struts.devMode" value="true" />
<package name="basicstruts2" extends="struts-default">
<action name="index" class="strutsdemo.IndexAction">
<result>/index.jsp</result>
</action>
</package>
</struts>
七、部署项目到Tomcat,然后在浏览器输入地址:http://localhost:8080/项目名称/index.action。然后回车,就可以成功执行了。