쌍용교육센터에서 공부한 내용을 정리하며 기록하는 글이고 주관적인 생각이 들어갈 수 있습니다.
잘못된 내용이나 피드백 및 생각 공유는 언제든 환영입니다.
댓글로 남겨주시면 확인 후 수정하겠습니다.
내용에 대한 소스 코드는 https://github.com/2jaehoon/ServletTest에 올려두었습니다.
Cookie
- 접속자의 HDD에 file로 정보 저장
- 문자열만 저장 가능
- 쿠키 심기
// 1. 쿠키생성
Cookie cookie=new Cookie("이름","값");
// 2.파기 시간 설정(설정하지 않으면 web browser가 열려 있는 동안만 유지)
// SessionStorage와 같은 동작
cookie.setMaxAge( 초 );
// 3.쿠기 심기
response.addCookie( 생성된쿠키 );
- 쿠키 읽기
// 1.접속자의 쿠키들을 읽기
Cookie[] cookies=request.getCookies();
if( cookies != null){ //쿠키가 존재하면
// 2. 배열을 반복
for(Cookie cookie : cookies){
// 3. 쿠키 이름, 쿠기 값 얻기
String name=cookie.getName();
String value=cookie.getValue();
}
- 쿠키 삭제
// 1. 삭제할 같은 이름의 쿠키 생성
Cookie cookie=new Cookie("삭제할이름","");
// 2. 생존 시간을 0으로 설정
cookie.setMaxAge(0);
// 3. 삭제할 쿠키 심기
response.addCookie( cookie );
* 쿠키로 아이디 저장 여부 구현
DD( web.xml )값 사용
- 특정 Servlet만 사용할 수 있는 Init-Param와 모든 Servlet/JSP에서
사용할 수 있는 Context-Param이 제공
* 특정 Servlet만 값 사용
- init-param node를 사용
- ServletConfig 인터페이스를 사용하여 DD에 존재하는 값을 얻는다.
- Servlet에서 필요한 값을 DD의 <servlet>노드에 정의
<servlet>
<serlvet-name>객체명</servlet-name>
<servlet-class>패키지명.클래스명<servlet-class>
<init-param><!-- Init-param이 정의된 Servlet만 값을 얻을 수 있다. -->
<param-name>전달할 이름</param-name>
<param-value>사용할 값</param-value>
</init-param>
</servlet>
- 값을 사용할 클래스에서( <servlet-class>에 정의된 Servlet에서 )
// 1. 상속받고있는 HttpServlet에서 ServletConfig를 얻는다.
ServletConfig sc=getServletConfig();
// 2.이름으로 값 얻기
sc.getInitParameter("이름"); //사용할 값 얻기
- 다른 <server>에 정의된 <init-param>은 사용 불가
Context-param
- 모든 Servlet/JSP에서 사용할 값을 DD에 설정할 때
- ServletContext 인터페이스로 접근하고 사용한다.
- DD정의( web.xml )
<context-param>
<param-name>이름</param-name>
<param-value>값</param-value>
</context-param>
- 사용( Servlet/JSP에서 모두 사용 가능 )
// 1. ServletContext 얻기 ( HttpServlet에서 얻는다. )
ServletContext sc=getServletContext();
//JSP에서는 application내장 객체가 ServletContext이므로 바로 사용할 수 있다.
2.이름으로 값얻기
String 변수=sc.getInitParameter("이름");
JSP에서의 사용
<% String 변수명=application.getInitParameter("이름"); %>
'성장 일기 > 쌍용교육센터' 카테고리의 다른 글
0501/MVC 패턴 (0) | 2023.05.02 |
---|---|
0429/MVC 패턴 (0) | 2023.05.02 |
0427/페이지 이동, 관계 유지 (0) | 2023.05.02 |
0426/XML 파싱, Serlvet (0) | 2023.05.01 |
0425/JDOM Parser (0) | 2023.04.25 |