代码之家  ›  专栏  ›  技术社区  ›  MaX

Struts 2+Maven+Struts 2 Rest插件帮助

  •  2
  • MaX  · 技术社区  · 14 年前

    <?xml version="1.0" encoding="UTF-8"?>
    <project>
     <modelVersion>4.0.0</modelVersion>
     <groupId>tutorial</groupId>
     <artifactId>tutorial</artifactId>
     <packaging>war</packaging>
     <version>0.1</version>
     <name>Struts 2 Starter</name>
     <url>http://www.myComp.com</url>
     <description>Struts 2 Starter</description>
    
     <dependencies>
      <!-- Junit -->
      <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>3.8.1</version>
       <scope>test</scope>
      </dependency>
    
      <!--  Struts 2 -->
      <dependency>
                <groupId>org.apache.struts</groupId>
                <artifactId>struts2-core</artifactId>
                <version>2.1.6</version>
            </dependency>
            <dependency>
                <groupId>org.apache.struts</groupId>
                <artifactId>struts2-spring-plugin</artifactId>
                <version>2.1.6</version>
            </dependency>
            <dependency>
             <groupId>org.apache.struts</groupId>
             <artifactId>struts2-convention-plugin</artifactId>
             <version>2.1.6</version>
            </dependency>
            <dependency>
             <groupId>org.apache.struts</groupId>
             <artifactId>struts2-rest-plugin</artifactId>
             <version>2.1.6</version>
            </dependency>
    
    
      <!-- Servlet & Jsp -->
      <dependency>
       <groupId>javax.servlet</groupId>
       <artifactId>servlet-api</artifactId>
       <version>2.4</version>
       <scope>provided</scope>
      </dependency>
      <dependency>
       <groupId>javax.servlet</groupId>
       <artifactId>jsp-api</artifactId>
       <version>2.0</version>
       <scope>provided</scope>
      </dependency>
    
      <!-- Jakarta Commons -->
      <dependency>
       <groupId>commons-fileupload</groupId>
       <artifactId>commons-fileupload</artifactId>
       <version>1.1.1</version>
      </dependency>
    
      <!-- Dwr -->
      <dependency>
       <groupId>uk.ltd.getahead</groupId>
       <artifactId>dwr</artifactId>
       <version>1.1-beta-3</version>
      </dependency>
        </dependencies>
    
        <build>
          <finalName>tutorial</finalName>
         <plugins>
          <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                       <source>1.5</source>
                       <target>1.5</target>
                    </configuration>
                </plugin>
          <plugin>
           <groupId>org.mortbay.jetty</groupId>
           <artifactId>maven-jetty-plugin</artifactId>
           <version>6.1.5</version>
           <configuration>
            <scanIntervalSeconds>10</scanIntervalSeconds>
           </configuration>
          </plugin>
         </plugins>
        </build>
    </project>
    

    web.xml和struts.xml如下:

    web.xml文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="starter" version="2.4" 
             xmlns="http://java.sun.com/xml/ns/j2ee" 
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
             xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    
     <display-name>Struts 2 - Maven Archetype - Starter</display-name>
    
     <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath*:applicationContext*.xml</param-value>
     </context-param>
    
     <!-- Filters -->
        <filter>
            <filter-name>action2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
            <!-- filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class-->
        </filter>
    
        <filter-mapping>
            <filter-name>action2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    
     <!-- Listeners --> 
     <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
    
        <!-- Welcome file lists -->
        <welcome-file-list>
            <welcome-file>index.jsp</welcome-file>
            <welcome-file>default.jsp</welcome-file>
            <welcome-file>index.html</welcome-file>
        </welcome-file-list>
    
    </web-app>
    

    <?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.convention.action.suffix" value="Controller"/>
     <constant name="struts.convention.action.mapAllMatches" value="true"/>
     <constant name="struts.convention.default.parent.package" value="rest-default"/>
     <constant name="struts.convention.package.locators" value="example"/>
    
    </struts>
    

    现在我有包裹了 org.apache.struts2.rest.example 与班级 OrdersController.java (摘自struts2 rest showcase示例); 运行mvnjetty:run 点击网址: http://localhost:8080/tutorial/orders/

    1 回复  |  直到 14 年前
        1
  •  1
  •   MaX    14 年前

    struts.mapper.class=org.apache.struts2.dispatcher.mapper.DefaultActionMapper

    把它们注释掉,XML就会很有效(您将研究故事的其余部分)