오늘의 노래!!!
Shivers
- 아티스트
- Ed Sheeran
- 앨범
- =
- 발매일
- 1970.01.01

[0] 반복태그로 사용해서 이미지 불러오기~!
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
// CheckServLet .java
protected void doProcess(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html; charset=UTF-8");
request.setCharacterEncoding("UTF-8");
//[1] Check.jsp에서 받아온 정보
String[] picks = request.getParameterValues("pick");
//[2] 이동할 페이지 설정 : CheckResult.jsp로 설정
RequestDispatcher Dispatcher = request.getRequestDispatcher("CheckResult.jsp");
//[3] 전달한 정보 담기 : picks정보 전달
request.setAttribute("picks", picks);
//[4] 페이지 이동
Dispatcher.forward(request, response);
}
// 반복문 사용해서 이미지 출력하기 CheckResult.jsp
<body>
<c:forEach var="c" items="${picks}">
<span><img src="./image/${c}" width="200px"></span>
</c:forEach>
</body>
// 이미지 출력과 선택한 사진이 출력이 된다.
[1] 본격적으로 DB와 JSP와 연동 시작~~~
// inputDB.jsp 출력을 위한 jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>InputDB</title>
</head>
<body>
<form action="inputController" method="get">
<fieldset>
<legend>DB에 데이터 저장</legend>
<label>입력값 : <input type="text" name="data1"/></label>
<input type="submit" value="전송"/>
</fieldset>
</form>
</body>
</html>
// DB데이터를 입력 받기 위한 inputController.java
package controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import service.inputService;
@WebServlet("/inputController")
public class inputController extends HttpServlet {
private static final long serialVersionUID = 1L;
public inputController() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doProcess(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doProcess(request, response);
}
protected void doProcess(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html; charset=UTF-8");
request.setCharacterEncoding("UTF-8");
//[1] inputDB.jsp에서 받아온 정보
String data1 = request.getParameter("data1");
System.out.println("[1]jsp -> controller : " + data1);
inputService isvc = new inputService();
int result = isvc.inputDB(data1);
}
}
// DB데이터를 입력 받기 위한 inputService.java
package service;
import java.sql.Connection;
import dao.inputDAO;
import util.JdbcUtil;
public class inputService {
public int inputDB(String data1) {
System.out.println("[2]controller -> service : " +data1);
// service에서 dao로 넘어갈때
// inputService(클래스)에서 inputDAO(클래스)로 이동
inputDAO idao = new inputDAO();
//DB에 연결
Connection con = JdbcUtil.getConnection();
idao.setConnection(con);
int result = idao.inputDB(data1);
return 0;
}
}
// DB데이터를 입력 받기 위한 inputDAO.java
package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class inputDAO {
// DB접속을 위한 객체 con
Connection con;
// 쿼리문 작성을 위한 객체 pstmt
PreparedStatement pstmt;
// SELECTE 결과를 담는 객체 rs
ResultSet rs;
public void setConnection(Connection con) {
this.con = con;
}
public int inputDB(String data1) {
System.out.println("[3]service -> dao : " + data1);
String sql = "INSERT INTO JSP VALUES(?)";
int result = 0;
try {
pstmt = con.prepareStatement(sql);
System.out.println("[4] dao -> db : " + data1);
pstmt.setString(1, data1);
result = pstmt.executeUpdate();
// 결과 : 1 행 이(가) 삽입되었습니다.
// 그중 '1' 이 값이 result에 들어감
} catch (SQLException e) {
e.printStackTrace();
}
return result;
}
}
// DB데이터를 입력 받기 위한 JdbcUril.java
package util;
import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
public class JdbcUtil {
//(1) DB접속 메소드
public static Connection getConnection() {
Connection con = null;
// 톰캣안의 context, 초기화 하는 변수
try {
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/OracleDB");
con = ds.getConnection();
// commit 자동설정 → 해제
con.setAutoCommit(false);
System.out.println("DB접속 성공!");
} catch (Exception e) {
System.out.println("DB접속 실패!");
e.printStackTrace();
}
return con;
}
// (2) con close()
public static void close(Connection con) {
try {
System.out.println("접속해체 성공!");
con.close();
} catch (SQLException e) {
System.out.println("접속해체 실패!");
e.printStackTrace();
}
}
// (3) con commit()
public static void commit(Connection con) {
try {
System.out.println("저장 성공!");
con.commit();
} catch (SQLException e) {
System.out.println("저장 실패!");
e.printStackTrace();
}
}
// (4) con rollback()
public static void rollback(Connection con) {
try {
System.out.println("되돌리기 성공!");
con.rollback();
} catch (SQLException e) {
System.out.println("되돌리기 실패!");
e.printStackTrace();
}
}
}
// DB로 와서 테이블 설정 및 값 설정
'IT코딩공부!' 카테고리의 다른 글
#33 스프링(spring) 시작!! (0) | 2023.05.22 |
---|---|
#32 이클립스(JSP) + DB 연결 (0) | 2023.05.18 |
#30 JS(history, 팝업창 띄우기!!) JSP공부하기 시작!!! (1) | 2023.05.12 |
#29 JS(jquery 배우기) (0) | 2023.05.11 |
#28 JS(핀볼이랑, 빙고게임 만들기) (0) | 2023.05.10 |