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配置。

原文地址:https://www.cnblogs.com/banyu/p/6635603.html