Emma.log()

평가대비 JSP 본문

Front-End/Jsp

평가대비 JSP

EverJunior Minjoo 2022. 10. 25. 16:01

1. ServletLifeCycle을 claaback메소드 기준으로

- 서블릿은 최초 요청시 객체가 만들어져 메모리에 로딩되고 이후 요청시 기존 서블릿 객체를 이용한다. 최초 서블릿요청시 init()을 이용해 서블릿을 초기화한다.  요청을 받으면 service()메소드가 동작하여 요청에따라 doGet()또는 doPost()로 분기한다. 서블릿이 종료될때 destroy()메소드를 호출하여 종료한다.

2.

2-1 <% int i%> <%= i++%> 일때 출력값과 이유

정답 : 0

이유 : 변수 i가 service()메소드 ㅂ선언되어 새로고침시마다 초기화되어 0이 출력된다.

2-2 <%! int i%> <%= i++%> 일때 출력값과 이유

정답 : 4

이유 : 변수 i 가 service()메소드 밖에 선언되어 객체가 공유된다. 따라서 i++ 할때마다 값이 더해져 4가된다.( 출력후 값이 더해짐)

3. Filter의 필요성과 등록방법

필터는 웹에서 공통적으로 처리해야할 일들을 처리하기위해 사용한다.

등록은 web.xml에 filter를 등록하고 필터로 사용할 클래스를등록한다. 그리고 필터링할 url명과 등록할 필터명을 매핑한다.

필터 클래스는 Filter 를 구현하여 작성한다.

4. 배포 dir 구조

       WebAppRoot
|---------WEB-INF
|                 |---- classes
|                 |---- lib
|                 |---- web.xml
|------------- index.html, css
|------------- index.jsp

5. application에서 제공하는 Listner3가지와 차이점

ServletContextListner : 웹어플리케이션이 시작, 종료되는 시점에 특정 클래스의 메소드를 실행할수있는 기능을 제공한다. 이 기능을 통해 웹어플리케이션 실행시 필요한초기화작업 또는 종료된후 사용된 자원을 반환하는 작업 등을 수행한다.

HTTPSessionListner : HTTP세션의 시작, 종료 이벤트에 대한 이벤트 리스너이다. HttpSession객체가 생성되고 제거될때 발생되는 HttpSessionEvent를 처리하는 리스너이다. 

ServletRequestListner  : 클라이언트가 웹어플리케이션으로 요청을 보내 ServletRequest객체가 생성될때와 요청처리를 마치고 ServletRequest객체가 소멸될때의 이벤트를 처리한다. 

 

6. 내장객체 5개의 클래스 풀풀네임과 메소드 이름

내장객체 클래스 메소드
request javax.servlet.http.HTTPServletRequest  getParameter(name), getCookies(),
getParametersValue(name)
response javax.servlet.http.HTTPServletResponse  setContentType(type), sendRedirect(String)
out javax.servlet.jsp.JspWriter print(content), println(content) 
application javax.servlet.ServletContext getAttribute(String), getRealPath(String) 
exception java.lang.Throwable getMessage(), printStackTrace()

7. ServletContext용도

서블릿컨텍스트는 서블릿에 대한 컨텍스트 설정을 작성한다. 서블릿이 서블릿 컨테이너와 통신하기 위해 사용되는 메소드들을 갖고있다. 서블릿컨텍스트는 각 웹어플리케이션의 서블릿 그리고 jsp간의 정보를 공유할수있고, 서블릿컨테이너에 대한 정보를 추출할수 있게 한다. 

8. setAttrubute메소드를 가진 클래스3개와 사용이유

HttpServletRequest : 하나의 요청에서 요청이 끝나기전까지 상태정보를 유지하고자 할때 사용한다. 

HttpSession : 브라우저 종료 전까지 정보를 담아야할때 사용한다.

ServletContext : 어플리케이션 전체의 공통자원이나 정보를 공유해서 사용할때 사용한다.

 

9. web.xml에 들어가는 내용

welcome-file-list : welcomefile들의 목록이 포함된다.

welcome-file : index.html과 같은 기본 시작 파일로 사용할 파일이름이 포함된다.

servlet : 서블릿의 선언부 데이터를 포함한다.

servlet-class :서블릿의 정규화된 클래스를 포함한다.

filter : 필터를 선언한다.

 

10. custom tag lib 사용 이유와 등록방법

자주 사용하는 태그를 커스텀태그로 만들어 사용할수있다.

작성한 커스텀태그를 사용해서 좀더 쉽게고 단순하게 jsp 를 만들수있다.
WEB-INF밑에 TLD를 만들고,web.xml에 taglib의 정보를 매핑한다.

java에서 정의해 놓은 메서드나 자주 반복되는 작업들을 jsp에서 이용하고자 할 때 custom tag로 만들어 사용한다. 커스텀 태그 라이브러리는 이러한 커스텀 태그를 모아놓은 라이브러리이다. 실제 클래스에 구현한 것을 encapsulation 시켜 감추고, 복잡한 자바 코드를 대신하여 사용하므로 jsp의 가독성을 높인다. tld 파일을 생성하여 태그를 정의하고 web.xml의 <tag-lib>에 등록한다.

'Front-End > Jsp' 카테고리의 다른 글

액션태그 & 표현언어EL 과 JSTL  (0) 2022.10.13
쿠키와 세션  (0) 2022.10.13
내장객체란  (1) 2022.10.13
지시어와 스크립트요소  (0) 2022.10.13
Jsp/Servlet 이란  (0) 2022.10.13