2017-11-30 3 views
0

MySQL에서 내 테이블의 한 열에서 데이터를 검색하고 전체 행을 .jsp 파일로 표시하려고합니다. 지금 당장 코드를 실행하면 값이없는 테이블이 인쇄됩니다. As Shown here. 나는 review.jsp 페이지를 인쇄 할 수는 MySQL DB에서 값을 끌어하려고서블릿을 사용하는 JSP에서 MySQL

<%@ 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> 

:

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) { } 
    } 
    } 
} 

여기 내 reivew 페이지입니다. 내가 뭘 잘못하고 있는지에 대한 아이디어가 있습니까?

답변

1

안녕하세요, 나는 오타

변경이 req.setAttribute("course", Course);

최고의하여이 req.setAttribute("Course", Course);,

+0

감사합니다 생각! 그게 대부분 수정 됐어. 하지만 리뷰가 표시되지 않습니까? – Josh

+0

Debug를 만들고'rs.getString ("review")'가 null이고 빈 문자열과 다른지 확인할 수 있습니까? – Ele

+0

도움을 주셔서 감사합니다, 내 콩에 오류가 발생했습니다. 일단 내가 바로 그 일이 바로 잡혔다. – Josh

관련 문제