JSP未显示结果

时间:2016-10-02 21:54:21

标签: java jsp servlets oracle11g

我的Java servlet和应用程序出现问题。我正在试着理解如何使这些servlet正常工作并在浏览器中输出。我已在下面附上我的代码,请指出我的方向以使该程序正常工作。我理解示例代码与被告知该怎么做。我不是在找你做我的工作,只是需要视觉上的帮助。非常感谢所有帮助。

的Servlet

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;

public class FormPost3 extends HttpServlet{
private static final long serialVersionUID = 1L;
Connection con = null;

public void Form3(){
    init();
    }

public void init(){
    try{
        Class.forName ("oracle.jdbc.driver.OracleDriver");
        con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:7070:XE", "student2", "pass");
        Statement stmt = con.createStatement();
        stmt.executeUpdate("CREATE TABLE MYTABLE (FNAME VARCHAR2(20),LNAME VARCHAR2(40), PHONE VARCHAR2(20))");
        stmt.close();
    }
    catch (Exception e){
    }
}

public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("<html><body>");
    out.println("<form action='" + request.getRequestURL() + "' method='post' >");
    out.println("First Name:");
    out.println("<input type='text' name='FNAME' />");
    out.println("<br>");

    out.println("Last Name:");
    out.println("<input type='text' name='LNAME' />");
    out.println("<br>");

    out.println("Phone:");
    out.println("<input type='text' name='PHONE' />");
    out.println("<input type='submit' value='Submit' />");
    out.println("</form>");

    out.println("</body></html>");
    out.close();
}

public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{
    try{
        if (con != null)
            init();
        String fname = request.getParameter("FNAME");
        String lname = request.getParameter("LNAME");
        String phone = request.getParameter("PHONE");
        Statement stmt = con.createStatement();
        stmt.executeUpdate("INSERT INTO MYTABLE VALUES('" + fname + "', '" + lname + "', '" + phone + "')");
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html><body>");
        ResultSet rset = stmt.executeQuery("SELECT * FROM MYTABLE");
        while (rset.next()){
            out.print("<pre>");
            out.print("First Name: " + rset.getString(1));
            out.print("</pre>");
            out.println();
            out.print("<pre>");
            out.print("Last Name: " + rset.getString(2));
            out.print("</pre>");
            out.println();
            out.print("<pre>");
            out.print("Phone: " + rset.getString(3));
            out.print("</pre><br>");
            out.println();
            out.println();
        }
        out.println("</body></html>");
        out.close();
        stmt.close();
    }
    catch (Exception e){
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html><body>");
        out.println(e.getMessage());
        out.println("</body></html>");
        out.close();
        }
    }
}

Web.xml中     

<web-app version="2.5" 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_2_5.xsd">

    <session-config>

        <session-timeout>

            30

        </session-timeout>

    </session-config>

   <welcome-file-list>

        <welcome-file>index.jsp</welcome-file>

    </welcome-file-list>

    <servlet>

        <servlet-name>FormPost3</servlet-name>

        <servlet-class>FormPost3</servlet-class>

    </servlet>

    <servlet-mapping>

        <servlet-name>FormPost3</servlet-name>

        <url-pattern>/FormPost3</url-pattern>

        </servlet-mapping>

</web-app>

的index.html

<html>

<head>

</head>

<body>

    <h3 align="center">Storing Employee Details</h3>

    <form action="/WFormPost3" method="post">

        <div align="center">

        Empno: <input type="text" size="20" name="empno"/>

        <br><br>

        Ename <input type="text" size="20" name="ename"/>

        <br><br>

        Salary <input type="text" size="20" name="sal"/>

        <br><br>

        <input type="submit" value="insert" />

        <div>

    </form>

</body>

</html>

1 个答案:

答案 0 :(得分:1)

将index.html中的表单操作更改为
<form action="WFormPost3" method="post">

通过调试确保doPost servlet的WFormPost3.java方法中不存在任何异常。