2016-05-14 3 views
0

У меня есть статус HTTP 404 - Не найдено.JSP/JDBC: Статус HTTP 404 - Не найдено

Я использую Netbeans IDE и Glassfish sever и MySql как базу данных. Я не могу понять, почему у меня ошибка. Вот мои коды. Я новичок.

Спасибо!

Это мой JSP файл:

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>User Application Registration</title> 
</head> 
<body> 
    <h1>Registration Page</h1> 
    <form action="ServletRegister" method="post"> 
     Name: <input type="text" name="name"><br/> 
     Password: <input type="password" name="password"><br/> 
     Email: <input type="text" name="email"><br/> 
     Language: <select name="language"> 
      <option>Hindi</option> 
      <option>English</option> 
      <option>Bengali</option> 
     </select><br/> 
     <input type="submit" value="Submit"/> 
    </form> 
</body> 

Это мой Servlet файл:

package RegisterPackage; 
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.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

public class ServletRegister extends HttpServlet { 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 



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

    String n = request.getParameter("name"); 
    String p = request.getParameter("password"); 
    String e = request.getParameter("email"); 
    String l = request.getParameter("language"); 

    try { 
     Class.forName("com.mysql.jdbc.Driver"); 
     Connection con = DriverManager.getConnection(
        "jdbc:mysql://localhost:3306/demo", "root", "root"); 
     PreparedStatement ps = con.prepareStatement("insert into userdetails values(?,?,?,?)"); 

     ps.setString(1, n); 
     ps.setString(2, p); 
     ps.setString(3, e); 
     ps.setString(4, l); 

     int i = ps.executeUpdate(); 
     if (i > 0) 
      out.print("You are successfully registered!"); 
    } 
    catch (Exception e2) { 
     System.out.println(e2); 
    } 
    out.close(); 
} 

}

Это web.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"> 
    <servlet> 
     <servlet-name>ServletRegister</servlet-name> 
     <servlet-class>RegisterPackage.ServletRegister</servlet-class> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>ServletRegister</servlet-name> 
     <url-pattern>/ServletRegister</url-pattern> 
    </servlet-mapping> 
    <session-config> 
     <session-timeout> 
      30 
     </session-timeout> 
    </session-config> 
</web-app> 

Структура каталогов в среде NetBeans:

enter image description here

Мой выход:

enter image description here

ответ

3

Там нет ничего ваш веб-приложение, которое обрабатывает запрос к корневому контексту http://localhost:8080/UserApplication поэтому контейнер сервлетов возвращает 404 not found ошибку:

  • Ваш сервлет прослушивает только http://localhost:8080/UserApplication/ServletRegister
  • Ваша страница JSP не видно, так как вы поставили его в WEB-INF

Вы можете перейти на страницу JSP в каталог Web Pages, исправить имя (register.jsp), а затем вызвать http://localhost:8080/UserApplication/register.jsp

+0

Спасибо большое! @wero – trishnag

Смежные вопросы