Skip to main content

2 posts tagged with "선언"

View All Tags

· 3 min read
  1. 세션이란
  • 쿠키와 마찬가지로 서버와의 관계를 유지하기 위한 수단
  • 쿠키와 달리 클라이언트의 특정 위치에 저장되는 것이 아니라, 서버상에 객체로 존재
  • 따라서 세션은 서버에서만 접근이 가능하여 보안이 좋고, 저장할 수 있는 데이터에 한계가 없다.
  1. 세션 문법
  • 클라이언트의 요청이 발생하면 자동생성 (컨테이너)

  • session이라는 내부 객체를 지원하여 세션의 속성을 설정

  • 클라이언트요청 -> seesion 자동 생성 -> Session 속성 설정(session 내부 객체의 메소드 이용)

  • 관련 메소드

    • setAttribute(): 세션에 데이터를 저장
    • getAttribute(): 세션에서 데이터를 얻는다
    • getAttributeNames(): 세션에 저장되어 있는 모든 데이터의 이름(유니크한 키값)을 얻는다
    • getId(): 자동 생성된 세션의 유니크한 아이디를 얻는다.
    • isNew(): 세션의 최초 생성되었는지, 이전에 생성된 세션인지를 구분
    • getMaxInactiveInterval(): 세션의 유효시간을 얻는다. 가장 최근 요청시점을 기준으로 카운트 된다.(apache-tomcat/web.xml에서 디폴트 30분으로 되어있음 변경가능)
          <session-config>
      <session-timeout>30</session-timeout>
      </session-config>
      ```
    • removeAttribute(): 세션에서 특정 데이터 제거
    • invalidate(): 세션의 모든 데이터를 삭제
  • session 초기화

        <%
    session.setAttribute("mySessionName", "mySessionData");
    session.setAttribute("myNum", 12345);
    %>
  • session get

        <%
    Object obj1 = session.getAttribute("mySessionName");
    String mySessionName = (String)obj1;
    out.println(mySessionName + "<br/>");

    Object obj2 = session.getAttribute("myNum");
    Integer myNum = (Integer)obj2;
    out.println(myNum + "<br/>");

    out.println("============================ <br/>");

    String sName;
    String sValue;
    Enumeration enumeration = ses`0xzion.getAttributeNames();

    while(enumeration.hasMoreElements()){
    sName = enumeration.nextElement().toString();
    sValue = session.getAttribute(sName).toString();

    out.println("sName: " + sName + "<br/>");
    out.println("sValue: " + sValue + "<br/>");
    }
      out.println("============================ <br/>");

String sessionID = session.getId();
out.println("sessionID : " + sessionID + "<br/>");
int sessionInter = session.getMaxInactiveInterval();
out.println("sessionInter : " + sessionInter + "<br/>");


out.println("============================ <br/>");

session.removeAttribute("mySessionName");
Enumeration enumeration2 = session.getAttributeNames();
while(enumeration2.hasMoreElements()){
sName = enumeration2.nextElement().toString();
sValue = session.getAttribute(sName).toString();

out.println("sName: " + sName + "<br/>");
out.println("sValue: " + sValue + "<br/>");
}

out.println("============================ <br/>");


session.invalidate();
if(request.isRequestedSessionIdValid()){
out.println("session valid");
}else{
out.println("session invalid");
}

%>

· 3 min read

1.스트립트릿, 선언, 표현식

  • 스크립트릿(scriptlet): <% java 코드 기술 %>
  • JSP페이지에서 JAVA언어를 사용하기 위한 요소 중 가장 많이 사용되는 요소
<body>
<% int i = 0; while(true){ i++; out.println("2 *" + i + " = "+(2*i) + "<br />");
%> ===========<br />
<% if(i >= 9){ break; } } %>
</body>
  • 선언(declaration) <%! java코드 기술 %>
<body>
<%! int i = 10; String str = "ABCDE"; %> <%! public int sum(int a, int b){
return a+b; } %> <% out.println("i = " + i + "<br />"); out.println("str = " +
str + "<br />"); out.println("sum(1,5) = " + sum(1,5) + "<br />"); %>
</body>
  • 표현식(expression) <%= java코드 기술 %>
  • JSP페이지 내에서 사용되는 변수의 값 또는 메소드 호출 결과값을 출력하기 위해 사용
  • 결과값은 String타입이며, ';'를 사용 할 수 없다
<%=i%><br />
<%=str %><br />
<%=sum(1,5) %><br />

2.지시자

  • JSP페이지의 전체적인 속성을 지정할 때 사용
  • page, include, taglib 가 있으며, <%@ 속성 %> 형태로 사용
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
  • page: 해당 페이지의 전체적인 속성 지정

    • 페이지의 속성을 지정할 때 사용, 주로 사용되는 언어 지정 및 import문을 많이 사용
    <%@page import="java.util.Arrays"%>
  • include: 별도의 페이지를 현재 페이지에 삽입

    • 현재 페이지내에 다른 페이지를 삽입할 때 사용. file속성을 이용
    <h1>include.jsp페이지 입니다.</h1>
    <br />
    <%@ include file="include01.jsp" %>
    <h1>다시 include.jsp 페이지 입니다.</h1>
    <br />
  • taglib: 태그라이브러리의 태그 사용 - 사용자가 만든 tag들을 태그라이브러리라고 한다. 이 태그라이브러리를 사용하기 위해 taglib지시자를 사용한다 - uri 및 prefix 속성이 있으며, uri는 태그라이브러리의 위치 값을 가지며, prefix는 태그를 가리키는 이름 값을 가진다

    3.주석

  • HTML주석

<!-- comments -->
  • JSP주석
<@-- comments -->