2017-11-30 4 views
0

Ich versuche, Daten aus einer Spalte meiner Tabelle in MySQL abzurufen und die gesamte Zeile in einer JSP-Datei anzuzeigen. Jetzt, wenn ich den Code ausführe, druckt er die Tabelle ohne Werte. As Shown here.MySQL zu JSP mit Servlet

import java.sql.*; 
import javax.servlet.*; 
import javax.servlet.annotation.WebServlet; 
import java.io.IOException; 
import java.io.PrintWriter; 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 

import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

import com.mysql.jdbc.PreparedStatement; 

@WebServlet("/review") 
public class findservlet1 extends HttpServlet { 
    /** 
    * 
    */ 
    private static final long serialVersionUID = 8402378218178447403L; 

public void doGet(HttpServletRequest req, HttpServletResponse res) 
           throws ServletException, IOException { 

    // res.setContentType("text/html"); 
    PrintWriter out = res.getWriter(); 
    Connection conn = null; 
     //using movie_resolved view 
    try{ 
     // Get a Connection to the database 
     String DB_CONNECTION_URL = "jdbc:mysql://localhost:3306/mydatabase"; 
     String DB_USERNAME = "root"; 
     String DB_PASSWORD = "root"; 
     Class.forName("com.mysql.jdbc.Driver"); 
     Connection con = DriverManager.getConnection(DB_CONNECTION_URL, DB_USERNAME, DB_PASSWORD); 
    // Create a Statement object 
     PreparedStatement st = (PreparedStatement) con.prepareStatement("SELECT * FROM coursereview"); 

     ResultSet rs = st.executeQuery(); 

    if (rs.next()) 
     { 

     com.java.bean.coursereview Course = new com.java.bean.coursereview(); 
     Course.setCourse_id(rs.getString("courseid")); 
     Course.setCourserate(rs.getString("courserate")); 
     Course.setProfessor(rs.getString("professor")); 
     Course.setProrate(rs.getString("prorate")); 
     Course.setReview(rs.getString("review")); 
     req.setAttribute("Course", Course); 
     RequestDispatcher view = req.getRequestDispatcher("review.jsp"); 
      view.forward(req, res); 
     } 


    } 
    catch(ClassNotFoundException e) { 
    out.println("Couldn't load database driver: " + e.getMessage()); 
    } 
    catch(SQLException e) { 
     out.println("SQLException caught: " + e.getMessage()); 
    } 
    finally { 
     // Always close the database connection. 
     try { 
     if (conn != null) conn.close(); 
     } 
     catch (SQLException ignored) { } 
    } 
    } 
} 

Hier ist meine Reivew Seite:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<link rel="stylesheet" href="styles/style1.css"> 
<meta http-equiv="Content-Type" content="text/css; charset=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<body> 

<div class="banner"> 
    <img class="banner-image" src="images/uncclogo400.jpg"></div> 
    <h2>Review a Course</h2> 
    <table> 
     <TR> 
      <TD>Course ID: </TD> 
      <TD>${course.courseid}</TD> 
     </TR> 

     <TR> 
      <TD>Course Rate: </TD> 
      <TD>${course.courserate}</TD> 
     </TR> 
     <TR> 
      <TD>Professor: </TD> 
      <TD>${course.professor}</TD> 
     </TR> 
     <TR> 
      <TD>Professor Rate: </TD> 
      <TD>${course.prorate}</TD> 
     </TR> 
     <TR> 
      <TD>Review: </TD> 
      <TD>${course.review}</TD> 
     </TR> 

     </table> 
</body> 
</html> 

Ich versuche, die Werte aus der MySQL-DB zu ziehen, um die review.jsp Seite zu drucken. Irgendwelche Ideen, was ich falsch mache?

Antwort

1

Hallo, ich denke, es ist ein Tippfehler

Ändern Sie diese req.setAttribute("Course", Course); dieses req.setAttribute("course", Course);

Best,

+0

Dank! Das hat das meiste davon behoben. Aber jetzt wird keine Rezension angezeigt? – Josh

+0

Können Sie einen Debuggen und überprüfen, ob 'rs.getString (" review ")' ist anders als null und leer String? – Ele

+0

Vielen Dank für die Hilfe, es gab einen Fehler in meiner Bean. Sobald ich das korrigiert habe, ist es richtig angekommen. – Josh