zoukankan      html  css  js  c++  java
  • springMVC下jsp引用外部js,css等静态资源的解决方法

    直入主题.

    1. web.xml对springMVC配置如下:

     1     <servlet>
     2         <description>Spring MVC配置</description>
     3         <servlet-name>springmvc</servlet-name>
     4         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     5         <load-on-startup>1</load-on-startup>
     6         <init-param>
     7             <param-name>contextConfigLocation</param-name>
     8             <param-value>classpath:res/springMVC.xml</param-value>
     9         </init-param>
    10     </servlet>
    11     <servlet-mapping>
    12         <servlet-name>springmvc</servlet-name>
    13         <url-pattern>/</url-pattern>
    14     </servlet-mapping>

    springMVC.xml配置

     1     <context:component-scan base-package="sps.controller"/>
     2     <context:annotation-config/>
     3 
     4     <mvc:annotation-driven />
     5    
     6     <bean id="requestHandler" class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
     7         <property name="useSuffixPatternMatch" value="false"/>
     8     </bean>
     9     <bean id="requestAdapter" class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
    10         <property name="synchronizeOnSession" value="true"/>
    11     </bean>
    12 
    13     <bean id="internalresolver"
    14           class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    15         <property name="prefix" value="/WEB-INF/views/"/>
    16         <property name="suffix" value=".jsp"/>
    17     </bean> 

    2. 我的web工程目录,js,css等静态资源放在工程根目录下,不在WEB-INF中

    3.index.jsp中引用js,css的方式

    4.@Controller

    5.发布到tomcat之后,访问localhost:8080/app/index,发现css和js没有被引用。

    原因是:

    1     <servlet-mapping>
    2          <servlet-name>springmvc</servlet-name>         
    3          <url-pattern>/</url-pattern>
    4     </servlet-mapping>

    中url-pattern使用/ ,表示DispatcherServlet处理所有请求,也包括静态资源,这不是我们所希望的。

    怎么让DispatcherServlet不去处理静态资源的请求?

    方式一:使用web.xml

    1     <servlet-mapping>
    2         <servlet-name>default</servlet-name>
    3         <url-pattern>*.css</url-pattern>
    4     </servlet-mapping>
    5     <servlet-mapping>
    6         <servlet-name>default</servlet-name>
    7         <url-pattern>*.js</url-pattern>
    8     </servlet-mapping>

    web.xml中添加以上mapping就可以了。

    方式二:springMVC.xml添加

     1 <mvc:default-servlet-handler /> 

    方式三:springMVC.xml添加

     1 <mvc:resources mapping="/js/**,/css/**" location="/js/,/css/"/> 

    可是方式三怎么都不起作用.

  • 相关阅读:
    故乡
    webService和Restful
    java多线程(六)线程控制类
    java内存模型
    java多线程(五)线程通讯
    java多线程(四)死锁
    java多线程(三)线程的安全问题
    java多线程(二)线程的生命周期
    java多线程(一)创建线程的四种方式
    Spring Cloud(一)简单的微服务集成Eureka
  • 原文地址:https://www.cnblogs.com/selfchange/p/6255240.html
Copyright © 2011-2022 走看看