Contents
1.1 회원가입 및 회원정보 수정 프로그래밍
1.2 DAO, DTO
1.3 PreparedStatement
1.4 커넥션 풀(DBCP)
Oracle SQL Developer
:Oracle에서 제공하는 데이터베이스 전용 GUI 툴
아마도 처음 개발을 시작하는 개발자가 프로젝트에서 처음 접하는 프로그래밍은 회원관리 부분일 것이다. 회원가입 및 회원정보 수정 프로그래밍을 통한 JDBC 사용법을 배워보자!
join.html → JoinOk → joinResult.jsp → login.html → LogInOk → loginResult.jsp → modify.jsp → ModifyOk → modifyResult.jsp → logout.jsp
실무에서는 MVC 패턴으로 진행한다.
cf. classnotfoundexception 해결: ojdbc6 라이브러리를 /WEB-INF/lib 밑에 복사!
Connection Pool
* DAO, DTO
DAO : Data Access Object; 데이터베이스에 접속해서 데이터 추가, 삭제, 수정 등의 작업을 하는 클래스이다. 일반적인 JSP 혹은 Servlet 페이지 내에 위의 로직을 함께 기술할 수도 있지만, 유지보수 및 코드의 모듈화를 위해 별도의 DAO 클래스를 만들어 사용한다. 즉, DAO는 데이터를 직접 접속해서 데이터를 관리, 수정하는 녀석이다.
DTO : Data Transfer Object (하나로 묶어서 전달); DAO 클래스를 이용하여 데이터베이스에서 데이터를 관리할 때 데이터를 일반적인 변수에 할당하여 작업할 수도 있지만, 해당 데이터의 클래스를 만들어 사용한다. 즉 DTO는 데이터베이스의 데이터를 객체 데이터로 바꾼 것이다!
협업할 때 반드시 알아야 하는 개념이다!
* PreparedStatement 객체 살펴보기
SQL문 실행을 위해 Statement 객체를 이용했었다. Statement 객체의 경우 중복 코드가 많아지는 단점이 있다. 이러한 단점을 보완한 것이 PreparedStatement 객체다. 차이점은 쿼리문을 먼저 작성하고 connection 을 구할 때 쿼리문을 넣고 데이터를 셋하고 실행한다.
* 커넥션 풀(DBCP)
클라이언트에서 다수의 요청이 발생할 경우 데이터베이스에 부하가 발생하게 된다. 이러한 문제를 해결하기 위해서 커넥션 풀(DataBase Connection Pool) 기법을 이용한다.
DBCP는 자바 소스에 있는 것이 아니다. 그래서 tomcat 컨테이너가 데이터베이스 인증을 하도록 context.xml 파일을 열어 코드를 추가한다.
Contents
1.1 파일 업로드 라이브러리 설치
1.2 EL(Expression Language)?
1.3 Action Tag로 사용되는 EL
1.4 내장 객체
1.5 JSTL 개요 및 설치
1.6 JSTL 라이브러리
File Upload
* 파일 업로드 라이브러리 설치
웹에서 파일 업로드 기능은 많이볼 수 있다. 자료실, 사진인화 서비스, 게시판 등 에서 볼 수 있다.
-- http://www.servlets.com/cos/
EL(Expression Language)
:표현식 또는 액션 태그를 대신해서 값을 표현하는 언어
* EL(Expression Language)?
<%= value %> → $ { value } 로 바꾸어 놓은 것을 EL이라고 한다.
* EL(Expression Language)?
<jsp:getProperty name="member" property="name" /> 이게 너무 길기 때문에 ${member.name} 로 간단하게 작성할 수 있다!
* 내장 객체
내장 객체에 대해 살펴보자면 다음과 같다.
▷ 내장 객체의 종류
ㆍ pageScope : page 객체를 참조하는 객체이다.
ㆍ requestScope : request 객체를 참조하는 객체이다.
ㆍ sessionScope : session 객체를 참조하는 객체이다.
ㆍ applicationScope : application 객체를 참조하는 객체이다.
ㆍ param : 요청 파라미터를 참조하는 객체이다.
ㆍ paramValues : 요청 파라미터(배열)를 참조하는 객체이다.
ㆍ initParam : 초기화 파라미터를 참조하는 객체이다.
ㆍ cookie : cookie 객체를 참조하는 객체이다.
JSTL(JSP standard Tag Library)
JSP의 경우 HTML 태그와 같이 사용되어 전체적인 코드의 가독성이 떨어진다. 그래서 이러한 단점을 보완하고자 만들어진 태그 라이브러리가 JSTL이다. JSTL의 경우 우리가 사용하는 Tomcat 컨테이너에 포함되어 있지 않으므로, 별도의 설치를 하고 사용한다. JSTL을 익히면 코드 가독성이 아주 좋아지고, 다른 JSTL로 짠 코드를 분석할 수 있으므로 거의 필수로 알고가자!