SpringMVC请求静态资源异常

2023-05-16

问题描述:
        使用 REST 风格的资源URL时,SpringMVC请求静态资源(图片、js等)发生异常。
    
        优雅的 REST 风格的资源URL 不希望带 .html 或 .do 等后缀。
        若将 DispatcherServlet 请求映射配置为 /,则 Spring MVC 将捕获WEB 容器的所有请求,包括静态资源的请求,SpringMVC 会将他们当成一个普通请求处理,因找不到对应处理器将导致错误。
例如:
No mapping found for HTTP request with URI [/springmvc-2/scripts/jquery-1.12.3.min.js] in DispatcherServlet 
with name 'springDispatcherServlet'  即js中代码无法执行


解决办法:
        可以在 SpringMVC 的配置文件中配置 <mvc:default-servlet-handler/> 的方式解决静态资源的问题:
 <mvc:default-servlet-handler/> 将在 SpringMVC 上下文中定义一个DefaultServletHttpRequestHandler,它会对进入 DispatcherServlet 的 请求进行筛查,如果发现是没有经过映射的请求,就将该请求交由 WEB 应用服务器默认的 Servlet 处理,如果不是静态资源的请求,才由 DispatcherServlet 继续处理。
         一般 WEB 应用服务器默认的 Servlet 的名称都是 default。若所使用的 – WEB 服务器的默认 Servlet 名称不是 default,则需要通过 defaultservlet-name 属性显式指定。
         如果只是配置<mvc:default-servlet-handler/>,则原来的RequestMapping映射则不起作用,还需配置<mvc:annotation-driven></mvc:annotation-driven>!

         <mvc:annotation-driven /> 会自动注册RequestMappingHandlerMapping 、RequestMappingHandlerAdapter 与 ExceptionHandlerExceptionResolver  三个bean!

