【问题标题】:Passing value from jsp to servlet but servlet is not available将值从 jsp 传递到 servlet 但 servlet 不可用
【发布时间】:2015-11-01 15:51:25
【问题描述】:

我正在使用 intellij idea 14 使用 servlet 和 jsp 创建一个 Web 应用程序,但是每当我尝试从 jsp 传递值时,都会出现错误

HTTP Status 404 - /Books/BookSaleAuctionServlet

type Status report

message /Books/BookSaleAuctionServlet

description The requested resource is not available.

Apache Tomcat/7.0.30

我的文件是: index.jsp

<form method= "get" action="Books/BookSaleAuctionServlet">
  UserName : <input type="text" name="name" id="name">
  Address : <input type="text" name="address" id="address">
  Contact : <input type="tel" name="contactNo" id="contactNo">
  Email : <input type="email" name="email" id="email">
    Password : <input type="password" name="pass" id="pass">
    <input type="submit" name="save">

Books 包内有BookSaleAuctionServlet 的servlet,它包含

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String name = request.getParameter("name");
        String address = request.getParameter("address");
        String contact = request.getParameter("contact");
        String email = request.getParameter("email");
        String pass = request.getParameter("pass");
        System.out.println("check 1");
        try {
            Class.forName("com.mysql.jdbc.Driver");
        }
        catch(ClassNotFoundException e) {
            System.out.println("Class not found "+ e);
        }
        System.out.println("JDBC Class found");
        try {
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost/logins", "root", "");
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery
                    ("CREATE TABLE members (user_id int(11) NOT NULL AUTO_INCREMENT,\n" +
                            "    username varchar(45) NOT NULL,\n" +
                            "    password varchar(45) NOT NULL,\n" +
                            "    contact varchar(45) NOT NULL,\n" +
                            "    email varchar(45) NOT NULL,\n" +
                            "    PRIMARY KEY (user_id)\n" +
                            "); ");        }
        catch(SQLException e){
            System.out.println("SQL exception occured" + e);
        }
        System.out.print("done with databases");
    }

web.xml

<servlet>
        <servlet-name>BookSaleAuctionServlet</servlet-name>
        <servlet-class>Books.BookSaleAuctionServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>BookSaleAuctionServlet</servlet-name>
        <url-pattern>/bookSaleAuction</url-pattern>
    </servlet-mapping>

请帮忙

【问题讨论】:

  • 您应该阅读 web.xml 中 &lt;servlet-mapping&gt; 配置中 &lt;url-pattern&gt; 的含义

标签: java jsp servlets intellij-idea


【解决方案1】:

改变 action="Books/BookSaleAuctionServlet"action="/bookSaleAuction"

【讨论】: