zoukankan      html  css  js  c++  java
  • 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配置。

  • 相关阅读:
    猴子得到一堆桃,当天吃了一半之后,又多吃了1个。以后每天,猴子都吃了剩余的一半桃子之>后,又多吃一个。在第10天,只剩下1个桃子。输出这堆桃最初有多少个。
    打印9 9乘法表
    尝试实现一个管理系统, 名字和电话号分别用两个列表存储 =======通讯录管理系统======= 1.增加姓名和手机 2.删除姓名 3.修改手机 4.查询所有用户 5.根据姓名查找手机号 6.退出
    求结果
    背景流动
    1
    zuoye
    假期 作业1220
    python1217作业
    pythonzuoye20181212
  • 原文地址:https://www.cnblogs.com/banyu/p/6635603.html
Copyright © 2011-2022 走看看