还将提供以下支持:
 ①支持使用 ConversionService 实例对表单参数进行类型转换;
 ②支持使用 @NumberFormat 、@DateTimeFormat 注解完成数据类型的格式化;
 ③支持使用 @Valid 注解对 JavaBean 实例进行 JSR 303 验证;
 ④支持使用 @RequestBody 和 @ResponseBody 注解。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SpringMVC请求静态资源异常 的相关文章

  • 找不到可接受的代表

    我是 Spring Boot 的新手 我可能会犯一些愚蠢的错误 所以提前对此类问题表示歉意 我正在尝试编写接受以下 JSON 的 POST API id null a 1 3 b somestring mapJson monday 10 0
  • Spring @ControllerAdvice 与 ErrorController

    在我的 REST 服务应用程序中 我计划创建一个 ControllerAdvice捕获控制器抛出的异常并返回的类ResponseEntity根据错误类型的对象 但我已经有一个 RestController类实现ErrorController
  • 使用 Powermock 测试 Spring 控制器

    我有一个测试特定控制器的类 它工作正常 RunWith SpringJUnit4ClassRunner class ContextConfiguration locations classpath config test applicati
  • Spring 3 集合绑定

    如何将集合绑定到输入数据的表单 不用于显示 例如为一个Set
  • 在 Spring MVC 中扩展带注释的控制器

    我正在开发一个小项目 并且有一些现有的代码 我希望这些代码不会受到我的更改的影响 因此我需要扩展一个带注释的控制器 但这不起作用 package a controller public class BaseController Autowi
  • Spring安全+LocaleResolver

    我需要在身份验证成功后更改区域设置 区域设置解析器
  • 当从服务类中调用时,Spring @Transactional 不适用于带注释的方法

    在下面的代码中 当方法内部 是从内部调用的方法外部 应该在交易范围内 但事实并非如此 但当方法内部 直接从调用我的控制器class 它受到事务的约束 有什么解释吗 这是控制器类 Controller public class MyContr
  • 如何更改Swagger中操作成功的响应状态代码?

    如图所示 它显示添加操作的 响应类 状态 200 但是 add 操作的实现方式永远不会返回 200 成功时返回 201 我的问题是如何将 状态 200 更改为 状态 201 这部分的代码如下 RequestMapping method Re
  • 如何编写在 spring-data-hatoas 中公开资源或资源列表的分页控制器

    使用 spring data 我想为我的写两个方法Person entity 人 java public class Person Id String id String name Integer age getters setters o
  • 客户端发送的请求语法错误。-Spring MVC + JDBC 模板

    我是 Spring MVC 的新手 我在运行项目时遇到错误错误 客户端发送的请求在语法上不正确 我有一个实体类 PatientInfo 我的jsp页面是demo1 我的控制器是患者控制器 我想要实现的功能是将值插入数据库 但我无法在控制器中
  • Spring:自定义验证器未被调用

    我正在查看有关 Spring 自定义验证器的其他问题 但不幸的是我无法用建议的答案解决我的问题 我的问题如下 我有一个实体 帐户 并且创建了一个自定义验证器 AccountValidator 我在控制器 RegisterController
  • Spring MultipartFile 验证和转换

    我目前有一个 Spring MVC 控制器 它采用 MultipartFile RequestMapping method RequestMethod POST public String doUpload RequestParam fil
  • 如何触发预定的 Spring Batch 作业?

    我希望能够使用 REST 控制器启动我的作业 然后当作业启动时 它应该按计划运行 直到我再次使用 REST 停止它 这是我的控制器 RestController public class LauncherController Autowir
  • 如何定义多个initBinder

    一个控制器中是否可以有多个 initBinder 方法 每个 InitBinder 参见代码 都依赖于一个唯一的请求处理程序 例如initBinder 在 url update account 上调用 initBinderOne 在 upd
  • Spring Data Rest 不明确关联异常

    新增加的LinkCollectingAssociationHandler正在扔一个MappingException由于我的域类中存在不明确的关联 链接数组如下所示
  • 用于生成和使用 JSON 的控制器的 Spring RequestMapping

    具有多个消费和生产的 Spring 控制器application json 我的代码充满了长注释 例如 RequestMapping value foo method RequestMethod POST consumes MediaTyp
  • 使用 JRebel 6.0.0 部署时,Spring 4.1.2 更新后找不到资源

    Spring 4 1 2 4 0 8 和 3 2 12 包含安全错误修复SPR 12354 https jira spring io browse SPR 12354这可以防止ResourceHttpRequestHandler 后面的事情
  • JSR 303 中的 GroupSequence 和有序评估

    在我们的应用中 有这样一个案例 应按特定顺序评估约束 从便宜到贵 每个字段发生违规后不应评估约束 所有字段均应经过验证 对于前两个 groupsequence 非常适合 然而 对于我的第三个要求 我找不到解决方法 public class
  • Spring 和 Angular JS

    我正在使用 Spring 和 Angular JS 开发一个应用程序 但我不知道我所做的是否正确 在同一个 Maven 项目中 我做了 一个用户类 然后我创建了一个 RestController 在其中创建了我的 webservice 在
  • 春季MVC。方法参数字段的默认值

    我有一个带有方法测试的简单控制器 RequestMapping produces application json ResponseBody public HttpEntity

