2013-02-14 2 views
1

Это сервлет я создал, и это дает мне только пустой экран, когда я запускаю его:я получаю пустой экран от моего оракула сервлета

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); 

} 

} 

Я заменил мои строки соединения с й, но я знаю, что у меня там есть. Любая помощь будет принята с благодарностью.

+0

Никогда не возражаете ..... нуб ошибка, Didnt есть «<» на моем теге .... – ssgtob1

+0

ли ** не ** открывайте соединение каждый раз, когда вызывается сервлет. Используйте пул соединений, иначе вы собираетесь убить ваш сервер, если увеличивается трафик. Но вы должны хотя бы * закрыть * соединение в блоке finally. –

ответ

1

Моего Угадай PrintWriter не смывание содержания. Вы можете попробовать это

out.flush(); 

в конце кода

0

попробовать этот порядок в коде сервлета создать PrintWriter объект

response.setContentType("text/html"); 
PrintWriter out = response.getWriter(); 
Смежные вопросы