2016-10-02 86 views
0

我遇到了有关我的Java servlet和应用程序的问题。我拉着头发试图了解如何使这些servlet在浏览器中正确工作并输出。我在下面附上我的代码,请指出我的方向以使此程序正常工作。我了解示例代码与被告知要做什么。我不想找你做我的工作,只需要视觉上的帮助。所有的帮助非常感谢。JSP未显示结果

的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> 
+0

当你点击提交按钮时你会得到什么? –

+0

你是说jsp没有显示结果。 jsp代码在哪里?确保你有任何异常堆栈,请将它添加到你的问题中。 –

回答

1

更改的index.html到
<form action="WFormPost3" method="post">

你的表单动作

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