• struts2+hibernate-jpa+Spring+maven 整合(1)


    1.0.0 struts2 与 spring 的整合.

    1.1.0 新建maven工程 , 编写pom.xml ,这里只需要简单的添加 一个组件就够了:

    在myeclipse 生成的pom.xml 添加如下代码:

     <dependency>
                <groupId>org.apache.struts</groupId>
                <artifactId>struts2-spring-plugin</artifactId>
                <version>2.3.16</version>
            </dependency>

    结果如下:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>cc.jorcen.msai</groupId>
        <artifactId>mport</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>war</packaging>
        <name />
        <description />
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        </properties>
        <dependencies>
            <dependency>
                <groupId>org.apache.struts</groupId>
                <artifactId>struts2-spring-plugin</artifactId>
                <version>2.3.16</version>
            </dependency>
    
    
    
            <!-- J2EE COMMONS-->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jstl</artifactId>
                <version>1.2</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.servlet.jsp</groupId>
                <artifactId>jsp-api</artifactId>
                <version>2.1</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.glassfish</groupId>
                <artifactId>javax.annotation</artifactId>
                <version>3.0.1</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish</groupId>
                <artifactId>javax.ejb</artifactId>
                <version>3.0.1</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld</groupId>
                <artifactId>weld-osgi-bundle</artifactId>
                <version>1.0.1-SP3</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish</groupId>
                <artifactId>javax.servlet</artifactId>
                <version>3.0.1</version>
            </dependency>
        </dependencies>
        <build>
            <plugins>
                <plugin>
                    <artifactId>maven-war-plugin</artifactId>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>1.6</source>
                        <target>1.6</target>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </project>

    1.2.0 添加spring-application.xml 文件

    <?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"
        xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
        xmlns:p="http://www.springframework.org/schema/p" xmlns:cache="http://www.springframework.org/schema/cache"
    
        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   
              http://www.springframework.org/schema/aop   
              http://www.springframework.org/schema/aop/spring-aop-3.0.xsd   
              http://www.springframework.org/schema/tx    
              http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
              http://www.springframework.org/schema/cache 
              http://www.springframework.org/schema/cache/spring-cache-3.0.xsd">
        <context:annotation-config  />
        <context:component-scan base-package="com.sai" />
    
        <aop:config />
    
    </beans>

    1.3.0 添加struts.XML 文件

    <?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>
        <package name="package-default" namespace="/" extends="struts-default">
            <action name="*" class="{1}Action" />
        </package>
    </struts>    

    1.4.0 添加struts.properties 文件

    struts.devMode=true
    struts.ui.theme=simple
    struts.action.extension=cy,action,do
    struts.multipart.maxSize=30485760
    struts.i18n.encoding=utf-8
    struts.custom.i18n.resources=MessageResource,globalMessage
    struts.configuration.xml.reload=false
    struts.locale=zh_CN
    struts.enable.DynamicMethodInvocation=true
    struts.objectFactory=spring

    1.5.0 修改web.xml文件

    <?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">
        <!-- contextConfigLocation -->
        <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>
        <filter>
            <filter-name>struts2</filter-name>
            <filter-class>
                org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>*.cy</url-pattern>
        </filter-mapping>
        <display-name></display-name>
        <welcome-file-list>
            <welcome-file>index.jsp</welcome-file>
        </welcome-file-list>
    </web-app>

    1.6.0 添加测试类

    package com.sai.test.action;
    
    import org.apache.struts2.ServletActionContext;
    import org.springframework.context.annotation.Scope;
    import org.springframework.stereotype.Controller;
    
    import com.opensymphony.xwork2.ActionSupport;
    
    @Controller
    @Scope("prototype")
    public class TestAction extends ActionSupport {
    
        public TestAction() {
            super();
            System.out.println(TestAction.class);
        }
    
        @Override
        public String execute() throws Exception {
            System.out.println(SUCCESS);
            ServletActionContext.getResponse().getWriter().print(SUCCESS);
            return null;
        }
    
        public static void main(String[] args) {
            System.out.println(TestAction.class);
        }
    }

    1.7.0 测试

    http://localhost:8080/mport/test.cy

    结果

    success

    到此struts2-spring 集成成功.
  • 相关阅读:
    获取URL中参数
    Javascript this指针
    10分钟了解C#中的协变和逆变
    BCB写的简单的EXCEL合并
    Codeforces Round #316 (Div. 2) D
    Codeforces Round #316 (Div. 2) E
    fzu1873 Coin Puzzle
    hdu 3629 Convex
    几何统计 ACM ICPC
    hdu 5135 Little Zu Chongzhi's Triangles
  • 原文地址:https://www.cnblogs.com/mjorcen/p/3709337.html
Copyright © 2020-2023  润新知