Rubberduck-Debugging

[8일차]ServletContext, filter, resultType="hashmap" 본문

개발자/20181127 교육과정

[8일차]ServletContext, filter, resultType="hashmap"

P缶 2018. 12. 6. 18:05

 * Listener의 종류


출처 및 세션, 쿠키, ServletContextListner 등 웹 쪽 지식이 다양하고 좋은 홈페이지 : http://java.scwcd.jobs4times.com/Session-Management.html 


** ServletContextListner : 컨텍스트 초기화 파라미터를 읽고, 파라미터를 인자로 객체를 생성함.

리스너를 객체를 ServletContext에 묶어두는데, 이후 서블릿에서는 이 객체를 언제든지 꺼낼 수 있음.

ServletContext는 웹 어플리케이션 저장매체 중 최상위 개념이므로, 객체를 종료할 떄까지 공유할 수 있음.

(Servlet이 컨텍스트 파라미터를 읽을 필요가 없어짐)


*ServletContextListener의 위치. Spring IoC Container를 적재하여, 웹 서버 실행 때마다 항상 같이 써보기



* 생명주기 길이 :  pageContext < ServletRequest < HttpSession < ServletContext

pageContext : 페이지마다 한묶음이라 매번 죽음(안쓴다)
ServletRequest : include, forward 공유하는 것끼리 한묶음.
HttpSession : 로그아웃할 때까지 한묶음(=세션 무효화까지)
ServletContext: 서버가 종료될 때까지 한묶음


*jsp파일의 EL에서, sessionScope는 삭제 가능하다(굳이 없어도 pageScope, ServletScope, SessionScope 모두 돌아다니며 찾아주기 때문)

* forward() : 절대 경로를 쓴다.

request.getRequestDispatcher("/board/form.jsp").forward(request,response) 

*sendRedirect() : 상대경로를 쓴다.

만약 주소가 "localhost:8888/board/add"인 경우, 이동주소는 "localhost:8888/board/list"가 되는 것.



====================================================================================

* insert나 update 실행할 때, 파라미터를 통해 이동한 정보가 '한글'이며, Post로 이동한 경우, 한글깨짐 문제가 생긴다.

이때 request.getParameter("한글정보")를 호출하기 전, setCharacterEncoding("UTF-8") 로 파라미터 정보가 UTF-8이었음을 알려줘야함.

 


*위의 매 서블릿마다 중복되는 메소드같은 경우, filter에 정의하면 됨. (filter import는 javax.servlet 주의)

1. Webfilter()    2.setCharacterEncoding()    3.doFilter()


==================================================================================


* cmd로 sql문을 확인하거나 미리확인하면 좋다.

select 문 : DB의 내용을 이클립스로 볼 때

describe 문 : DB의 내용을 DBMS로 볼 때


* Domain 없이 Map을 사용해서 쓴, JSP와 mapper 경우.

hashmap으로 mapper로부터 전달받은 데이터를, jsp에서 출력할 때의 경우이다.


'개발자 > 20181127 교육과정' 카테고리의 다른 글

git ignore 적용  (0) 2018.12.10
UML(Unified Modeling Language)  (0) 2018.12.09
[8일차]MIME, interface default, EL  (0) 2018.12.06
[7일차] Spring IoC Container  (0) 2018.12.05
[6일차] mapper 관련 기본 지식  (0) 2018.12.04