본문 바로가기

JSP/Tomcat 6.0 설정

MySQL JDBC 환경설정 + Tomcat 8.0 (2) 소스

예제 소스 => 뇌를 자극하는 JSP & Servlet 참고


Test.jsp 파일입니다.

  1. <%@page import="java.sql.*"%>
  2. <%@ page language="java" contentType="text/html; charset=UTF-8"
  3.     pageEncoding="UTF-8"%>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
  8. <title>데이터베이스로 연결하기</title>
  9. </head>
  10. <body>
  11.     <%
  12.         Class.forName("com.mysql.jdbc.Driver");
  13.         Connection conn = DriverManager.getConnection(
  14.                 "jdbc:mysql://localhost:3306/gamedb""root""1234");
  15.  
  16.         if (conn != null) {
  17.             out.println("game db 데이터베이스에 연결했습니다.<br/>");
  18.             conn.close();
  19.             out.println("game db 데이터베이스로의 연결을 끊었습니다.<br/>");
  20.         } else {
  21.             out.println("game db 데이터베이스에 연결할 수 없습니다.<br/>");
  22.         }
  23.     %>
  24. </body>
  25. </html>

Test.jsp 파일을 다음과 같은 위치로 이동시킵니다.

참고로 이경로는 C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps\Test 이고요

WEB-INF 폴더를 만들어주셔야 합니다. 소스는 여기 올려놓겠습니다.


Test.zip




web.xml이 미리 만들어져 있어서 불편한 거는 없으실 것입니다.


이거를 이 경로에 넣고 실행하면


다음과 같은 에러를 찍어주게 됩니다. JSP가


HTTP Status 500 - An exception occurred processing JSP page /Test.jsp at line 12

type Exception report

message An exception occurred processing JSP page /Test.jsp at line 12

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /Test.jsp at line 12

9: </head>
10: <body>
11: 	<%
12: 		Class.forName("com.mysql.jdbc.Driver");
13: 		Connection conn = DriverManager.getConnection(
14: 				"jdbc:mysql://localhost:3306/gamedb", "root", "1234");
15: 


Stacktrace:
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:567)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:454)
	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)

root cause

javax.servlet.ServletException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:908)
	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:837)
	org.apache.jsp.Test_jsp._jspService(Test_jsp.java:128)
	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:431)
	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)

root cause

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
	org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305)
	org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1157)
	org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:125)
	org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:62)
	java.lang.Class.forName0(Native Method)
	java.lang.Class.forName(Unknown Source)
	org.apache.jsp.Test_jsp._jspService(Test_jsp.java:102)
	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:431)
	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)

note The full stack trace of the root cause is available in the Apache Tomcat/8.0.21 logs.


Apache Tomcat/8.0.21

이 상태면 Apache 서버를 재시작하시면 되고요...


그 다음에 이런 에러를 출력하게 됩니다 . JSP가


HTTP Status 500 - javax.servlet.ServletException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

type Exception report

message javax.servlet.ServletException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:548)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:454)
	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)

root cause

javax.servlet.ServletException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:908)
	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:837)
	org.apache.jsp.Test_jsp._jspService(Test_jsp.java:128)
	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:431)
	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)

root cause

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
	org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305)
	org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1157)
	org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:125)
	org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:62)
	java.lang.Class.forName0(Native Method)
	java.lang.Class.forName(Unknown Source)
	org.apache.jsp.Test_jsp._jspService(Test_jsp.java:102)
	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:431)
	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)

note The full stack trace of the root cause is available in the Apache Tomcat/8.0.21 logs.


Apache Tomcat/8.0.21

com.mysql.jdbc.Driver를 못찾겠다고 나옵니다.
그럴 때는 




로 복사하며 됩니다.


그런다음 서버를 재시작 하시면 됩니다.


game db 데이터베이스에 연결했습니다.
game db 데이터베이스로의 연결을 끊었습니다.


이렇게 뜨게됩니다.


문제는 여러분 gamedb라는 스키마를 만들지 않았다는 것입니다.


쿼리 파일을 공개합니다.

Create 스키마.sql