전체 글 176

PrintWriter script = response.getWriter();

PrintWriter script = response.getWriter(); 위의 response는 서버가 클라이언트에게 '응답'한다는 의미를 가진 객체 서버가 클라이언트에게 '응답'하려면 무조건 response라는 객체를 통해 작업을 해야 함. 여기서 getWriter()는 '쓰기'를 통해 응답하겠다는 메서드. 데이터 타입은 PrintWriter. script.print(""); 위에서 script라는 객체가 생성 되었으므로 script.print();를 통해 html 페이지에 원하는 결과를 출력할 수 있다. 서버에서 클라이언트에게 응답할 장소는 html 페이지이기 때문에 .. 형식을 지켜야 한다. 그래서 위와 같이 큰 따옴표(" ") 안에 html 태그를 넣었다.

JSP 2022.07.02

세션

세션은 클라이언드 별로 서버에 저장되는 정보이다. 사용자 컴퓨터에 저장되는 쿠키와 다르게 서버에 저장되므로 보안이 필요한 데이터는 쿠키보다 세션에 저장한다. 서버가 종료되거나 유효 시간이 지나면 사라진다. 웹 클라이언트가 서버에게 요청을 보내면 서버는 클라이언트를 식별하는 session id를 생성한다. 서버는 session id로 key와 value를 저장하는 HttpSession을 생성하고, session id를 저장하고 있는 쿠키를 생성하여 클라이언트에게 전송한다. 클라이언트는 서버 측에 요청을 보낼 때, session id를 가지고 있는 쿠키를 전송한다. 서버는 쿠키의 session id로 HttpSession을 찾는다. javax.servlet.http.HttpSession으로 세션 데이터를 다..

JSP 2022.07.02

수업 42일차 - 뷰, 인라인뷰, 시퀀스

-- 뷰 생성 CREATE VIEW emp_view AS SELECT empno, ename, job, hiredate FROM emp; -- 뷰 조회 SELECT * FROM emp_view; -- 뷰 삭제 drop view emp_view; JOIN / VIEW/ 스칼라서브쿼리 작업방식 비교 package com.sist.dao; import java.util.*; import java.sql.*; public class EmpDeptDAO { private Connection conn; private PreparedStatement ps; private final String URL= "jdbc:oracle:thin:@localhost:1521:XE"; public EmpDeptDAO() { try..

DB/Oracle 2022.07.01

뷰 VIEW

오라클에서 VIEW는 실제로 데이터를 저장하고 있지 않지만 DML 작업이 가능한 가상의 테이블이다. ㅇ뷰는 복잡한 쿼리를 단순화할 수 있다. ㅇ뷰는 사용자에게 필요한 정보만 접근하도록 접근을 제한할 수 있다. CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW 뷰이름 [(column_aliases)] AS SELECT문 [WITH READ ONLY] [WITH CHECK OPTION [CONSTRAINT 제약조건명]] - OR REPLACE : 해당 구문을 사용하면 뷰를 수정할 때 DROP 없이 수정 가능. - FORCE: 뷰를 생성할 때 쿼리문의 테이블, 컬럼, 함수 등이 존재하지 않아도 생성 가능. - NORORCE: 뷰를 생성할 때 쿼리문의 테이블, 컬럼, 함수 등이 존재하지 ..

DB/Oracle 2022.07.01

게시판 만들기 7강 세션 관리하기

세션은 현재 접속한 한 명의 회원에게 할당되는 고유한 ID다. 웹 서버는 한 명의 회원을 세션 ID로서 구분할 수 있다. 로그인을 하면 세션이 부여되어서 로그인을 하지 않았을 때와는 다른 화면을 제공한다. 이 번에는 로그인을 했을 때와 회원 가입을 했을 때 세션을 부여해 보여지는 화면을 각각 다르게 하는 작업을 다룬다. loginAction.jsp session.setAttribute("userID", user.getUserID()); 먼저 로그인에 성공했을 때 세션을 부여하는 코드 추가한다. // 현재 세션 상태를 체크한다 String userID= null; if(session.getAttribute("userID")!= null) { userID= (String)session.getAttribute..

output/JSP 2022.07.01

오라클 DB 연동 후 데이터 출력

import java.sql.*; public class EmpDAO2 { // 1. 공통 필드 선언 private Connection conn; private Statement stmt; private ResultSet rs; // 2. 공통 메서드 선언 public void setConn() { // 1) 드라이버 연결 try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch(Exception ex) { ex.printStackTrace(); } // 2) 특정 서버 연결 String info= "jdbc:oracle:thin:@localhost:1521:xe"; try { conn= DriverManager.getConnection(info,..

DB/Oracle 2022.07.01

CONSTRAINTS

제약 조건은 컬럼에 어떤 조건을 거는 것. 해당 컬럼에 조건을 걸면 해당 컬럼 또는 테이블 이용시 제약 조건을 지켜야 함. PRIMARY KEY (기본키/PK) 테이블 당 하나만 가질 수 있는 키로서 해당 키를 가진 컬럼의 데이터를 중복이 불가하고 NULL이 데이터로 올 수 없다. 주민등록번호, ID 같이 다른 중복이 없어야 하는 데이터를 사용할 때 좋다. #1 CREATE TABLE 테이블명( 컬럼명 데이터형식 PRIMARY KEY ); CREATE TABLE TEST_TABLE1( ID VARCHAR2(20) PRIMARY KEY, NAME VARCHAR2(20) ); #2 CREATE TABLE 테이블명( 컬럼명 데이터형식, CONSTRAINT 프라이머리키 이름 PRIMARY KEY(컬럼명) ); ..

DB/Oracle 2022.06.30

게시판 만들기 6강 회원가입 기능 구현

한 명의 회원 정보를 입력하는 회원가입 폼에서 아이디, 비밀번호, 이름, 성별, 이메일을 입력해서 회원가입 버튼을 누르면 실제로 데이터베이스에 회원정보가 전송되는 과정이다. join 메서드 'UserDAO' 클래스에서 회원가입 기능을 담당하는 'join' 메서드를 추가한다. // 회원가입 영역 public int join(User user) { String sql= "insert into user values(?, ?, ?, ?, ?)"; try { pstmt= conn.prepareStatement(sql); pstmt.setString(1, user.getUserID()); pstmt.setString(2, user.getUserPassword()); pstmt.setString(3, user.get..

output/JSP 2022.06.28

게시판 만들기 5강 회원가입 화면 구현

이전에 만들었던 'login.jsp' 페이지를 복사해서 네비게이션 영역은 그대로 두고 기존 로그인 화면 요소를 수정해 회원가입 페이지로 변경한다. 회원가입 화면 남자 여자 로그인 화면에서는 아이디와 비밀번호 입력란이 있었지만 회원가입 양식으로 바꾸면서 이름, 남/여 성별 버튼, 이메일을 추가하여 회원가입 화면으로 바뀌었다. join.jsp JSP 게시판 웹 사이트 메인 게시판 접속하기 로그인 회원가입 회원가입 화면 남자 여자

output/JSP 2022.06.28