SpringMVC静态资源访问

聊一聊关于静态资源的访问问题

首先,我们要对web.xml里面的DispatcherServlet进行设置

<!--    中央调度器-->
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springMVC.xml</param-value>
</init-param>
<!--tomcat 一启动就可以加载中央调度器,数字只要大于0 即可-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<!--
url-pattern设置为:"/",当你使用了"/",他会替代Tomcat中的default,
导致所有的资源都给DispatcherServlet处理,默认情况下DispatcherServlet
没有处理静态资源的能力,没有控制器对象能处理静态资源的访问,所以导致静态资源
访问失败都是404,动态代理可以正常访问。如果不设置url-pattern设置为:"/",
则不存在静态资源访问不到
-->
<url-pattern>/</url-pattern>
</servlet-mapping>

由于设置了url-pattern为:"/",接下来我们还需要设置springmvc的配置文件,让静态资源可以被访问到。有两种方式

  1. 第一种方式
<!--添加该标签-->
<mvc:default-servlet-handler />
<!--
原理:
给程序内存中增加一个处理器对象:DefaultServletHttpRquestHandler。
让这个对象可以把接收到的请求转发给Tomcat的default这个servlet。
但是这个标签与@RequestMapping这个注解有冲突,所以需要加入注解驱动:<mvc:annotation-driven />
-->
<mvc:annotation-driven />
  1. 第二种方式
<!--
使用框架中的:<mvc:resource mapping="" location=""/>标签,
标签加入后框架会自己创建ResourceHttpRequestHandler这个处理器对象。
让这个对象处理静态资源的访问,不依赖于Tomcat服务器。该标签与@RequestMapping
注解有冲突,需要加注解驱动:<mvc:annotation-driven />
参数:
location:静态资源在你的项目中的位置
mapping:访问静态资源的URI地址,使用通配符 ** ,代表多级任意
参数内的静态资源皆可以被访问
-->
<mvc:resources location="/img/" mapping="/img/**"/>

好啦,这就是目前作为一个算不上菜鸟的菜鸟对springmvc静态资源访问的掌握程度。欢迎留言

SpringMVC下关于静态资源访问的更多相关文章

  1. SpringMVC REST 风格静态资源访问配置

    1 在web.xml中使用默认servlet处理静态资源,缺点是如果静态资源过多,则配置量会比较大,一旦有遗漏,则会造成资源无法正常显示或404错误. <!-- 静态资源访问控制 --> ...

  2. springmvc、springboot静态资源访问配置

    如何访问项目中的静态资源? 一.springmvc springmvc中访问静态资源,如果DispatcherServlet拦截的为"",那么静态资源的访问也会交给Dispatch ...

  3. 【SpringMVC】静态资源访问的问题

    在项目中经常会用到一些静态的资源,而一般我们在配置SpringMVC时会让SpringMVC接管所有的请求(包括静态资源的访问), 那么我们怎样才能最简单的来配置静态资源的访问呢? 一,在web.xm ...

  4. 关于WEB-INF目录下的静态资源(js、css、img)的访问

    首先,需要明确的是WEB-INF目录是被保护起来的,其下的jsp页面不能直接运行,只能通过控制器跳转来访问:而同样在此目录下的静态资源(js.css.img)也不能被WEB-INF目录外的其他文件直接 ...

  5. springMVC配置静态资源访问的<mvc:resources>标签的使用

    在springmvc中,为了引用资源的访问不会类似Controller一样被拦截,区分出关注的资源的访问,一般我们在springMVC里面的拦截都会配置为"/",拦截所有的.但是这 ...

  6. springmvc之静态资源访问不到 -记一次惨痛的经历

    springmvc之静态资源访问不到 -记一次惨痛的经历 问题描述:项目正常启动,可以访问页面,但是无法找到静态资源文件,如css,js等文件资源. 控制台: $ 未定义 页面: GET http:/ ...

  7. 关于linux下部署JavaWeb项目,nginx负责静态资源访问,tomcat负责处理动态请求的nginx配置

    1.项目的运行环境 linux版本 [root@localhost ~]# cat /proc/version Linux version -.el6.x86_64 (mockbuild@x86-.b ...

  8. SprignBoot是如何访问工程目录下的静态资源?

    ​ 目录 1.牛刀小试 1.1 图片静态资源的访问 1.2 为静态资源添加访问前缀 1.3  WelCome Page 的奇妙跳转 2.那么,SpringBoot是如何做到的呢? ​​​​​​​ 1. ...

  9. spring mvc官网下最新jar搭建框架-静态资源访问处理-注解-自动扫描

    1.从官网下载spring相关jar http://spring.io/projects 点击SPRING FRAMEWORK

随机推荐

  1. SpringDataJPA 多对多的查询

     主要的结构目录: 创建Role.java package cn.itcast.domain; import javax.persistence.*; import java.util.HashSet ...

  2. WinForm引用ActiveX组件,对Com组件的学习

    1.WinForm引用Adobe PDF Reader 工作中写WinForm程序经常会引用第三方的组件,包括引用Com组件,做了一个桌面程序需要展示PDF,看了些其它的开源组件对PDF的兼容性都不是 ...

  3. gcc编译阶段打印宏定义的内容

    背景 总所周知,代码量稍微大一点的C/C++项目的一些宏定义都会比较复杂,有时候会嵌套多个#if/#else判断分支和一堆#ifdef/#undef让你单看代码的话很难判断出宏定义的具体内容. 如果有 ...

  4. RPC 核心,万变不离其宗

    微信搜 「yes的练级攻略」干货满满,不然来掐我,回复[123]一份20W字的算法刷题笔记等你来领. 个人文章汇总:https://github.com/yessimida/yes 欢迎 star ! ...

  5. H3C路由器配置——动态路由OSPF协议

    一.介绍 1.OSPF协议介绍 (1).OSPF(Open Shortest Path First,开放最短路径优先)路由协议是用于网际协议(IP)网络的链路状态路由协议.是一个被各厂商设备广泛支持的 ...

  6. BF,BM,KMP,就这?

    为保证代码严谨性,文中所有代码均在 leetcode 刷题网站 AC ,大家可以放心食用. 皇上生辰之际,举国同庆,袁记菜馆作为天下第一饭店,所以被选为这次庆典的菜品供应方,这次庆典对于袁记菜馆是一项 ...

  7. 如何实现Application event,观察者模式

    spring 事件为bean 与 bean之间传递消息.一个bean处理完了希望其余一个接着处理.这时我们就需要其余的一个bean监听当前bean所发送的事件. spring事件使用步骤如下: 1.先 ...

  8. Queue的使用说明

    普通的Queue.Queue是单个进程间的队列,不同进程不能共享:multiprocessing.Queue()是不同进程间使用的,可以共享:如果是进程池的话需要使用multiprocessing.M ...

  9. Redis+LUA整合使用

    .前言 从本章节开始我们就开始讲解一些 Redis 的扩展应用了,之前讲的主从.哨兵和集群都相当重要,也许小公司用不到集群这么复杂的架构,但是也要了解各知识点的原理,只要了解了原理,无论什么时候是有, ...

  10. haproxy 里的超时

    haproxy 中的超时 客户端请求阶段 timeout client haproxy 和客户端通信时,连接不活跃的时间,既不发送数据,也不ack接收的数据 如果未设置,则永不超时,此时连接是否超时依 ...