Tomcat 8.x版本不支持使用HTTP PUT方式访问JSP页面的问题

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

在Tomcat自动产生的所访问JSP页面的java文件(X:\apache-tomcat-8.0.20\work\Catalina\localhost\<PROJECT_CONTEXT_PATH>\org\apache\jsp\[SUB_DIRECTORY\])中的 public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException 方法中可以看到如下代码:

    final java.lang.String _jspx_method = request.getMethod();
        if (!"GET".equals(_jspx_method) && !"POST".equals(_jspx_method) && !"HEAD".equals(_jspx_method) && !javax.servlet.DispatcherType.ERROR.equals(request.getDispatcherType())) {
        response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, "JSPs only permit GET POST or HEAD");
        return;
    }

上面的问题是在升级Struts版本并且使用Tomcat 8.x版本时发现的,开始以为是升级Struts版本的问题,由于产生问题的地方是在Ajax调用中(没有界面),只报了405错误码出来(后来在JS代码中输出响应内容到页面上就可以很清晰地看到问题所在了),结果搜索了一圈之后,才发现是Tomcat版本问题。已验证“使用Tomcat 6.x、7.x版本没有此问题”。

Since JSP 2.3 (Tomcat 8) only supported method for JSP is GET POST or HEAD

引用来自于: http://stackoverflow.com/questions/23886941/http-status-405-jsps-only-permit-get-post-or-head

 

转载于:https://my.oschina.net/yaray/blog/882264

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值