본문 바로가기

Servlet&JSP

(5)
DAO / DTO DAO(Data Access Object) : 데이터 접근 객체 DB를 사용해 데이터를 조회하거나 조작하는 등 특정 기능을 전담하도록 만든 객체. 로직과 비즈니스 로직을 분리, 기능마다 커넥션을 지속해서 만드는 오버헤드를 효율적으로 하기 위해 DB에 접속하는 객체를 전용으로 하나만 만들고, 모든 페이지에서 그 객체를 호출해다 사용한다. 커넥션을 하나만 가져오고 그 커넥션을 가져온 객체가 모든 DB와의 연결을 함 DTO(Data Transfer Object) : 데이터 전송 객체 계층간 데이터 교환을 위한 자바빈즈를 말함.(계층간이란 Controller, View, Business Layer, Persistent Layer) VO(Value Object)라고도 하지만 VO는 read only 속성 일반적인..
Fillter 필터(Filter)는 요청을 받고나서, 응답을 하기전(동작 메서드 실행 전후)에 필터링을 하는 것이다. 웹 컴포넌트에 공통적으로 처리 할 부분을 모듈화하여 쉽게 처리가능하며 Tomcat javax.servlet 패키지에 구현되어있다. web.xml에서 Web Application에 필터 등록 LoginCheck filter.LoginCheckFilter LoginCheck /board/* web.xml : 등록할 필터의 이름을 지정한다. : 필터 클래스을 지정한다. : url과 매핑 시키고 싶은 필터의 이름을 지정한다. 이때 필터의 이름은 filter태그에서 지정한 이름을 입력한다. : 매핑시키고싶은 url을 지정한다. javax.servlet.Filter 인터페이스 구현 public class Logi..
MVC 패턴 M : Model - 프로그램 내부의 데이터, 상태 V : View - 사용자 인터페이스, 보여지는 결과 화면 C : Controller - 데이터와 비지니스 로직간의 상호작용, 사용자가 데이터를 클릭하는 등 이벤트들을 처리하는 부분 모델1 구조 같은 경우는 위의 이미지에서 contoller는 사라지고 JSP(model+view)하나로 모든 user의 요청을 처리하게 된다. 이는 코드가 복잡할 뿐 만 아니라 협업시에도 많은 문제가 생긴다. MVC 패턴과 같이 각자 분리되어 개발한다면 코드의 복잡성, 중복코딩과 같은 문제점이 해결되고 유연성과 유지보수성도 증폭된다.
EL / JSTL EL(Expression Language) : 표현 언어 JSP 2.0 스펙에 새로 추가된 스크립트 언어로 같은 자바코드를 사용했던 곳에 EL을 쓸 수 있다. ex) --> ${name} 여기서 ${ } 안의 name은 변수가 아닌 속성(Attribute)으로 (pageScope → requestScope → sessionScope → applicationScope )순으로 좁은범위 부터 값을 찾게 된다. JSTL(JavaServer Pages Standard Tag Library) : 자바서버 페이지 표준 태그 라이브러리 jsp내의 if문이나 for문등 여러 구문을 만들어져있는 태그들을 통해 쉽게 처리할 수 있다. 필요한 태그마다 uri와 prefix를 변경해 사용하면 된다. ex) 코드의 간결성과 가..
Servlet Mapping 특정 servlet 요청시 url에 full path를 쓰게되면 보안에 취약하고 주소가 복잡하기 때문에 Servlet Mapping을 통해 경로를 간단하게 지정할 수 있다. [ Servlet Mapping 방법 ] 방법1. Annotation 이용하기 서블릿 생성 화면 서블릿을 생성할 때 위와 같이 클래스 네임과 동일한이름으로 mapping이 되기때문에 이 부분에 mapping할 주소를 넣는 방법도 있다. 서블릿 annotation이란 @를 이용해 특별한 의미를 부여하는 하나의 정형화된 방법이다. 서블릿 위에 @WebServlet("/경로값")이라는 annotation을 추가해준다. 여기서 경로값은 슬래시(/)로 시작해야하고, 클라이언트(browser)의 요청 URL에서 프로젝트 이름뒤에 오는 부분이다...