HTTP状态405 - 此URL不支持HTTP方法GET。请求的资源不允许使用指定的HTTP方法

时间:2016-04-21 07:05:23

标签: java

在这里帮帮我们...我已经添加了servlet jar文件和mysql连接器jar文件但它显示的错误如HTTP状态405 - 此方法不支持HTTP方法GET。不允许指定的HTTP方法请求资源。我已经尝试了所有可能的解决方案,但我得到了同样的错误。

Regform.java

package com.servlet.info;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import com.mysql.jdbc.Driver;
import java.sql.PreparedStatement;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class Regform extends HttpServlet {


@Override 
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    response.setContentType("text/html");
    PrintWriter out = response.getWriter();

    String fNM = request.getParameter("firstName");
    String lNM = request.getParameter("lastName");
    String eID = request.getParameter("emailID");
    String uNM = request.getParameter("userName");
    String pass = request.getParameter("password");

    try{

    //loading drivers for mysql
         com.mysql.jdbc.Driver mySqlDriverClassRef = new com.mysql.jdbc.Driver();
         DriverManager.registerDriver(mySqlDriverClassRef);
//creating connection with the database 
   Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/student_form?&useSSL=false", "j2ee" ,"j2ee");
    PreparedStatement ps=con.prepareStatement
              ("insert into student values(?,?,?,?,?);");

    ps.setString(1, fNM);
    ps.setString(2, lNM);
    ps.setString(3, eID);
    ps.setString(4, uNM);
    ps.setString(5, pass);
    int i=ps.executeUpdate();

      if(i>0)
      {
        out.println("You are sucessfully registered");
      }

    }
    catch(Exception e)
    {
        e.printStackTrace();
    }

  }
}

的index.html

 <html>
<head>
    <title>Register form</title>
</head>
<body>
    <form action="/register" method="POST" >
     firstName:<input type="text" name="firstName" /><br/>
     lastName:<input type="text" name="lastName" /><br/>
     emailID :<input type="text" name="email" /><br/>
     userName:<input type="text" name="userName" /><br/>
     Password:<input type="text" name="pass" /><br/>
    <input type="submit" value="register" />
    </form>
</body>

的web.xml

<?xml version="1.0" encoding="UTF-8"?>
 <web-app  version="3.0" 
  xmlns="http://java.sun.com/xml/ns/javaee" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" >
<welcome-file-list>
    <welcome-file>index.html</welcome-file>
</welcome-file-list>


<servlet>
    <servlet-name>Regform</servlet-name>
    <servlet-class>com.servlet.info.Regform</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>Regform</servlet-name>
    <url-pattern>/register</url-pattern>
</servlet-mapping>

2 个答案:

答案 0 :(得分:0)

尝试在Java下面添加以下内容,看看它是否有效

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

答案 1 :(得分:0)

我建议您始终编写在 doProcess 方法中的 doPost 和 doGet 方法中定义的代码。