배포는 개발 환경에서 작성된 애플리케이션을 서비스 환경으로 올리는 작업입니다.
일반적으로 CI/CD 도구인 Git Action이나 Jenkins를 사용해 자동화된 배포 과정을 구성합니다.
/app
→ /short
).java
로 변환된 뒤 .class
(서블릿)로 컴파일됩니다.즉, JSP 파일은 직접적으로 서비스되는 것이 아니라 서블릿 형태로 실행됩니다.
서블릿을 배우면 클래스 파일로 바로 서비스를 설정할 수도 있습니다.
JSP 파일 위치:
/apache-tomcat-11.0.0/work/Catalina/localhost/ROOT/org/apache/jsp
build.gradle
에 dependencies
로 MariaDB 드라이버를 포함.<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.SQLException" %>
<html>
<head>
<title>Title</title>
</head>
<body>
Hello JDBC<br/>
<%
String url = "jdbc:mariadb://localhost:3306/sample";
String user = "root";
String password = "123456";
Connection conn = null;
try {
// 1. MariaDB 드라이버 로딩
Class.forName("org.mariadb.jdbc.Driver");
System.out.println("드라이버 로딩 성공");
// 2. 데이터베이스 연결
conn = DriverManager.getConnection(url, user, password);
System.out.println("데이터베이스 연결 성공");
} catch (ClassNotFoundException e) {
// 드라이버 로딩 실패
System.out.println("[에러] " + e.getMessage());
} catch (SQLException e) {
// 데이터베이스 연결 실패
System.out.println("[에러] " + e.getMessage());
} finally {
// 3. 연결 해제
if (conn != null) conn.close();
}
%>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.SQLException" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="java.sql.ResultSet" %>
<%
String url = "jdbc:mariadb://localhost:3306/sample";
String user = "root";
String password = "exxyeon";
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
StringBuilder sb = new StringBuilder();
try {
// 1. MariaDB 드라이버 로딩
Class.forName("org.mariadb.jdbc.Driver");
// 2. 데이터베이스 연결
conn = DriverManager.getConnection(url, user, password);
// 3. SQL 작성 및 실행
String sql = "select deptno, dname, loc from dept";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
// 4. 출력 결과를 HTML로 변환
sb.append("<table border='1' cellspacing='0'>");
while (rs.next()) {
sb.append(("<tr>"));
sb.append(("<td>" + rs.getString("deptno") + "</td>"));
sb.append(("<td>" + rs.getString("dname") + "</td>"));
sb.append(("<td>" + rs.getString("loc") + "</td>"));
sb.append(("</tr>"));
}
sb.append("</table>");
} catch (ClassNotFoundException e) {
// 드라이버 로딩 실패
System.out.println("[에러] " + e.getMessage());
} catch (SQLException e) {
// 데이터베이스 연결/쿼리 실행 실패
System.out.println("[에러] " + e.getMessage());
} finally {
// 5. 리소스 해제
if (conn != null) conn.close();
if (rs != null) rs.close();
if (pstmt != null) pstmt.close();
}
%>
<html>
<head>
<title>Title</title>
</head>
<body>
Hello JDBC<br/>
<%= sb.toString() %>
</body>
</html>
DriverManager
를 사용해 드라이버를 로딩.DriverManager.getConnection(url, user, password)
를 호출해 데이터베이스와 연결.PreparedStatement
객체를 사용해 SQL 쿼리를 실행.ResultSet
객체로 결과를 받아 HTML로 변환.Connection
, PreparedStatement
, ResultSet
은 반드시 닫아야 함.