'JSP'에 해당되는 글 2건
- 2020.04.13 :: [JSP] 쿠키(Cookle) 클라이언트 서버 명령 소스
- 2020.04.13 :: [JSP] 기초 간단하게 정리
어떤 데이터를 서버가 아닌 클라이언트에 서버의 명령에 의해서 저장된 것을 쿠키(Cookie)라고 한다.
데이터를 클라이언트의 로컬에 저장하여 보안상 문제가 있기 때문에, 요즘에는 잘 사용하지 않는 기술이다.
데이터가 별로 중요하지 않고, 서버의 자원을 절약해야 할 경우에 사용할 수 있는 기법이다.
[Make Cookie]
<%
Cookie cookie= new Cookie("CookieName", "CookieValue");
// set valid time of cookie
// parameter is second.
cookie.setMaxAge(60*60);
// add cookie to response object
response.addCookie(cookie);
%>
쿠키 객체를 만들고, 쿠키의 유효 기간을 설정한다.
쿠키의 속성이 모두 정의되면 response객체에 쿠키를 추가한다.
[Get Cookies]
<%
Cookie[] cookies= request.getCookies();
if(cookies!= null){
for(int i=0; i<cookies.length; i++){
out.println("cookies["+i+"] Name= "+ cookies[i].getName()+ "<br/>");
out.println("cookies["+i+"] Value= "+ cookies[i].getValue()+"<br/>");
out.println("================================"+"<br/>");
}
}
%>
Cookie 객체를 가져올 때는 만들 때와는 반대로 request객체에서 받아온다.
Cookie는 여러 개일 수도 있으므로, Array type으로 받는다.
모든 쿠키를 탐색하기 위해 for문을 이용해 모든 Cookie 객체를 탐색한다.
getName()은 쿠키의 이름을, getValue()는 쿠키의 값을 반환한다.
[Delete Cookie]
<%
Cookie[] cookies= request.getCookies();
for(int i=0; i<cookies.length; i++){
String cookieName=cookies[i].getName();
if(cookieName.equals("CookieName")){
out.println("cookies["+i+"] Name= "+ cookies[i].getName()+ "<br/>");
out.println("cookies["+i+"] Value= "+ cookies[i].getValue()+"<br/>");
out.println("This Cookies will be deleted"+ "<br/>");
// This process that set valid period of cookie and save cookie means targetCookie is deleted.
cookies[i].setMaxAge(0);
response.addCookie(cookies[i]);
out.println("================================"+"<br/>");
}
}
%>
쿠키를 직접 삭제하는 어떤 특정 메소드가 존재하지 않는다.
그래서 특정 쿠키의 유효시간을 0으로 만들어 유효하지 않은 쿠키로 만들어 간접적으로 삭제하는 방법을 이용한다.
cookes[i].setMaxAge메소드의 인자값을 0으로 만들고
유효시간이 만료된 쿠키를 response.addCookie()로 다시 추가해줌으로써 쿠키를 삭제하는 효과를 얻는다.
'JSP' 카테고리의 다른 글
[JSP] 기초 간단하게 정리 (0) | 2020.04.13 |
---|
web page에서 java code를 사용하려면 기본적으로 .html이 아닌 .jsp파일을 이용한다.
[Java Code 사용을 Declare]
<% JavaCode.... %> 형식을 따른다.
예를 들어 <% int i=0; System.out,.println(i); %> 와 같은 형식으로 한다.
jsp파일에는 자바 코드가 드러나지만, 실제로 실행시키면 사용자에겐 html문서 형식으로 보여지며
JavaCode는 해당 요소로 변환되어 JavaCode는 보이지 않게 된다.
[Variable Print]
단순히 변수의 출력만을 원할 경우에는 <%= Variable %> 와 같은 형식으로 한다.
<% out,println(Variable); %>처럼 쓸 수도 있지만 코드가 길어질 염려가 있다.
[Import Other Class or Package]
<%@page import="Package or Class" %> 처럼 한다.
일반적인 자바의 import [package or class]; 문법과 같다.
효력은 이 태그가 사용된 페이지에 한해 import된다.
예를 들어 <%@page import="java.util.Arrays"%> 했다면
<%
int[] arr= {10,20,30};
out.println(Arrays.toString(arr));
%>
처럼 Arrays Class를 사용할 수 있다.
[Page in Page]
include Attribute를 이용하여 페이지에서 다른 페이지를 포함시킬 수도 있다.
홈페이지의 카테고리와 같이, 여러 페이지에서 공통되게 사용하는 부분들은 따로 만들어서 include하는 방식을 취한다.
<%@ include file="IncludedJSP.jsp" %>
[주석(Comment)]
<%-- --> 또는 자바에서와 같이 //나 /* */ 를 사용한다.
[페이지 속성 정의]
<%@ page language="java" contentType="text/html; charset="EUC-KR"
pageEncoding="EUC-KR"%>
JSP파일을 만들면 이 태그는 자동으로 생성된다.
어떤 언어를 사용하고, 언어 인코딩 방식은 어떤 것으로 할지 정의하는 부분이다.
EUC-KR을 사용하지 않으면, 영어는 관계없지만 한국어는 문자가 깨져서 출력되게 되므로 반드시 설정한다.
'JSP' 카테고리의 다른 글
[JSP] 쿠키(Cookle) 클라이언트 서버 명령 소스 (0) | 2020.04.13 |
---|