首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Servlet映射问题wtih资源spring

Servlet映射问题wtih资源spring
EN

Stack Overflow用户
提问于 2013-11-26 16:37:53
回答 2查看 7.1K关注 0票数 0

我对mvc:resources有意见

我的main-servlet.xml

代码语言:javascript
复制
    **
    <bean id="viewResolver"
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/jsp/" />
        <property name="suffix" value=".jsp" />
    </bean>

    <bean id="multipartResolver"
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="maxUploadSize" value="50000000" />
    </bean>

    <mvc:resources mapping="/images/**" location="/images/" />
    <mvc:resources mapping="/css/**" location="/css/" />
    **

当我评论mvc:resources行时,一切(其他)都开始神奇地工作了。但当我取消评论时,只有资源起作用。在编译过程中,日志显示只映射了css/**和图像/**,并且没有其他映射。

Web.xml文件:

代码语言:javascript
复制
<servlet-mapping>
    <servlet-name>main</servlet-name>
    <url-pattern>/css/**</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>main</servlet-name>
    <url-pattern>/images/**</url-pattern>
</servlet-mapping>
     <servlet-mapping>
    <servlet-name>main</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

我尝试过放置2个dispatcher servlets,但这也不起作用。另一个servlet被读取并被映射,但是请求默认为主servlet。

从web.xml编译/css/**和/图像/**后的日志:

代码语言:javascript
复制
    **
    org.springframework.web.servlet.handler.AbstractUrlHandlerMapping registerHandler
    INFO: Mapped URL path [/images/**] onto handler 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#0'
    Nov 26, 2013 11:40:40 AM org.springframework.web.servlet.handler.AbstractUrlHandlerMapping registerHandler
    INFO: Mapped URL path [/css/**] onto handler 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#1'
    Nov 26, 2013 11:40:40 AM org.springframework.web.servlet.FrameworkServlet initServletBean
    INFO: FrameworkServlet 'resources': initialization completed in 220 ms
    Nov 26, 2013 11:40:40 AM org.apache.catalina.core.ApplicationContext log
    INFO: Initializing Spring FrameworkServlet 'main'
    Nov 26, 2013 11:40:40 AM org.springframework.web.servlet.FrameworkServlet initServletBean
   **
    INFO: FrameworkServlet 'main': initialization completed in 234 ms
    Nov 26, 2013 11:40:40 AM org.apache.coyote.http11.Http11Protocol init
    INFO: Initializing Coyote HTTP/1.1 on http-8080
    Nov 26, 2013 11:40:40 AM org.apache.coyote.http11.Http11Protocol start
    INFO: Starting Coyote HTTP/1.1 on http-8080
    Nov 26, 2013 11:40:53 AM org.springframework.web.servlet.DispatcherServlet noHandlerFound
    WARNING: No mapping found for HTTP request with URI [/KT/] in DispatcherServlet with name 'main'
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-26 16:50:17

请注意,没有一个控制器将注册到您的当前设置。你需要添加

代码语言:javascript
复制
<mvc:annotation-driven />

以便Spring将它们注册到DispatcherServlet中。

您的main DispatcherServlet也应该简单地映射到

代码语言:javascript
复制
<servlet-mapping>
    <servlet-name>main</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

其他的都是多余的。

票数 3
EN

Stack Overflow用户

发布于 2013-11-26 18:16:06

这个问题已经得到了回答,但我在解决问题时遇到了很多问题,所以我想留下几个解决方案,以防有人遇到类似的问题:

第一个也是第一个问题:mvc:什么是错误的资源(有问题的细节)解决方案:完全按照公认的答案解决。(

第二个问题(见第一个堆栈跟踪):在没有结束标记的情况下发生解决方案:在末尾添加“/”或在后面添加(也可以接受的答案是正确的)

第三个问题(第二个(最后一个)堆栈跟踪):当您没有以下依赖项时出现:

代码语言:javascript
复制
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>4.3.1.Final</version>
        </dependency>

还有。如果您正在使用Tika & Solrj来收集,请选择带有更高版本的sl4j-api。选择较低的版本会导致大量其他问题(抱歉,没有堆栈跟踪)。

我的版本: Solr 3.6.2,Solrj 4.4.0,Tika 1.4。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20222783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档