³ÎÆ÷ÀÎÅÍ ¿¡·¯°¡ ÀÚ²Ù ³ª¼ À̺κп¡ ´ëÇؼ Áú¹®Á» ÇصµµÉ±î¿©
mvc list page¿¡ °ªÀ» ¾ò¾î¿Í¼ Ãâ·ÂÇÏ·Á°í Çϴµ¥ ¿¡·¯°¡ ¹ß»ýÇؼ¿ä
dbTest¿¡¼ db¿¡¼ °ª¾ò¾î¿À±â ½ÇÇàÀº µÇ°í
À妽º¿¡¼ ¸®½ºÆ® ÆäÀÌÁö¸¦ Ãâ·ÂÇϴ°͵µ µÇ´Âµ¥
À̺κп¡¼ ¿¡·¯°¡ ³ª¿ä
===================================================================
¸®½ºÆ® ÆäÀÌÁö¸¦ ´ÙÁö¿ì°í À̺κи¸ ³²°å´Âµ¥µµ ³ÎÆ÷ÀÎÅÍ ¿¡·¯°¡ ³ª´õ¶ó±¸¿©
´Ù¸¥ ÆäÀÌÁöµµ °°ÀÌ Ã·ºÎÇߴµ¥ ÀÌÀ¯¸¦ ã¾ÆÁÖ½Ã¸é °¨»çÇÏ°Ú½À´Ï´Ù.
==========================================
list.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<%@ page import = "java.util.*" %>
<%@ page import = "app.mvc.board.*" %>
<%
int total = Integer.parseInt(request.getAttribute("total").toString());
out.println(String.valueOf(total));
%>
==============================================
(BoardDAO.JAVA)
package app.mvc.board;
import javax.naming.*;
import javax.sql.*;
import java.sql.*;
import java.util.*;
public class BoardDAO {
private Context initContext, envContext;
private DataSource ds;
private Connection con;
private Statement stmt;
private PreparedStatement pstmt;
private ResultSet rs;
public BoardDAO()throws NamingException{
initContext = new InitialContext();
envContext =(Context)initContext.lookup("java:comp/env");
ds = (DataSource)envContext.lookup("jdbc/RTFD");
}
// list
public int getTotalRecord(){
int total = 0;
String sql = "select count(*) from tblBoard";
//String sql= "select * from tblBoard";
try{
con = ds.getConnection();
stmt = con.createStatement();
rs = stmt.executeQuery(sql);
if(rs.next()){
//if(rs != null){
total = rs.getInt(1);
}
}
catch(Exception e){
System.out.println("getTotalRecord : " + e);
}
finally{
try{rs.close();}catch(SQLException err){}
try{stmt.close();}catch(SQLException err){}
try{con.close();}catch(SQLException err){}
}
return total;
}
public List BoardList(){
String sql = "select * from tblBoard order by b_idx desc";
List list = new ArrayList();
try{
con = ds.getConnection();
stmt = con.createStatement();
rs = stmt.executeQuery(sql);
while(rs.next()){
BoardDO vo = new BoardDO();
vo.setB_idx(rs.getInt("b_idx"));
vo.setB_id(rs.getString("b_id"));
vo.setB_pw(rs.getString("b_pw"));
vo.setB_name(rs.getString("b_name"));
vo.setB_email(rs.getString("b_email"));
vo.setB_title(rs.getString("b_title"));
vo.setB_content(rs.getString("b_content"));
vo.setB_group(rs.getInt("b_group"));
vo.setB_level(rs.getInt("b_level"));
vo.setB_date(rs.getString("b_date"));
vo.setB_cnt(rs.getInt("b_cnt"));
list.add(vo);
}
}
catch(Exception e){
System.out.println("BoardList : " + e);
}
finally{
try{rs.close();}catch(SQLException err){}
try{stmt.close();}catch(SQLException err){}
try{con.close();}catch(SQLException err){}
}
return list;
}
}
==============================================================================================
BoardController.java
package app.mvc.board;
import java.io.IOException;
import javax.naming.NamingException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
public class BoardController extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
doService(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
doService(req, resp);
}
protected void doService(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException {
String reqUri = req.getRequestURI();
String ctPath = req.getContextPath();
String cmd = reqUri.substring(ctPath.length());
String nextPage = null;
if(cmd.equals("/list.board")){
try{
BoardDAO dao = new BoardDAO();
List list = dao.BoardList();
req.setAttribute("list", list);
req.setAttribute("total", dao.getTotalRecord());
}
catch(NamingException e){
e.printStackTrace();
}
nextPage = "board/list.jsp";
}
else if(cmd.equals("/searchList.board")){
}else if(cmd.equals(" /searchList.board")){
}else if(cmd.equals("/write.board")){
}else if(cmd.equals(" /read.board")){
}else if(cmd.equals(" /delete.Board")){
}
else if(cmd.equals("reply.board")){
}
RequestDispatcher view = req.getRequestDispatcher(nextPage);
view.forward(req, res);
}
}
====================================
¿¡·¯ Ç¥½Ã ³»¿ë
HTTP Status 500 - java.lang.NullPointerException
type Exception report
message java.lang.NullPointerException
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: java.lang.NullPointerException org.apache.jasper.servlet.
JspServletWrapper.handleJspException(JspServletWrapper.java:555) org.apache.jasper.servlet.JspServletWrapper.service
(JspServletWrapper.java:476) org.apache.jasper.servlet.JspServlet.serviceJspFile
(JspServlet.java:396) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.websocket.server.
WsFilter.doFilter
(WsFilter.java:52) app.mvc.board.BoardController.doService(BoardController.java:64) app.mvc.board.
BoardController.doGet
(BoardController.java:19) javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.websocket.server.
WsFilter.doFilter(WsFilter.java:52)
app.mvc.AppFrontController.doService(AppFrontController.java:51) app.mvc.AppFrontController.doGet
(AppFrontController.java:16) javax.servlet.http.HttpServlet.service
(HttpServlet.java:622) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.
tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.lang.NullPointerException org.apache.jsp.board.list_jsp._jspService(list_jsp.java:100)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.
service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438) org.apache.jasper.
servlet.JspServlet.serviceJspFile(JspServlet.java:396) org.apache.jasper.servlet.JspServlet.service
(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.websocket.server.
WsFilter.doFilter(WsFilter.java:52) app.mvc.board.BoardController.doService(BoardController.java:64)
app.mvc.board.BoardController.doGet
(BoardController.java:19) javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.websocket.server.
WsFilter.doFilter(WsFilter.java:52) app.mvc.AppFrontController.doService(AppFrontController.java:51)
app.mvc.AppFrontController.doGet(AppFrontController.java:16) javax.servlet.http.HttpServlet.service
(HttpServlet.java:622) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.
websocket.server.WsFilter.doFilter(WsFilter.java:52)
note The full stack trace of the root cause is available in the Apache Tomcat/8.0.23 logs.
Apache Tomcat/8.0.23