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/"/> 

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

  • 相关阅读:
    Git 创建仓库并拉取代码
    Linux export 命令
    Linux ps 命令
    Linux sed 命令
    Linux find 命令
    Linux chmod 命令
    Linux chgrp 命令
    解除/配置 linux/nginx 的 tcp 连接(nginx配置文件日常配置推荐)
    更改Ubuntu的apt源
    anaconda 各版本的下载地址
  • 原文地址:https://www.cnblogs.com/selfchange/p/6255240.html
Copyright © 2011-2022 走看看