【问题标题】:Why am I getting a blank page in my servlet program为什么我的 servlet 程序中出现空白页
【发布时间】:2019-03-14 16:21:22
【问题描述】:

我正在使用 netbeans 8.2 和 Apache Tomcat 服务器。每当我运行程序时,我都会进入注册页面。但是当我提交信息时,我应该得到一个输出。但我总是得到一个空白页。我使用的是 JAVA 中存在的数据库。请帮助我必须提交我的java项目;_;。我仍然需要创建一个登录页面。 提前致谢。

Jsp 程序

<%-- 
Document   : registeration
Created on : Mar 12, 2019, 10:24:50 AM
Author     : Pranav Sharma
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
</head>
<body>
    <div align="center">
    <form action="Registeration" method="POST">
        User Name:<input type="text" name="user" required="required"><br>
        Password : <input type="password" name="password" 
        required="required"><br>
        Age : <input type="text" name="age" required="required" /><br>
        Gender : <select name="gender">
            <option>Male</option>
            <option>Female</option>
            <option>Transgender</option>
        </select><br>
        Event : <select name="event" multiple="multiple">
            <option>Mr.Tanwar Body Building</option>
            <option>Fashion Show</option>
            <option>Dance</option>
            <option>Singing</option>
            <option>Coding</option>
        </select><br>
        <input type="submit" value="REGISTER" />
        <input type="reset" value="RESET" />

    </form>
</div>
</body>

Servlet 程序

     package jdbc;
     import java.io.IOException;
     import java.io.PrintWriter;
     import java.sql.Connection;
     import java.sql.DriverManager;
     import java.sql.PreparedStatement;
     import java.sql.SQLException;
     import java.util.logging.Level;
     import java.util.logging.Logger;
     import javax.servlet.ServletException;
     import javax.servlet.annotation.WebServlet;
     import javax.servlet.http.HttpServlet;
     import javax.servlet.http.HttpServletRequest;
     import javax.servlet.http.HttpServletResponse;
     @WebServlet(name="Registeration", urlPatterns={"/Registeration"})

     public class Registeration extends HttpServlet 
     {
     private static final long serialVersionUID = 1L;

public Registeration(){
    super();
}

 protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException{
    try {
        String name = request.getParameter("user");
        String password = request.getParameter("password");
        String age = request.getParameter("age");
        String gender = request.getParameter("gender");
        String event = request.getParameter("event");
        String sql = "insert into 
        registeration(name,password,age,gender,event) values(?,?,?,?,?)";
        Class.forName("org.apache.derby.jdbc.ClientDriver");
        Connection conn = DriverManager.getConnection("jdbc:derby://localhost:1527/RegForm","pranav","sharma");
        PreparedStatement ps = conn.prepareStatement(sql);
        ps.setString(1,name);
        ps.setString(2,password);
        ps.setString(3,age);
        ps.setString(4,gender);
        ps.setString(5,event);
        ps.executeUpdate();
        PrintWriter out = response.getWriter();
        out.println("You have successfully registered!");
    } 
    catch (ClassNotFoundException e) {
        e.printStackTrace();
    } 
    catch (SQLException e) {
        e.printStackTrace();
    }
}

}

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>Registeration</servlet-name>
    <servlet-class>jdbc.Registeration</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>Registeration</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

【问题讨论】:

  • 你的数据有没有被插入到你的表中?
  • @Swati 不,桌子还是空的。
  • 你有什么例外吗?
  • @Ros5292 我遇到了异常,但我以某种方式解决了它们(感谢堆栈溢出)。但我现在得到的只是空白屏幕。;_;
  • @AbdelghaniRoussi 在我的大学课程中。 ;_;

标签: java jsp servlets


【解决方案1】:

我创建了一个使用 sql server 作为数据库的 java-servlet 项目。下划线项目从 ui 中获取输入并保存到数据库中。

将数据插入数据库后,会显示记录插入成功与否。

根据您的数据库更改 DBConnectionUtils

String url = "jdbc:mysql://localhost:3306/";
String dbName = "root";
String driver = "com.mysql.jdbc.Driver";

这是github上的项目链接https://github.com/rosmahajan/java-servlet

否则,请发布更多信息,例如您遇到的任何异常或错误,以调查您的代码有什么问题。

希望对你有帮助!!

【讨论】:

  • 谢谢。我会试试你的代码,如果我得到任何地方,我会告诉你。另外我只是想问一下我的代码是否做错了什么。我是 servlet 和 jsp 的新手。只是想知道我是否做错了什么。
  • 我没有收到任何错误或异常。每当我填写表格并提交时,只是一个空白页。
  • 但是您的数据没有插入数据库对吗?