<servlet>
<servlet-name>webappServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/conf/webapp-dispatcher.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>webappServlet</servlet-name>
<url-pattern>/web/*</url-pattern>
</servlet-mapping> <servlet>
<servlet-name>wapappServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/conf/wapapp-dispatcher.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>wapappServlet</servlet-name>
<url-pattern>/wap/*</url-pattern>
</servlet-mapping>
以上 如果使用 /wap/index 或者/web/index则能准确匹配,但是使用*号 或者直接使用/web/之类则全部报404错误。在线等 很急 谢谢

解决方案 »

  1.   


    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/aop 
    http://www.springframework.org/schema/aop/spring-aop-3.0.xsd 
    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/mvc 
    http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd 
    http://www.springframework.org/schema/tx 
    http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
    <context:component-scan base-package="com.ldns.spring.web.webapp"></context:component-scan> <!-- 启动对@aspectj注解的支持 -->
    <aop:aspectj-autoproxy />
    <!-- 扫描通过annotation注解的bean -->
    <mvc:annotation-driven />

    <mvc:resources mapping="/resources/**" location="/resources/" />
    <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->
    <bean
    class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
    <!-- freeer 试图解析器 -->
    <bean
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/views/webapp/" />
    <property name="suffix" value=".jsp" />
    <property name="contentType" value="UTF-8" />
    </bean></beans>
    这个是webapp-dispatcher.xml代码。。
    wapapp-dispatcher.xml和上面是一模一样的 只是base-package 和<property name="prefix" value="/WEB-INF/views/webapp/" />不一样
      

  2.   

    提示错误是:stdout: |WARN | No mapping found for HTTP request with URI [/mvc/wap/index] in DispatcherServlet with name 'wapappServlet' | 2012-12-17 15:30:43176 | org.springframework.web.servlet.DispatcherServlet.noHandlerFound(DispatcherServlet.java:1080) 
      

  3.   

    确定配置成/*和/web/* 不能访问么,你访问路劲是什么
      

  4.   

    <servlet>         <servlet-name>webappServlet</servlet-name>         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>         <init-param>             <param-name>contextConfigLocation</param-name>             <param-value>/WEB-INF/conf/webapp-dispatcher.xml</param-value>         </init-param>         <load-on-startup>1</load-on-startup>     </servlet>     <servlet-mapping>         <servlet-name>webappServlet</servlet-name>         <url-pattern>/web/*</url-pattern>     </servlet-mapping>       <servlet>         <servlet-name>wapappServlet</servlet-name>         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>         <init-param>             <param-name>contextConfigLocation</param-name>             <param-value>/WEB-INF/conf/wapapp-dispatcher.xml</param-value>         </init-param>         <load-on-startup>1</load-on-startup>     </servlet>     <servlet-mapping>         <servlet-name>wapappServlet</servlet-name>         <url-pattern>/wap/*</url-pattern>     </servlet-mapping> 
    2个名字一样的servlet?似乎按照你的说法的话是下面这个servlet有效
      

  5.   

    楼上说的对,2个servlet名字都是webappServlet。
      

  6.   

    问题点:
    1、2个servlet名称冲突,那么第一个servlet将被第二个servlet覆盖,第一个servlet将失效2、关于<url-pattern>/web/*<url-pattern>尽量避免使用web这样的关键字,以免出现莫名奇妙的错误。
    以上两点希望对你有所帮助。
      

  7.   


    <servlet>
    <servlet-name>webappServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/conf/webapp-dispatcher.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>webappServlet</servlet-name>
    <url-pattern>/web/*</url-pattern>
    </servlet-mapping> <servlet>
    <servlet-name>wapappServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/conf/wapapp-dispatcher.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>wapappServlet</servlet-name>
    <url-pattern>/wap/*</url-pattern>
    </servlet-mapping>楼主这两个配置的都是一样的,冲突啦