首页 > 其他分享 >SpringMVC报错:HTTP Status 405 - JSPs only permit GET POST or HEAD

SpringMVC报错:HTTP Status 405 - JSPs only permit GET POST or HEAD

时间:2023-09-13 22:48:04浏览次数:38  
标签:Status HEAD HTTP GET 报错 JSP POST 页面

错误描述

如果项目是运行在 Tomcat 8 及以上版本,浏览器发出的 PUT 请求和 DELETE 请求可以被页面控制器(Controller)成功接收到,但是返回 JSP 页面则会报 HTTP 405 的错误提示:"消息 JSP 只允许 GET、POST 或 HEAD。Jasper 还允许OPTIONS"。

原因分析

原因是 Tomcat 按照 JCP 规范(JSP2.3版本)的规定,从 Tomcat8.x 版本开始,不再支持以 HTTP PUT 方式访问 JSP 页面,仅支持 GET、POST 和 HEAD 方式。

解决方案

1、tomcat换到7.0以及以下版本

切换 tomcat 版本显然并不好,不建议采用

2、在方法上标注 @ResponseBody

@ResponseBody 注解通常是用来返回 JSON 数据的,这样就不会跳转视图的 JSP 页面了。如果你确实是要返回数据,这样写当然没有问题,这也是比较规范的一种写法。

3、请求重定向给一个 Controller的方法,再返回 jsp 页面

既然不能直接跳转到 jsp 页面,我们就可以将请求重定向给一个 controller 方法,再通过该方法跳转到 jsp 页面。

标签:Status,HEAD,HTTP,GET,报错,JSP,POST,页面
From: https://www.cnblogs.com/binbingg/p/17700962.html

相关文章

  • [git] 报错unsafe repository xxx is owned by someone else解决方法
    git进行了版本升级,添加了新的目录安全限制。造成在进行git常规操作时,或在各类编辑器如VSCode中无法发现.git文件,报错:fatal:unsaferepository(xxxisownedbysomeoneelse.)Toaddanexceptionforthisdirectory,callgitconfig–global–addsafe.directory方......
  • oracle部署报错解决
    第1个错误: ./runInstaller-silent-responseFile/tmp/db_install.rsp-ignorePrereq /home/u01/app/oracle/product/19.3.0/dbhome_1/perl/bin/perl:errorwhileloadingsharedlibraries:libnsl.so.1:cannotopensharedobjectfile:Nosuchfileordirectory  yum......
  • Dubbo配置问题____spring中dubbo标签报错问题和解决方案
    //1.当在springxml中引用dubbo标签时会报错windows-->preferrence-->xml->xmlcatalog-->add->catalogentry-->filesystem,选择模版文件后,修改key值为“http://code.alibabatech.com/schema/dubbo/dubbo.xsd”//资源文件下载 http://pan.baidu.com/s/1c2h6uzA......
  • pyinstaller 报错ImportError: No module named _bootlocale
    生成环境的安装包,执行如下命令会有报错:pyinstaller-wF-pvenv310/Scripts-pvenv310/Lib/site-packages--add-data"./fish.jpg:."--add-data"./kb.ini:."-ifish.ico-nprogram_namemain.py328INFO:PyInstaller:3.6328INFO:Python:3.10.11343INFO:......
  • application 'vueApp' died in status NOT_MOUNTED: [qiankun]: Target container wit
    这是第一次微前端很常见的提示,尤其是第一次写前端的时候碰到的解决1:主应用的 App.vue标签上的id="app"去掉,这是报错的根本解决2://在子应用挂在的时候处理functionrender(props={}){const{container}=props;instance=newVue({render:h=>h......
  • 完美解决Server returned HTTP response code:403 for URL报错问题
    在调用某个接口的时候,突然就遇到了Server returned HTTP response code: 403 for URL报错这个报错,导致获取不到接口的数据,下面小编给大家分享解决Server returned HTTP response code:403 for URL报错问题,感兴趣的朋友一起看看吧 前言原因依赖post请求结语......
  • 用pyinstaller打包为什么会报错?
    大家好,我是皮皮。一、前言前几天在Python钻石群【年鱼鱼......
  • 9-13|django.db.utils.OperationalError: (2006, 'Server has gone away') 报错
    `django.db.utils.OperationalError:(2006,'Serverhasgoneaway')`是一个与MySQL数据库连接相关的错误。这个错误通常发生在以下情境:1.**长时间的数据库连接**:当Django连接到数据库但长时间没有活动时,MySQL可能会关闭这个连接。当Django试图在一个已经被关闭的连接上......
  • BUG库(linux)tar文件解压: Exiting with failure status due to previous
    一.Bug场景描述linux下解压文件tar:Exitingwithfailurestatusduetopreviouserrors二.解决办法1.提升源权限chmod777 mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz2.提升目标路径权限chmod-R777 mysql3.sudo执行  ......
  • Jmeter中User Defined Variables(UDV)和HTTP Header Manager使用
    Jmeter测试时需要区分不同的环境,想用IfController进行判断,测试环境时UserDefinedVariables(UDV)变量赋值platfom=test,正式环境时UserDefinedVariables(UDV)变量赋值platfom=pro,结果每次udv都被覆盖,但HTTPHeaderManager正常,配置如下:  运行后,可以看到,第一个http请求......