Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 此URL不支持HTTP方法GET,状态为405_Java_Mysql_Eclipse_Tomcat_Servlets - Fatal编程技术网

Java 此URL不支持HTTP方法GET,状态为405

Java 此URL不支持HTTP方法GET,状态为405,java,mysql,eclipse,tomcat,servlets,Java,Mysql,Eclipse,Tomcat,Servlets,我试图创建一个servlet,它使用GetTicketInfo类从HTML表单读取数据,并使用WriteToDatabase类将数据插入MySQL数据库。 问题是,当我填写HTML表单并按下按钮时,Register Ticket(注册票证),它应该开始将数据插入数据库的过程,我在浏览器中收到此错误HTTP Status 405-此URL不支持HTTP方法get。包含表单的my index.html的URL是http://localhost/IssueHandler/index.html 我使用A

我试图创建一个servlet,它使用GetTicketInfo类从HTML表单读取数据,并使用WriteToDatabase类将数据插入MySQL数据库。 问题是,当我填写HTML表单并按下按钮时,Register Ticket(注册票证),它应该开始将数据插入数据库的过程,我在浏览器中收到此错误HTTP Status 405-此URL不支持HTTP方法get。包含表单的my index.html的URL是http://localhost/IssueHandler/index.html 我使用ApacheTomcat7.0.34服务器

控制台不会打印任何错误,但会打印两条警告:

WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:CDM' did not find a matching property.
jan 12, 2015 5:42:06 EM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:IssueHandler' did not find a matching property.
jan 12, 2015 5:42:07 EM org.apache.catalina.core.AprLifecycleListener initializeSSL
我猜这与表单找不到servlet有关,但我真的不知道。我尝试将servlet映射标记等添加到web.xml文件中,但没有任何帮助

GetTicketInfo

写数据库

索引

web.xml


您尚未提供对的覆盖。这就是Servlet容器使用的方法

你提供了

public void doGet(HttpServletRequest request,
        HttpServletResponse response, String tID) {
    tID=request.getParameter("ticketID");
    ticketID1=tID;

}
这是一种完全不相关的方法


提示:用@Override注释您认为要覆盖的方法。

要将表单数据发送到服务器,您应该根据您的注释使用POST.updated。不过我的错误没有什么不同。我觉得这里有点深不可测,如果我添加@Override注释,代码中就会出现这个错误。GetTicketInfo类型的方法doGetHttpServletRequest、HttpServletResponse和String必须重写或实现超类型method@bork确切地该方法没有覆盖任何内容。您可以使用@Override来确保这就是您正在做的。您提供的doGet方法与任何父类方法无关。您需要重写父类doGet方法,该方法具有我链接到的签名。谢谢。我现在正在重写该方法,但在我的浏览器中仍然会出现与以前相同的错误。@bork请用更新的代码编辑您的问题。
package com.issue.handler;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

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

public class WriteToDatabase {



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


        GetTicketInfo myGetTicketInfo = new GetTicketInfo();






        try(    PrintWriter out = response.getWriter()) {
            String host = "jdbc:derby://localhost:1527/school_server";
            String uName = "testuser";
            String uPass = "testuser";
            Connection con = DriverManager.getConnection(host, uName, uPass);



            String query = "INSERT INTO issues (ticketID, ticketOwner, ticketTitle, ticketHandler, ticketCategory, ticketDescription, ticketDate)"+ "VALUES(?,?,?,?,?,?,?)";

            PreparedStatement preparedStmt = con.prepareStatement (query);


            preparedStmt.setString(1,myGetTicketInfo.getTicketID());
            preparedStmt.setString(2,myGetTicketInfo.getTicketOwner());
            preparedStmt.setString(3,myGetTicketInfo.getTicketTitle());
            preparedStmt.setString(4,myGetTicketInfo.getTicketHandler());
            preparedStmt.setString(5,myGetTicketInfo.getTicketCategory());  
            preparedStmt.setString(6,myGetTicketInfo.getTicketDescription());
            preparedStmt.setString(7,myGetTicketInfo.getTicketDescription());

            preparedStmt.execute();

        }catch (Exception e) {
            System.err.println("Got an exception!");
            System.err.println(e.getMessage());}



    } 


}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Issue Handler</title>
</head>
<body>
<h1>Issue Handler</h1>

<FORM ACTION="issueHandler" method="get">
  Ticket ID:
  <INPUT TYPE="TEXT" NAME="ticketID" VALUE=""><BR>

  Ticket Owner:
  <INPUT TYPE="TEXT" NAME="ticketOwner" VALUE=""><BR>

  Ticket Title:
  <INPUT TYPE="TEXT" NAME="ticketTitle" VALUE=""><BR>

  Ticket Handler:
  <INPUT TYPE="TEXT" NAME="ticketHandler" VALUE=""><BR>

  Ticket Category:
  <INPUT TYPE="TEXT" NAME="ticketCategory" VALUE=""><BR>

  Ticket Description:
  <INPUT TYPE="TEXT" NAME="ticketDescription" VALUE=""><BR>

  Ticket Date:
  <INPUT TYPE="TEXT" NAME="ticketDate" VALUE=""><BR>



    <INPUT TYPE="SUBMIT" VALUE="Register Ticket">
</FORM>

</body>
</html>
<web-app 
    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"
    version="3.0">
  <display-name>Issue Handler</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>  
  </welcome-file-list>


</web-app>
public void doGet(HttpServletRequest request,
        HttpServletResponse response, String tID) {
    tID=request.getParameter("ticketID");
    ticketID1=tID;

}