SpringMVC02静态资源的访问

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title>My JSP ‘index.jsp‘ starting page</title>

    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">

 <link rel="stylesheet" type="text/css" href="statics/css/style.css">
  <script type="text/javascript" src="statics/js/jquery-1.8.3.js"></script>
  <script type="text/javascript">

     $(function(){
         alert("哈哈哈!");
     })

  </script>

  </head>

  <body>
   哈哈
   <img  src="statics/images/cat.jpg" alt="没有图片">
  </body>
</html>

jsp文件夹下面的index.jsp文件

如果没有配置静态资源访问,那么页面上是没有任何效果的!因为我们配置的核心控制的url 为 /

所以这些静态的资源路径页会被拦截!两种方式解决,推荐使用后者

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <display-name></display-name>    

  <!--  设置静态文件访问  -->
  <servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.jpg</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.js</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.css</url-pattern>
  </servlet-mapping>

  <!--配置springmvc的核心控制器  -->
  <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!--  配置spring配置文件的位置 以及名称 -->
    <init-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>classpath:/springmvc-servlet.xml</param-value>
    </init-param>
  </servlet>

  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

</web-app>

1.修改web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

    <!-- 处理器映射器 -->
    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="urlMap">
            <map>
                <entry key="/hello1" value="myController" />
                <entry key="/hello2" value="myController" />
                <entry key="/hello3" value="myController" />
            </map>
        </property>
        <!-- <property name="mappings">
               <props>
                <prop key="/hello1">myController</prop>
                <prop key="/hello2">myController</prop>
                <prop key="/hello3">myController</prop>
               </props>
             </property> -->
    </bean>

    <!-- 配置静态资源的访问 **代表子文件下面的所有文件 -->
    <mvc:resources location="/statics/" mapping="/statics/**" />
    <!-- 处理器 -->
    <bean id="myController" class="cn.bdqn.controller.MyController" />

    <!-- 配置视图解析器 -->
    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/" />
        <property name="suffix" value=".jsp" />
    </bean>
</beans>

2.修改springmvc配置文件

时间: 2024-10-09 22:24:11

SpringMVC02静态资源的访问的相关文章

springMVC 请求404异常或静态资源无法访问

springMVC 请求404错误或静态资源无法访问问题:springMVC 请求404错误或静态资源无法访问. 在web.xml中我们一般这样配置: spring3 org.springframework.web.servlet.DispatcherServlet 1 spring3 / 使用 / 可以实现rest风格,但是会拦截了所有的请求导致静态资源无法访问(解决方法后面说), 当然,如果你使用*.do.*.xhtml等就不会出现静态资源无法访问问题. 静态资源无法访问解决方案: 1,在s

SpringMVC 部署项目静态资源文件访问问题

问题:采用SpringMVC 部署项目后程序加载或用浏览器访问时出现类似的警告,2011-01-19 10:52:51,646 WARN [org.springframework.web.servlet.PageNotFound] -<No mapping found for HTTP request with URI [/sandDemo001/images/1.jpg] in DispatcherServlet with name 'spring'>,主要看尖括号内部分.问题原因:罪魁祸首

【Spring学习笔记-MVC-14】Spring MVC对静态资源的访问

作者:ssslinppp       参考链接: http://www.cnblogs.com/luxh/archive/2013/03/14/2959207.html http://www.cnblogs.com/fangqi/archive/2012/10/28/2743108.html 优雅REST风格的资源URL不希望带 .html 或 .do 等后缀.由于早期的Spring MVC不能很好地处理静态资源,所以在web.xml中配置DispatcherServlet的请求映射,往往使用

Spring MVC:解决静态资源无法访问的问题

解决静态资源不能访问的问题,解决方式有三种: 使用defaultServlet打开tomcat中conf/web.xml,在这个文件中有一个叫做DefaultServlet的配置,当系统找不到处理某次url请求该交由谁处理的时候,就会交给这个servlet处理.我们可以通过使用这个DefaultServlet来处理静态资源,在你的系统中的web.xml文件中添加下面配置,要添加在DispatcherServlet的前面,这样系统就会将带有下面后缀名的请求交给defaultservlet来处理:

springmvc 请求经过controller后静态资源无法访问的问题

经过RequestMapping(“xx”)后 转发请求时会在url里面附带地址, 导致访问静态资源文件失败, 解决办法是在 spring-mvc.xml文件中加上 <mvc:default-servlet-handler/> <!-- 由于在web.xml中定义的url拦截形式为“/”表示拦截所有的url请求, 包括静态资源例如css.js等.所以需要在springmvc.xml中添加资源映射标 --><mvc:resources location="/stati

spring mvc 配置对静态资源的访问

在spring mvc的配置文件中做如下配置: 1. <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.s

(八)springmvc之静态资源的访问。

一.直接调用 行内样式或者js直接调用没有问题. <span style="font-size:26px;color: Blue">行内样式</span> <input type="button" onclick="javascript:alert('aa');" value="直接调用"/> 二.静态资源没有放在WEB-INF目录下 在SpringMvc的配置文件中,配置mvc:defau

spring boot项目进行war部署,对于静态资源无法访问的问题

记录下jar和war部署方式随意切换部署的一个解决方案,对于如何修改为自定义的目录,这边未说明. 在spring boot开发时一般是直接application运行的(与jar部署一样),因此使用jar部署的时候可以直接运行,静态资源都可以访问: 如果我们需要进行war方式部署呢,静态资源有可能就方法不到,因为war方式部署的访问方式和jar的不同需要带上项目名称: 例如: jar部署:http://localhost:8080/index.html war部署:http://localhost

Rails配置public下静态资源的访问

Rails开发应用,我们会把图片等静态资源直接放到public目录下,这样通过nginx就可以把这些资源当静态资源(不用走Rails)处理并且缓存,为了避免这些静态资源走rails路由,需要对nginx进行配置,例如public目录下有个images目录,需要这样配置: location ~* ^/images/ { root /home/ubuntu/rails_app/public expires 1y; add_header Cache-Control public; add_header