Maven项目 Struts和Spring整合
标签: 框架
上网找了很久教程,终于成功搭建起了项目,真心不容易,且行且珍惜。
一. 新建项目
1.新建maven项目,右击,new,project,Maven project,next,next,选择maven-archetype-webapp,next,输入GroupId和ArtifactId,Finish。
2.为了避免乱码,将项目编码换成UTF-8,具体右击项目,“属性”。
3.把JRE编辑一下,改成Workspace default JRE,项目目录会变好。
4.jsp报错,在pom.xml引入JaveEE。
<!-- 导入java ee jar 包 -->
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
</dependency>
5.进入MyEclipse,Project Facets,把Dynamic Web Module选3.0,Java选1.7,勾选JSTL。
6.run as,Maven install,没有报错项目新建成功。
7.可能maven会报编码GBK错误,在pom.xml中添加一下即可。
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
二. 配置struts
1.引入jar包
<!-- Struts2的核心包 -->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.3.16</version>
</dependency>
<!-- convention-plugin插件,使用了这个插件之后,就可以采用注解的方式配置Action -->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-convention-plugin</artifactId>
<version>2.3.20</version>
</dependency>
<!--config-browser-plugin插件,使用了这个插件之后,就可以很方便的浏览项目中的所有action及其与 jsp view的映射 -->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-config-browser-plugin</artifactId>
<version>2.3.20</version>
</dependency>
2.编写struts.xml并放在src/main/resources文件夹,如下,想加功能随便
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.i18n.encoding" value="utf-8" />
<package name="basePackage" extends="struts-default">
</package>
</struts>
3.在web.xml中配置Struts2的过滤器
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- Struts2的核心过滤器配置 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<!-- Struts2过滤器拦截所有的.action请求 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
</web-app>
4.编写测试Action。
5.run as,Maven install,没有报错配置struts成功。
6.部署到tomcat,可访问即可。
三. 配置spring
1.引包
<!-- spring3 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
<!--aspectjweaver包 -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.5</version>
</dependency>
2.编写spring.xml配置文件,并放在src/main/resources目录下。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
">
<!-- 引入属性文件,config.properties位于src/main/resources目录下 -->
<context:property-placeholder location="classpath:properties" />
<!-- 自动扫描dao和service包(自动注入) -->
<context:component-scan base-package="com.xxx.dao,com.xxx.service" />
</beans>
3.创建properties文件来存储数据信息,并放在src/main/resources目录下。
4.编写测试Service和DAO,使用注解来标注这些类使用spring来加载。
5.JUnit测试。
6.run as,Maven install,没有报错配置struts成功。
7.部署到tomcat,可访问即可。
四. 整合struts和spring
1.引入插件包。
<!-- Struts2和Spring整合插件 -->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>2.3.4.1</version>
</dependency>
2.在struts.xml中添加spring支持。
<!-- 指定由spring负责action对象的创建 -->
<constant name="struts.objectFactory" value="spring" />
3.修改代码,使用@Autowire注解自动注入。
4.修改web.xml文件,添加以下
<!-- Spring配置文件位置 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
5.部署到tomcat,可访问即可。
参考原文:http://blog.csdn.net/fenyu8/article/details/52997784
原文中缺少了整合spring和struts时的web.xml配置。