出现HTTP Status405怎么办?

HTTP Status 405 - HTTP method GET is not supported by this URL

出现HTTP Status405的代码的改正方法:是因为servlet没有跳转,加上“请跳转

response.getRequestDispatch(url).forward(request,response)”

程序如下:

public class request_2 extends HttpServlet 

{public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException 

{String value=request.getParameter("userName")

if(value!=null && !value.trim().equals(""))System.out.println("userName: "+value)

response.getRequestDispatch(url).forward(request,response);}

public void doPost(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {doGet(req,resp);}}

在调试servlet,运行http://localhost:8080/test/r时出现HTTP Status 405 - HTTP method GET is not supported by this URL的错误。

    源程序:

    package serv

    import java.io

    import javax.servlet

    import javax.servlet.http

    import java.util.*

    public class RegistServlet extends HttpServlet

    {public void doPost(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException

    {PrintWriter out = response.getWriter()

    response.setContentType("text/html")

    out.println("<head><title>SimpleFormServletOutput</title></head>")

    out.println("<body>")

    out.println("<center><h1>this is the information you submit</h1></center>")

    out.println("<hr>")

    Enumeration paraNames

    String [] s

    paraNames = request.getParameterNames()

    while(paraNames.hasMoreElements())

    {String name = (String) paraNames.nextElement()

    String[] value = request.getParameterValues(name)

    out.println(name+"={");for(int i=0;i<value.length;i++)

    {if(i>0)out.println(",");out.println(value);}out.println("}");}out.println("</body>");out.close();}}

    出错原因是:doPost方法用于处理前台提交的数据,当form表单属性method="post"时,doPost方法才被调用。当用servlet类的URL直接访问servlet时,发送的是HTTP请求,servlet默认调用doGet()方法,而源程序里没有重写父类的doGet()方法,父类的doGet()方法不被此种URL支持,所以出现HTTP method GET is not supported by this URL这种错误。

    HTTP请求传参:路径+请求语句,例:http://localhost:8080/test/r?age=123&name=defbv.

温馨提示:内容为网友见解,仅供参考
无其他回答

出现HTTP Status405怎么办?
出现HTTP Status405的代码的改正方法:是因为servlet没有跳转,加上“请跳转 response.getRequestDispatch(url).forward(request,response)”程序如下:public class request_2 extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException...

HTTP Status 405 错误
405是你方法的问题,JSP页面提交的时候用的是POST方法,你在servlet类里只重写了doget方法,只能处理get请求,处理不了post请求。可以重写service方法,两种请求都可以处理。

HTTP Status 405 错误如何解决?
解决方案:在Servlet中调用这个方法就行了。对于错误2:解决方案:把request.getRequestDispatcher("FindByIdServlet?id="+commentPostId).forward(request, response);改成response.sendRedirect("FindByIdServlet?id="+commentPostId);

什么是网页“405”不允许?
服务已失效,简单说就是网站关了或者被限制访问了

jsp spring mvc 上传时HTTP Status 405 - Request method 'GET' not...
可以将SpringMVC中的@RequestMapping的method改为RequestMethod.GET试试 一般405报错就是请求方式的问题

Django405报错什么原因(2023年最新解答)
网站访问出现错误代码405,请问怎么解决?一、工具 1、idea 2、java 二、方法:1、本例就以java的文本开发的网站来举例说明,其实网页HTTP的405错误和开发语言没有直接关系,只是实现方式不一样而已。知道导致405的原因和解决思路即可。首先看下405错误的示例,有method = RequestMethod.POST限制。2、405...

jsp spring mvc 上传时HTTP Status 405 - Request method 'GET' not...
405:用来访问本页面的 HTTP 谓词不被允许(方法不被允许)请求方法(GET、POST、HEAD、DELETE、PUT、TRACE等)对指定的资源不适用。还有其他的报错信息么,应该是你使用的方法出现问题

HTTP状态码4xx 请求错误
客户端需提供恰当的Authorization头后重新请求。402(Payment Required):预留状态码,未来可能需要付费才能访问。403(Forbidden):服务器理解了请求,但拒绝执行。请求不应重复提交,除非服务器明确说明原因。404(Not Found):请求的资源在服务器上未找到,可能暂时或永久不可用。405(Method Not Allowed)...

HTTP Status 404 问题怎么解决??
1、选中项目名右键点击Propertiesweb就会出现这样的,在箭头指位置改成你当前的项目名,如果可以改动那就成功重启myeclipse运行就可以。2、如果有些不能改那就进行第二步,找到项目的settings的org.eclipse.wst.common.component这个文件.3、然后用记事本打开,修改这几个地方就可以了,改成相应的项目名,就...

HTTP Status 404 问题怎么解决??
当遇到HTTP Status 404问题时,可以采取以下步骤来解决:首先,检查项目设置。在MyEclipse中,右键点击项目名,选择'Properties',找到与项目相关的web配置项,确保URL路径与当前项目名称匹配。如果可以修改,重启MyEclipse运行即可解决404问题。如果项目设置无法更改,可以进一步检查项目设置的org.eclipse.wst....

相似回答