随机推荐

  • 【踩坑专栏】lombok报错程序包org.slf4j不存在

    问题描述 xff1a 在Pom中引入了依赖 xff0c idea中也有lombok的插件 xff0c 之前使用lombok的 64 Slf4j注解没有问题 xff0c 最近在某一个项目中 xff0c 在编译时突然报错程序包org slf4j
  • Ubuntu1804_server 离线安装GCC_7.5

    本文利用一个比较简单方便的方法为Ubuntu1804 server的服务器离线安装GCC 7 5 之前写过一篇关于离线安装软件的文章 xff0c 有兴趣的同学请移步Ubuntu18 04 离线安装nginx 可是如果生产服务器有大量需要离线
  • 关于Java之IO流音乐拼接小项目

    需求 xff1a 做一个音乐串烧 分析 xff1a 1 有n个音乐 xff0c 找到高潮部分 xff0c 2 获取高潮部分的流对象 3 把这部分对象保存成一个mp3 4 把它们拼接起来 以下为源码供大家分享 xff1a 方法一 xff1a
  • 192.168.和10.0.开头的IP、内网IP段、IP简介、分类

    IP地址分为五大类 xff1a A类 B类 C类 D类和E类 xff0c 如下图所示 xff1a 在这五类IP地址中 xff0c 我们最常使用的是A类 B类和C类地址 在这三类地址中 xff0c 绝大多数的IP地址都是公有地址 xff0c
  • 牛客网. 跳跃游戏-II

    题目概述 解题思路 我开始想到的做法是贪心 首先维护两个指针i和cur xff0c i用于顺序遍历 xff0c cur用来指向上一次可以跳到的最远的位置 维护一个一维数组 xff0c 用来记录跳到每个位置需要的最短步数 然后考虑当前能跳到的
  • OpenEuler 20.03 LTS yum 安装redis后systemctl启动异常

    前言 通过命令yum install redis xff0c 安装redis后 xff0c 通过systemctl启动报如下错误 xff1a span class token punctuation span root 64 ecs e50
  • python ahttp:简单、高效、异步requests请求模块

    ahttp xff1a 简单 高效 异步requests请求模块 ahttp 是一个所有的http连接请求均使用协程的方式 使请求过程中 IO 操作交给其他硬件 xff0c 而CPU专注于处理计算型任务 xff0c 可以大量的节约等待的时间
  • uniapp 页面跳转出现闪屏、短暂白屏的解决办法

    在项目pages json里设置页面的背景色和页面中page或container的背景色一致即可解决这个问题 34 path 34 34 pages ecosystem index 34 34 style 34 34 navigationB
  • softmock-基于mitmproxy实现系统性管理maplocal

    softmock 介绍 softmock 是一个拦截 http https 到本地的工具 请求拦截到本地之后 xff0c 可以进行修改 新增等操作 xff0c 使下次请求直接返回到本地的数据 而不依赖远程服务器 softmock 是从 抓包
  • django设置samesite

    较新版本的chrome会因samesite策略而禁止跨域的cookie 解决方法在项目中的setting py设置 xff1a SESSION COOKIE SAMESITE span class token operator 61 spa
  • 使用python构造一个微信聊天机器人

    申请一个图灵的APIKEY http www tuling123 com python3环境下安装wxpy pip install wxpy linux下还需安装pillow pip install pillow 然后执行以下代码 xff1
  • aiohttp 简易使用教程

    0 前言 本文翻译自aiohttp的官方文档 xff0c 如有纰漏 xff0c 欢迎指出 aiohttp分为服务器端和客户端 xff0c 本文只介绍客户端 由于上下文的缘故 xff0c 请求代码必须在一个异步的函数中进行 xff1a asy
  • Zabbix 5.4 Server安装

    系统 xff1a ubuntu 1804 xff08 1804 server zabbix 5 4 mysql 5 7 x1f4d3 UTF 8是Zabbix支持的唯一编码 它可以正常工作而没有任何安全漏洞 用户应注意 xff0c 如果使用
  • vue基本格式

    MVVM模式 vue的基本步骤 数据绑定 v model name 数据渲染 xff0c 双向绑定
  • Activity中使用onNewIntent方法避免多次实例化同一个Activity

    最近写的项目中有一个搜索 搜索结果 搜索这样一个循环的过程 xff0c 发现了几个问题 xff1a 1 循环导致多次实例化这两个类 xff1b 解决方案 xff1a 在Manifest里面对应activity下面设置启动模式为singleT
  • Linux 无密码自动登录

    GNOME环境 etc gdm3 custom conf文件 xff0c 修改其中的AutomaticLoginEnable xff0c AutomaticLogin项 xff0c 具体如下所示 xff1a Configure Automa
  • FileItem类

    文件上传时需要用到FileItem类 xff0c FileItem是一个接口 xff0c 它的实现类是DiskFileItem 如图为FileItem 接口中定义的方法 xff1a 1 getInputStream xff1a 以流的形式返
  • mysql数据表中文乱码解决办法

    在往 mysql 数据库中插入数据的时候出现数据 汉字 乱码情况 xff1a 在把数据库 xff0c 数据表的编码改为UTF 8后 xff0c 还是乱码 Mysql 的默认编码方式是 Latin1 xff0c 不支持中文 xff0c 因此
  • Spring xml配置文件头解析

    Spring文档中默认的XML文件格式 xff1a lt xml version 61 34 1 0 34 encoding 61 34 UTF 8 34 gt lt beans xmlns 61 34 http www springfra
  • SpringMVC请求静态资源异常

    问题描述 xff1a 使用 REST 风格的资源URL时 xff0c SpringMVC请求静态资源 图片 js等 发生异常 优雅的 REST 风格的资源URL 不希望带 html 或 do 等后缀 若将 DispatcherServlet