반응형
META-INF와 WEB-INF 폴더는
외부 접근 불가 폴더로 지정되어 있다.
WEB-INF 폴더에 라이브러리 추가하면
build path를 지정해주지 않아도
자동으로 인식해준다.
-- 1. 테이블 생성
CREATE table userInfo(
id number primary key,
name varchar2(20),
phone varchar2(20)
);
CREATE SEQUENCE SEQ_USERINFO INCREMENT BY 1 START WITH 1;
INSERT INTO userInfo(id, name, phone) VALUES(SEQ_USERINFO.nextval, '홍길동', '01011112222');
INSERT INTO userInfo(id, name, phone) VALUES(SEQ_USERINFO.nextval, '임꺽정', '01033334444');
INSERT INTO userInfo(id, name, phone) VALUES(SEQ_USERINFO.nextval, '장보고', '01055556666');
-- 커밋필수
COMMIT;
// 2. 쿼리스트링 파싱(끝)
int id = Integer.parseInt(request.getParameter("id"));
System.out.println("id : " + id);
// 3. DB 연결(끝)
Class.forName("oracle.jdbc.driver.OracleDriver"); // 라이브러리 path 잡기
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE", "SCOTT", "TIGER");
System.out.println("DB 연결 완료");
// 4. SELECT로 id, name, phone 받기
String sql = "SELECT id, name, phone FROM userInfo WHERE id = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id); // PK로 검색해서 무조건 데이터 1건 나옴
ResultSet rs = pstmt.executeQuery(); // 버퍼에 담겨서 자동으로 flush
// while을 안탈수도 있으니까 초기화를 무조건 해줘야함
String name = null;
String phone = null;
while(rs.next()) {
// id = rs.getInt("id");
name = rs.getString("name");
phone = rs.getString("phone");
}
<!--5. 뿌려주기-->
<h1>회원정보 페이지입니다. - 인증 필요</h1>
<h3>아이디 : <%= id %> / 이름 : <%= name %> / 전화번호 : <%= phone %></h3>
<hr />
<%@page import="org.apache.tomcat.dbcp.dbcp2.PStmtKey"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<ul>
<li><a href="/user/login.html">로그인 페이지</a></li>
<li><a href="/user/join.html">회원가입 페이지</a></li>
<li><a href="/user/userInfo.jsp">회원정보 페이지</a></li>
<li><a href="/post/list.html">글 목록 페이지</a></li>
</ul>
<%
// 1. 테이블 생성(끝)
// 2. 쿼리스트링 파싱(끝)
int id = Integer.parseInt(request.getParameter("id"));
System.out.println("id : " + id);
// String name = null;
// String phone = null;
try {
// 3. DB 연결(끝)
Class.forName("oracle.jdbc.driver.OracleDriver"); // 라이브러리 path 잡기
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE", "SCOTT", "TIGER");
System.out.println("DB 연결 완료");
// 4. SELECT로 id, name, phone 받기
String sql = "SELECT id, name, phone FROM userInfo WHERE id = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id); // PK로 검색해서 무조건 데이터 1건 나옴
ResultSet rs = pstmt.executeQuery(); // 버퍼에 담겨서 자동으로 flush
// while을 안탈수도 있으니까 초기화를 무조건 해줘야함
String name = null;
String phone = null;
while(rs.next()) {
// id = rs.getInt("id");
name = rs.getString("name");
phone = rs.getString("phone");
}
// conn.close();
} catch (Exception e) {
System.out.println("오류 : " + e.getMessage());
}
// 5. 뿌려주기
%>
<h1>회원정보 페이지입니다. - 인증 필요</h1>
<h3>아이디 : <%= id %> / 이름 : <%= name %> / 전화번호 : <%= phone %></h3>
<hr />
</body>
</html>
[출처]
https://cafe.naver.com/metacoding
메타 코딩 유튜브
https://www.youtube.com/c/%EB%A9%94%ED%83%80%EC%BD%94%EB%94%A9
반응형