`
zhonglunshun
  • 浏览: 135247 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

405: HTTP method GET is not supported by this URL

405 
阅读更多

405: HTTP method GET is not supported by this URL

 

先看错误代码:

 

public class WXSenderServlet extends HttpServlet {

	private static final long serialVersionUID = 1L;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		super.doGet(req, resp);
		resp.getWriter().print("WXSenderServlet----doGet()");
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		super.doPost(req, resp);
		resp.getWriter().print("WXSenderServlet----doPost()");
	}

}

 继承了HttpServlet而且实现了两个方法,并且:

<!-- Servlets -->
    <servlet>
        <servlet-name>WXSenderServlet</servlet-name>
        <servlet-class>pa.wechat.plugin.servlet.WXSenderServlet</servlet-class>
    </servlet>

    <!-- Servlet mappings  url-pattern必须小写-->
    <servlet-mapping>
        <servlet-name>WXSenderServlet</servlet-name>
        <url-pattern>/wechatsender</url-pattern>
    </servlet-mapping>

 那为什么还会有错误呢?

 

 

哈哈哈,原来是因为super.doGet(req, resp);里面不是空的。

 

看一位网友的回答的不错,照抄了过来:

 

The HttpServlet basically follows the template method pattern where all non-overridden HTTP methods returns a HTTP 405 error "Method not supported". When you override such a method, you should not call super method, because you would otherwise still get the HTTP 405 error. The same story goes on for your doPost() method.

This also applies on service() by the way, but that does technically not harm in this construct since you need it to let the default implementation execute the proper methods. Actually, the whole service() method is unnecessary for you, you can just remove the entire method from your servlet.

The super.init(); is also unnecessary. It's is only necessary when you override the init(ServletConfig), because otherwise the ServletConfig wouldn't be set. This is alsoexplicitly mentioned in the javadoc. It's the only method which requires a super call.


Unrelated to the concrete problem, spawning a thread in a servlet like that is a bad idea. For more detail, start reading this answer.

 

 

 

恩,就是这样的。

1
0
分享到:
评论

相关推荐

    java解决405 - HTTP method GET is not supported by this URL

    java解决405 - HTTP method GET is not supported by this URL

    http请求405错误方法不被允许的解决 (Method not allowed)

    主要介绍了http请求405错误方法不被允许的解决 (Method not allowed),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Http-servlet请求源码

    Http-servlet请求完整代码(client-service),以及servlet的“HTTP method GET is not supported by this URL”错误处理

    Senfore_DragDrop_v4.1

    This is caused by a quirk in WinZip; Apparently WinZip doesn't like IDataObject.GetData to be called before IDropTarget.Drop is called. ------------------------------------------- 5. Support and ...

    servlet2.4doc

    Encodes the specified URL for use in the sendRedirect method or, if encoding is not needed, returns the URL unchanged. encodeUrl(String) - Method in class javax.servlet....

    php.ini-development

    documents, however this remains supported for backward compatibility reasons. ; Note that this directive does not control the , which can be ; used regardless of this directive. ; Default Value: On ;...

    JSP Simple Examples

    In this program we are going to know how the server determines whether the password entered by the user is correct or not. This whole process is controlled on the server side. Multiple forms in jsp ...

    EurekaLog_7.5.0.0_Enterprise

    Later is supported when map2dbg.exe tool is placed in \Bin folder of EurekaLog installation (separate download is required) 5)....Added: Exception2HRESULT in EAppDLL to simplify developing DLLs with ...

    Java邮件开发Fundamentals of the JavaMail API

    the ability to see how many new mail messages they have, are not supported by POP at all. These capabilities are built into programs like Eudora or Microsoft Outlook, which remember things like the ...

    asp.net mvc

    This is a Release Candidate (RC) release and is not officially supported. If you have questions about working with this release, post them to the ASP.NET MVC forum (http://forums.asp.net/1146.aspx), ...

    hls.min.js

    e.a=a},function(t,e){function r(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(t){return"function"==typeof t}function a(t){return"number"==typeof t}function n...

    Bochs - The cross platform IA-32 (x86) emulator

    - new hdimage method get_capabilities() that can return special flags - vmware3, vmware4 and vvfat classes now return HDIMAGE_HAS_GEOMETRY flag - other disk image modes by default return HDIMAGE_...

    hibernate.properties

    ## Derby (not supported!) #hibernate.dialect org.hibernate.dialect.DerbyDialect #hibernate.connection.driver_class org.apache.derby.jdbc.EmbeddedDriver #hibernate.connection.username #hibernate....

    ZendFramework中文文档

    14.1.3. 使用静态 get() 方法 14.2. 标准过滤器类 14.2.1. Alnum 14.2.2. Alpha 14.2.3. BaseName 14.2.4. Digits 14.2.5. Dir 14.2.6. HtmlEntities 14.2.7. Int 14.2.8. RealPath 14.2.9. StringToLower...

Global site tag (gtag.js) - Google Analytics