GDJ 8/16

Yongha Hwang·2023년 8월 16일
0

JSP

1.Cookie

client에 저장 -> 브라우저를 닫거나 서비스를 종료해도 정보가 남는다. -> 보안에 취약

  • 쿠키는 pc에 저장이 되므로 request로 요청 하고, response로 저장한다.
      1. 쿠키 객체화(값에 , 나 - 가 있으면 에러)Cookie cookie = new Cookie("name","kim_ji_hoon");
        // 키와 값 둘다 문자열로 들어간다.
      1. 쿠키 수명 지정(초단위)
        cookie.setMaxAge(10*60); //10분
      1. pc 에 저장
        response.addCookie(cookie);
  • 쿠키를 사용 하려면 사용자 pc 에 저장되있는 쿠키를 가져와야 하므로 request 객체로 불러와야 한다.
    • 쿠키는 여러개를 만들수 있어서 기본적으로 배열로 불러온다.
      Cookie[] cookies = request.getCookies();

2.Session

server에 저장 -> 서비스에서 나가거나 브라우저가 변경 될 경우 끊어진다. -> 보안성 우수

  • 세션 확인
    String name = (String)session.getAttribute("name");
    • session은 value가 object이기 때문에 casting을 통해 지정해준다.
    • session은 내장객체를 사용하므로 객체화가 따로 필요없다.
    • 속성을 수정 할땐 set...
    • 속성을 가져올땐 get...
    • 속성을 삭제할땐 remove...또는 del...
    • invalidate();를 사용하면 완전히 다른 세션이 된다.
// 세션에 값 저장
	session.setAttribute("name", "new name change!");
   // session은 value 가 Object 이다.
   session.setMaxInactiveInterval(60); //초
   // 움직임없이 있을 경우 유지되는 시간(기본 30분)
   response.sendRedirect("index.jsp");
	// index.jsp 로 돌려 보낸다.

3.Scope

JSP 에서 데이터 저장시 공유 하는 영역
데이터를 언제까지 가지고 있는지로 구분

// post 방식으로 전송시 한글이 깨진다.
// 그래서 우리가 직접 인코딩을 해 줘야 한다.
	request.setCharacterEncoding("UTF-8");
// application 역시 내장 객체이며, session 과 사용법이 비슷하다.
//application 영역은 서버가 꺼지기 전 까지 계속 유지 된다.
//session 영역은 서비스를 나가거나 브라우저가 종료되면 사라진다.

4.Action Tag

Scriptlet은 유용하지만 페이지가 복잡해져 최소한으로 쓰지 않기 위해 action tag를 사용한다.

  • forward
    • 특정 페이지로 이동시켜 주는 역할
// 만약 요청온 데이터를 result.jsp 로 보내려고 할 때 response.sendRedirect()로는 불가능 하다.
// forward 를 사용하면 데이터를 붙일 수 있다.
forward 는 request 객체를 활용하므로 데이터를 전달 할 수가 있다.
그리고 추가 파라메터를 보낼 수도 있다.
태그사이에는 아무것도 들어가지 않아야함(공백포함)
<jsp:forward page="result.jsp">
	<jsp:param name="tel" value="010-1234-1234"/>
</jsp:forward>
  • include

    Scriptlet의 <%@ page include%>를 대체 하기위하여 사용한다
    <jsp:include page="~.jsp"></jsp:include>
    forward와 같이 추가 파라메터를 보낼 수도 있다.

1개의 댓글

comment-user-thumbnail
2023년 8월 16일

정보에 감사드립니다.

답글 달기

관련 채용 정보