Development/JSP(199)
-
전체적인 게시판 컴포넌트 설계 도식도
전체적인 컴포넌트 설계 도식도모든 요청을 FrontController가 처리하여 각 요청에 맞는 Command를 수행시킵니다.해당 Command는 DAO에 접속해서 DB로 부터 데이터를 DTO로 받아서 처리한 후 FrontController에게 작업 결과를 반환합니다. 그러면 FrontController는 적절한 화면 UI를 구성하여 클라이언트에게 보여줍니다. 클라이언트의 요청에 대해서 FrontController에서 작업을 분기하고, 해당 Command클래스가 작동하여 DAO를 이용한 데이터 베이스 작업을 합니다.DAO클래스의 결과물로 DTO객체가 View(.jsp페이지)로 전달되며, View에서는 클라이언트의 요청에 대한 응답으로 화면(UI)를 구성하여 출력 합니다.
-
포워딩(Forwarding) - HttpServletResponse 클래스
HttpServletResponse 클래스RequestDispatcher 클래스와 동일하게 요청을 위임하는 클래스 입니다. RequestDispatcher 클래스와 차이점은 요청 받은 요청객체를 위임 받은 컴포넌트에 전달 하는 것이 아닌, 새로운 요청객체를 생성 합니다.새로 생성된 객체를 요청한 클라이언트에 응답으로 전달해서 해당 클라이언트가 다시 위임 받은 컴포넌트로 요청하는 방식입니다.새로운 객체가 생성되어 전달되므로 요청받은 컴포넌트에 setAttribute해준 값은 위임받은 Component로 전달되지 않습니다.
-
EL 표기법 - jsp 표현식을 EL 표기법으로 표현, jsp 액션 태그을 EL 표기법으로 표현
EL 표기법 ${ expr } jsp 표현식을 EL 표기법으로 표현 표현식 EL ${ value } jsp 액션 태그을 EL 표기법으로 표현 긴 jsp 앤션 태그를 EL 표기법으로 간단하게 표기할 수 있습니다. 액션 태그 EL ${member.name } ${member["name"] } ${객체명.속성명 } ${객체명["속성명"] }
-
Command 패턴, FrontController 패턴, Command 패턴 도식도
Command 패턴클라이언트로부터 받은 요청들에 대해서, 서블릿이 작업을 직접 처리 하지 않고, 해당 클래스가 처리하도록 합니다. FrontController 패턴모든 요청을 서블릿 매핑을 통해 처리 Command 패턴 도식도모든 요청을 받지만 실제적인 처리를 각각의 클래스에 위임하여 실질적인 처리를 하는 command class를 만들어서 처리하는 방식입니다.일반적으로 FrontController패턴으로 모든 요청을 처리하고 요청에 대한 실질적인 처리는 Command패턴으로 처리합니다.
-
FrontController 패턴 - 기존의 처리방식, FrontController 패턴 도식도
FrontController 패턴클라이언트의 다양한 요청을 한곳으로 집중시켜, 개발 및 유지보수에 효율성을 극대화하는 방식입니다.요청시 처리하는 서블릿의 중복 코드를 줄일 수 있습니다.회원가입이나 회원정보 변경시 확인 코드등을 줄일 수 있습니다. 기존의 처리방식요청에 따라 각각의 Servlet에서 처리하였습니다.Database처리 작업이 필요한 경우 Servlet마다 DAO에 접근하여 처리하게 됩니다. FrontController 패턴 도식도다양한 요청에 대해 모든 요청을 처리하는 Servlet에서 받아서 집중시키고 요청에 따른 적절한 DAO의 메소드를 호출하여 처리하는 방식입니다.분산된 Servlet을 하나로 통합하여 집중화 시킬 수 있습니다.
-
url-pattern, 서블릿 매핑 - 디렉터리 패턴, 확장자 패턴
서블릿 매핑· 서블릿을 만들고 서블릿에 매핑을 합니다. 이때 접속경로가 노출될 경우 보안상 문제가 될 수 있습니다.· 긴 경로를 특정단어로 매칭을 해서 좀 더 간결하게 사용할 수 있습니다. · web.xml로 설정하는 방법과 web서블릿어노테이션을 이용해서 설정하는 방법이 있었습니다. 디렉터리 패턴· 디렉터리 형태로 서버의 해당 컴포넌트(서블릿)를 찾아서 실행하는 구조 입니다. · 기존의 서블릿 매핑과 동일