2013-02-14 69 views
1

得到一個空白的屏幕這是我所創建的servlet和它給我只是一個空白屏幕,當我運行它:我從我的Oracle的servlet

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

public class salesWOBriensrv extends HttpServlet { 



/** 
* 
* @param request 
* @param response 
* @throws ServletException 
* @throws IOException 
*/ 

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

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

    try{ 

     Class.forName("oracle.jdbc.driver.OracleDriver"); 

     connection = DriverManager.getConnection("jdbc:oracle:thin:@xxxx.xxxx.xxxx:1521:xxxx","xxxx","xxxxx"); 

     Statement stmt = connection.createStatement(); 

     ResultSet rs = stmt.executeQuery("SELECT * FROM sales ORDER BY sale_amount, sale_date"); 

     out.println("<html>"); 
     out.println("<head>"); 
     out.println("<title>Step 2 - Java Servlet for SALES Data/title>"); 
     out.println("</head>"); 
     out.println("<body>"); 
     out.println("<h1>Step 2 - Java Servlet for SALES Data</h1>"); 
     out.println("<table border='1'>"); 
     out.println("<b><th><tr><td>Sales ID</td>" + 
           "<td>Home ID</td>" + 
           "<td>Customer ID</td>" + 
           "<td>Agent ID</td>" + 
           "<td>Sale Date</td>" + 
           "<td>Sale Amount</td>" + 
           "<td></td>Contract ID</tr></th></b>"); 
     while (rs.next()) { 

      // Get the columns from the current row of the result set 
      String saleID = rs.getString(1); 
      String homeID = rs.getString(2); 
      String customerID = rs.getString(3); 
      String agentID = rs.getString(4); 
      String saleDate = rs.getString(5); 
      String saleAmnt = rs.getString(6); 
      String contractID = rs.getString(7); 

      out.println("<tr><td>" + saleID + "</td>" + 
          "<td>" + homeID + "</td>" + 
          "<td>" + customerID + "</td>" + 
          "<td>" + agentID + "</td>" + 
          "<td>" + saleDate + "</td>" + 
          "<td>" + saleAmnt + "</td>" + 
          "<td>" + contractID + "</td></tr>"); 
     } 

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

    } 


    catch (Exception e){ 
    out.println("<html>"); 
    out.println("<body>"); 
    out.println("Error"); 
    out.println("</body>"); 
    } 

} 




/** 
* Handles the HTTP 
* <code>POST</code> method. 
* 
* @param request servlet request 
* @param response servlet response 
* @throws ServletException if a servlet-specific error occurs 
* @throws IOException if an I/O error occurs 
*/ 


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

    doGet (request, response); 

} 

} 

我代替我的連接字符串與X的,但我知道我有什麼是對的。任何幫助將不勝感激。

+0

沒關係.....小白錯誤,didnt年底有「<」我標籤.... – ssgtob1 2013-02-14 03:51:50

+0

做**不**每次調用servlet時都打開一個連接。使用連接池,否則,如果流量增加,您將殺死服務器。但是你至少應該在finally塊中關閉連接。 – 2013-02-16 18:40:21

回答

1

我猜的PrintWriter不刷新內容。 你可以試試這個

out.flush(); 

你的代碼

0

試試這個順序在servlet代碼來創建PrintWriter對象

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