서블릿 클래스의 init 메서드는 서블릿의 초기화 작업이 수행될 때 자동으로 호출되는 메서드이고,

destroy 메서드는 서블릿의 마무리 작업이 수행될 때 자동으로 호출되는 메서드 이다.


init 메서드 작성방법


init 메서드는 파라미터가 없는 메서드로 선언해야 하고, 리턴타입은 void로 지정해야 하며 public 으로 선언해야한다.

javax.servlet.ServletException을 메서드 밖으로 던지도록 만들수도있지만 필요치 않다면 생략이 가능하다.


1
2
3
public void init() throws ServletException{
        
    }
cs



init 메서드중에는 실행 시간이 오래 걸리는 코드도 있다.

그럴경우에는 init 메서드를 작성함으로 인해 전체 시스템 자원은 절약되겠지만 

그 서블릿을 처음으로 호출하는 사용자는 오래 기다려야 한다.

그런 문제를 해결하기 위해서는 web.xml 파일에 서블릿을 등록하기 위해 기술하는 <servlet>엘리먼트 안에

<load-on-startup/> 이라는 서브 엘리먼트를 기술하면 된다. 그렇게하면 웹 컨테이너가 시작될 때 해당 서블릿 클래스가

웹 컨테이너의 메모리로 읽어들여지고 그클래스로부터 서블릿 객체가 만들어지고 초기화되는 일까지 완료된다.



destroy 메서드 작성방법


init 메서드의 작성방법과 비슷하다 파라미터가 없어야하고 리턴타입 void 로 선언되어야하고 public 으로 선언해야한다.

init 메서드와는 달리 throw 절을 쓸수 없다.


1
2
3
public void destroy() {
        
    }
cs




서블릿 클래스의 상위 클래스인 javax.servlet.GenericServlet 클래스에는 init ,destory 메서드와 닮은 init ,destroy 메서드가 있다.

GenericServlet 클래스의 init 메서드중에 ServletConfig 타입의 파라미터를 받는 메서드가 있다. 이 메서드의 역할은

웹 컨테이너가 서블릿을 초기화 할 때 호출하는 것은 ServletConfig 파라미터를 받는 init 메서드 이지만

그 메서드 안에서 내부적으로 파라미터 없는 init 메서드를 호출한다. 

그렇기 때문에 서블릿 클래스에서 init 메서드 작성방법대로 메서드를 작성해놓아도 웹 컨테이너에 의해 호출될수 있다.

하지만 서블릿 클래스에 ServletConfig 파라미터를 받는 init 메서드를 작성해놓아도 웹 컨테이너에 의해 자동으로 호출될수 있다.

그 방법을 사용할때는 그 그 메서드 안에서 슈퍼클래스의 init 메서드를 호출하는 일을 제일 먼저 해야한다.


1
2
3
public void init(ServletConfig config) throws ServletException{
        super.init(config);
    }
cs





 

'JSP&Servlet' 카테고리의 다른 글

ServletContext 객체  (0) 2017.02.26
서블릿의 초기화 파라미터 / init-param  (0) 2017.02.26
서블릿 클래스에서 세션 사용하기  (0) 2017.02.26
include  (0) 2017.02.26
forward  (0) 2017.02.26

세션 시작하기


서블릿 클래스에서 세션을 시작하기 위해서는 doGet,doPost 메서드의  HttpServletRequest 파라미터에 대해

getSession 이라는 메서드를 호출해야 한다. 

이메서드는 세션 정보를 포함하는 javax.servlet.http.HttpSession 타입의 객체를 리턴한다.


세션영역에 데이터 저장


getSession 메서드가 리턴한 HttpSession 객체에 대해 setAttribute 라는 메서드를 호출하면

세션 데이터 영역에 데이터를 저장할수 있다. 이메서드는 데이터 이름과 데이터 값을 파라미터로 넘겨줘야한다.

이중 데이터 이름은 String 타입이어야 하고 데이터 값은 객체이기만 하면 어떤 타입이든 상관없다.

setAttribute 메서드는 같은 이름의 데이터가 이미 있으면 기존 값을 지우고 새로운 값을 저장하므로

데이터 수정 기능을 구현하기 위해서도 사용할수 있다.


1
2
3
4
HttpSession session = request.getSession(); //세션시작
        
session.setAttribute("ID""lee77"); //세션영역에 데이터 저장
 
cs


세션 정보 가져오기


세션 영역에 저장된 데이터는 같은 웹 애플리케이션 디렉터리에 있는 다른 웹 컴포넌트에서도

읽을수 있다. 그것은 HttpSession 객체가 필요하다 그럴경우에도 getSession 메서드를 이용해서

객체를 구할수 있다. 이 메서드는 진행중인 세션이 없을때는 새로운 세션을 시작하지만

이미 진행중인 세션이 있을때는 그 세션 정보를 HttpSession 객체로 만들어서 리턴한다.


세션영역의 데이터 가져오기


이렇게 구한 HttpSession 객체에 대해 getAttribute라는 메서드를 호출하면 세션 데이터 영역의 데이터를 가져올수 있다.

이 메서드는 데이터 이름을 파라미터로 받고 그에 해당하는 데이터 값을 리턴한다 이 메서드의 리턴타입은

object 타입이므로 데이터 값을 본래의 타입으로 사용하려면 캐스트 연산을 해야한다. 


 

1
2
3
4
HttpSession session = request.getSession(); //세션의 정보를 가져옴
 
String str = (String) session.getAttribute("ID"); //세션영역의 데이터 가져오기
 
cs


세션 데이터 삭제

HttpSession 객체를 이용하면 세션 데이터를 삭제할 수도 있다. 

이 객체에 대해 removeAttribute 메서드를 호출해서 한다 이메서드는 삭제할 데이터의 이름을 파라미터로 넘겨야한다.


1
session.removeAttribute("ID"); //세션 데이터 삭제     
cs


세션 종료

세션을 이용해서 할일이 끝나고 나면 invalidate 라는 메서드를 호출해서 세션을 끝낼수 있다.

이 메서드는 HttpSession 객체에 대해 호출해야 한다.


1
session.invalidate(); // 세션 종료        
cs


 

'JSP&Servlet' 카테고리의 다른 글

서블릿의 초기화 파라미터 / init-param  (0) 2017.02.26
서블릿 클래스의 init 메서드/destroy 메서드  (0) 2017.02.26
include  (0) 2017.02.26
forward  (0) 2017.02.26
servlet 에서 파일 업로드  (0) 2017.02.26

include 메서드도 forward 메서드처럼 다른 jsp 페이지를 호출하는 기능을 하지만 

호출된 jsp 페이지가 끝나고나면 실행 흐름의 제어가 본래의 jsp 페이지로 돌아온다는 점이 다르다.

그렇기 때문에 이 메서드는 여러 jsp 페이지가 공통으로 사용하는 코드를 호출하고자 할 때 사용하는 것이 좋다.


이메서드는 forward 메서드와 마찬가지로 javax.servlet.RequestDispatcher 인터페이스에 속하므로 

먼저 RequestDispatcher 객체를 구해야 한다. 그런 객체는 getRequestDispatcher 메서드를 이용해서 구할수 있으며

이메서드를 호출할 때는 include 메서드가 호출할 jsp 페이지의 url 경로명을 파라미터로 넘겨줘야 한다.


1
RequestDispatcher dispatcher = request.getRequestDispatcher("today.jsp");
cs


이렇게 구한 RequestDispatcher 객체를 이용해서 include 메서드를 호출할 때는 

request 내장 변수와 response 내장 변수를 파라미터로 넘겨줘야 한다.


1
dispatcher.include(request,response);
cs


include 메서드를 통해 호출되는 jsp 페이지로 데이터를 넘겨주기 위해서는 
forward 메서드의 경우와 마찬가지로 request 내장변수에 대해 
setAttribute 메서드와 getAttribute 메서드를 호출하면 된다.


1
2
3
request.setAttribute("WEIGHT"new double(72.5));
 
Double weight = (double) request.getAttribute("WEIGHT");
cs


include 메서드는 include 지시자와 비슷해 보이지만 내부적으로 작동하는 방식은 다르다.
include 메서드는 jsp페이지가 실행되는 시점에 해당 jsp 페이지를 호출해서 실행하지만
include 지시자는 웹 컨테이너가 jsp 페이지를 서블릿 클래스로 변환하는 시점에 해당 jsp 페이지 로부터
변환된 코드를 그 서블릿 클래스의 일부로 만든다.

'JSP&Servlet' 카테고리의 다른 글

서블릿 클래스의 init 메서드/destroy 메서드  (0) 2017.02.26
서블릿 클래스에서 세션 사용하기  (0) 2017.02.26
forward  (0) 2017.02.26
servlet 에서 파일 업로드  (0) 2017.02.26
JSTL 코어 라이브러리  (0) 2017.02.26

forward 메서드는 jsp 페이지 안에서 다른 jsp 페이지를 호출할때 사용하는 메서드이다.

이메서드는 호출된 jsp 페이지가 끝나고 나도 실행 흐름의 제어를 되돌려주지 않는다.

그러므로 어떤 jsp 페이지가 할 일을 모두 마치고 난 다음에 다른 jsp 페이지를 호출하고자 할 때 사용하는것이 적합하다.


이메서드는 javax.servlet.RequestDispatcher 인터페이스에 속하기 때문에 이 타입의 객체가 있어야 호출할수 있다.

그런 객체는 아무렇게나 만들면 안 되고 반드시 request 내장 변수에 대해 getRequestDispatcher 메서드를 호출해서 얻어야 한다

getRequestDispatcher 메서드를 호출할대는 forward 메서드가 호출할 jsp 페이지의 url 경로명을 파라미터로 넘겨야한다.


1
2
3
4
RequestDispatcher dispatcher = request.getRequestDispatcher("Result.jsp");
 
RequestDispatcher dispatcher = request.getRequestDispatcher("/Result.jsp");
 
cs

 

 / 슬러시 로 시작하는 값은 웹 애플리케이션 디렉터리를 기준으로 한 url 경로명으로 해석되기 때문에 

/Result.jsp 라고 쓰면 웹 애플리케이션 디렉터리에 있는 Result.jsp 파일을 가르킨다.



RequestDispatcher 객체를 구한 다음에는 그 객체에 대해 forward 메서드를 호출할수 있다.

이 메서드를 호출할 때에는 request 내장 변수와 response 내장 변수를 파라미터로 넘겨야 한다.


1
dispatcher.forward(request,response);
cs



이 메서드를 통해 호출되는 jsp 페이지로부터 데이터를 넘겨주려면 forward 메서드보다 먼저

request.setAttribute 라는 메서드를 호출해서 request 내장변수 안에 데이터를 저장해 놓으면 된다 .

이메서드는 문자열 타입의 데이터 이름과 객체 타입의 데이터값을 파라미터로 받는다 .


1
2
request.setAttribute("HEIGHT","new Integer");
                //    데이터 이름  데이터 값
cs

 


이렇게 저장된 데이터를 호출된 jsp 페이지 안에서 가져오려면 request.getAttribute 메서드를 이용해야 한다.

이메서드는 데이터 이름을 파라미터로 받고 그에 해당하는 데이터 값을 찾아서 리턴한다.

하지만 리턴타입이 object 타입이기 때문에 본래의 타입으로 사용하려면 캐스트 연산을 해야한다.


1
2
3
Integer height = (Integer) request.getAttribute("HEIGHT");
                //캐스트연산자                   데이터이름
 
cs
 


'JSP&Servlet' 카테고리의 다른 글

서블릿 클래스에서 세션 사용하기  (0) 2017.02.26
include  (0) 2017.02.26
servlet 에서 파일 업로드  (0) 2017.02.26
JSTL 코어 라이브러리  (0) 2017.02.26
EL 익스프레션 언어  (0) 2017.02.26


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
    <h1>파일 업로드 폼</h1>
    <form method = "post" enctype = "multipart/form-data" action = "/java-web005/AddFile">
        <div><input type ="text" name ="name"/></div>
        <div><input type ="file" name ="uploadfile"/></div>
        <div><input type = "submit" value = "파일업로드"/></div>
    </form>
</body>
</html>
cs


파일을 업로드하는 폼을 생성한다.

파일을 전송하려면 enctype이 "multipart/form-data" 가 되어야한다

"multipart/form-data" 은 post방식으로만 전송이 가능하다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package controller;
 
import java.io.IOException;
 
import java.util.UUID;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
 
 
@WebServlet("/AddFile")
@MultipartConfig
//sevlet클래스에서 request를 javax.servlet.http.Part 
//타입으로 받을 수 있도록@MultipartConfig 어노테이션  추가
public class AddFileServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    public AddFileServlet() {
        super();
 
    }
 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
        response.getWriter().append("Served at: ").append(request.getContextPath());
    }
 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("euc-kr");
        String name = request.getParameter("name");
        System.out.println(name);
        Part part = request.getPart("uploadfile"); //part타입으로 업로드된 파일을 받아온다.
        System.out.println(part);
        String dir ="D:/JB2/wrokspace_neon/java-web005/upload/";
        String filename = UUID.randomUUID().toString().replace("-""");
        //UUID는 파일명이 중복되지않도록 랜덤의 문자열을 생성한다.
        String ext = ".png";
        
        part.write(dir+filename+ext);//write메서드의 매개변수로 경로와 파일이름 확장자명을 넘긴다.
        
    }
 
}
 
 
cs


'JSP&Servlet' 카테고리의 다른 글

include  (0) 2017.02.26
forward  (0) 2017.02.26
JSTL 코어 라이브러리  (0) 2017.02.26
EL 익스프레션 언어  (0) 2017.02.26
jsp 에서 세션 사용하기  (0) 2017.02.26

<c:set>

<c:set>은 변수를 선언하고 나서 그 변수에 초기값을 대입하는 기능의 커스텀 액션이다.

선언된 변수는 EL식 안에서 사용할수 있다. <c:set>커스텀 액션은 자바 변수가 되는게 아니라

page 데이터 영역의 애트리뷰트가 된다.

1
2
<c:set var="num" value="100" />
// num-변수명 100- 초기값
cs

 

사용예제

1
2
3
4
5
6
7
<c:set var="num1" value="7">
<c:set var="num2" value="9">
<c:set var="result" value="${num1*num2}">
 
<HTML>
    ${num1}과 ${num2} 의곱은? ${result}
</HTML>
cs


<c:set>액션을 이용하면 page 데이터 영역 뿐만 아니라 

request,session,application 데이터 영역에 애트리뷰트를 저장하는것도 가능하다.

<c:set> 태그에 scope 라는 애트리뷰트를 추가하고 

page,request,session,application 중 하나를 애트리뷰트 값으로 지정한다.

1
2
<c:set var="PRICE" value="10000" scope="request" />
 
cs


<c:remove>

<c:remove>는 <c:set>를 사용해 선언한 변수를 삭제한다.

1
2
3
4
<c:remove var="num" /> 
// page,request,session,application 영역의 num이라는이름을 가진 애트리뷰트 모두 제거
<c:remove var ="code" scope="request" /> 
//request 영역의 애트리뷰트 제거
cs
 

<c:if>

<c:if>는 자바의 if 문과 비슷한 역할을 한다. 주어진 조건에 따라 어떤 동작을 수행하도록 만드는 액션이다.

<c:if>는 조건식을 괄호안에 쓰는것이 아니라 test 라는 애트리뷰트 값으로 지정해야 한다.

1
2
3
<c:if test="${num1 > num2}">
    num1이 더 큽니다.
</c:if>
cs


ex

1
2
3
4
5
<c:if test="${status.count < 6}">
</c:if>
 
<c:if test="${movie.movStatus == '상영중' || movie.movStatus == '상영예정'}">
</c:if>
cs


<c:forEach>

<c:forEach>는 자바의 for문에 해당하는 기능을 제공하는 커스텀 액션이다.

<c:forEach>를 이용해 반복문을 사용하려면 이 액션에 begin과 end 라는 이름의 애트리뷰트를 

 쓰고 거기에 각각 카운터 변수의 시작값과 끝값을 지정한다.

1
2
3
4
5
6
7
<c:forEach var="cnt" begin="1" end="10">
    ${cnt}<br>
</c:forEach>
 
<c:forEach var="cnt" begin="1" end="10" step="2">
    ${cnt}<br>                            //step 애트리뷰트에 증가치를 지정할수 있다.
</c:forEach> 
cs

 

<c:forEach> 커스텀 액션을 이용하면 배열의 항목을 순서대로 출력할 수 있다.

액션태그에 items 애트리뷰트를 쓰고 그곳에 배열 이름을 지정한다 

var애트리뷰트의 값은 배열의 항목을 담는 변수 이름으로 사용한다.


1
2
3
<c:forEach var="str" items="${arr}"> 
    ${str}<br> //var=배열을담을변수명 items=배열의이름
</c:forEach>
cs


배열반복수 출력

1
2
3
<c:forEach var="str" items="${boxList}" varStatus="status"> 
    ${status.count}
</c:forEach>
cs


<c:redirect>

sendRedirect 와 동일한 기능

1
<c:redirect url="http://www.hanb.co.kr" />
cs

 

<c:import>

<c:import>는 <jsp:include>표준액션과 비슷한 일을 한다.

1
<c:import url="http://www.hanb.co.kr" />
cs


<c:url>

url을 지정하기 위한 변수의 선언에 사용된다.

1
2
<c:url var="myUrl" value="http://localhost:8080/board/add.jsp" >
//var=변수명 value =
cs


'JSP&Servlet' 카테고리의 다른 글

forward  (0) 2017.02.26
servlet 에서 파일 업로드  (0) 2017.02.26
EL 익스프레션 언어  (0) 2017.02.26
jsp 에서 세션 사용하기  (0) 2017.02.26
jsp 내장변수  (0) 2017.02.26

익스프레션 언어는 식을 중심으로 코드를 기술하는 언어이다.

연산자와 피연산자의 조합을 ${}로 둘러싸서 표현한다.

1
2
3
${cnt+1//익스프레션 언어의 식
<%= cnt+1 %>//익스프레션의 식
 
cs
 
1
${cnt+1}
cs

이런 형태를 EL 식 이라고 한다.


익스프레션에서 사용된 cnt는 자바의 변수 이름이고 EL식에서 사용된 cnt는 변수가 아니다.

EL 식에 포함된 데이터 이름은 기본적으로 애트리뷰트의 이름으로 해석된다.

1
2
3
4
5
6
7
<%
int sum = {...}
request.setAttribute("RESULT"new Integer(sum)); // 애트리뷰트에 sum의 결과 저장
%>
 
<%=request.getAttribute("RESULT")%> //익스프레션으로 애트리뷰트 값 출력
${RESULT} //EL식으로 애트리뷰트 값 출력
cs


데이터 하나로만 구성된 EL식

1
${RESULT}
cs

서블릿과 JSP 에서 사용할수 있는 애트리뷰트의 종류는 네가지이다.

EL식에서 주의해야 할 점은 네종류의 애트리뷰트 중 어느것 으로도 해석될수 있다는 것이다.

페이지안에 이름이 같고 종류가 다른 애트리뷰트가 있다면 익스프레션 언어에서 정해놓은 순서대로 해석된다.

이 순서는 사용 범위가 좁은 애트리뷰트부터 점점 더 사용 범위가 넓은 애트리뷰트 순으로 진행된다.


page애트리뷰트 -> request애트리뷰트 -> session 애트리뷰트 -> appliction애트리뷰트


이순서에 상관 없이 특정한 종류의 애트리뷰트를 선택해서 출력하고 싶다면 

그 데이터영역에 해당하는 scope 라는 내장 객체를 표시한다.

1
2
3
4
5
${pageScope.RESULT} //page애트리뷰트
${requestScope.RESULT} //request애트리뷰트
${sessionScope.RESULT} //session애트리뷰트
${applictionScope.RESULT} //page애트리뷰트
 
cs



익스프레션 언어의 내장 객체


param 웹브라우저 로부터 입력된 데이터의 집합

1
${param.NUM} ${param["COLOR"]}
cs

param은 웹 브라우저에서 <FORM> 엘리먼트를 통해 입력된 데이터를 가져올 때 사용하는 내장객체이다.

이 객체의 사용방법은 두가지 이다. 객체의 이름뒤에 마침표를찍고 해당데이터이름을 쓰거나

객체의 이름뒤에 대괄호를 입력하고 그안에 작은 따옴표나 큰 따옴표로 묶은 데이터 이름을 적는다.


<FORM>엘리먼트를 통해 똑같은 이름의 데이터가 여러개 입력될 경우 ex <CHECKBOX>,<SELECT>

그럴 때는 param 내장 객체 대신 paramValues 라는 내장 객체를 사용한다.

1
2
${paramValues.ANIMAL[0]}
${paramValues["ANIMAL"][1]}
cs


pageContext

EL식을 이용해서 pageContext의 get 메서드를 호출하려면

메서드 이름 앞에있는 get이라는 단어를 때고 그다음에 있는 첫 문자를 소문자로 변경한 이름을 사용한다.

1
2
${pageContext.request} //getRequest 메서드
${pageContext["request"]} //getRequest 메서드
cs
 
1
2
3
4
5
${pageContext.request.requestURI}
${pageContext["request"]["requestURI"]}
${pageContext.request["requestURI"]}
${pageContext.["request"].requestURI}
//getRequestURI 리턴값을 가져오는 EL 식
cs



익스프레션 언어의 연산자

1
2
3
${gender=="female"//두값의 같으면 true 다르면false
${"CAR"<"CAT"//유니코드에 따른 사전식 비교 CAR가 먼저이므로true
${"CAT">"DOG"//CAT이 먼저이므로 false
cs


마침표 연산자

마침표연산자로 가리킬 수 있는 데이터

배열, java.util.List 객체의 데이터 항목,java.util.Map 객체의 데이터 항목,자바빈 프로퍼티


배열,리스트 인터페이스,Map인터페이스 출력

1
2
3
4
5
6
7
request.setAttribute("WINNER",winner)//배열을 애트리뷰트로 저장
${WINNERS[0//배열 출력
ArrayList<String> items = new ArrayList<String> list객체
request.setAttribute("FRUITS",items)//list객체 애트리뷰트로 저장
${FRUITS[2]} //list객체 출력 
request.setAttribute("ADDRESS",map) //map객체 저장
${ADRESS[param.NAME] // map객체 내에서 데이터 이름에 해당하는 항목을 찾아 
cs


자바빈: JavaBean 규격서에 따라 작성된 자바 클래스, 

파라미터가없는 생성자가 존재해야함,

멤버변수에 접근할때 메서드를통해접근해야함(set,get)

자바빈 프로퍼티 출력

1
2
3
request.setAttribute("PRODUCT",product) //자바빈객체 저장
${PRODUCT.name} //자바빈 프로퍼티 
${PRODUCT.price}
cs



'JSP&Servlet' 카테고리의 다른 글

servlet 에서 파일 업로드  (0) 2017.02.26
JSTL 코어 라이브러리  (0) 2017.02.26
jsp 에서 세션 사용하기  (0) 2017.02.26
jsp 내장변수  (0) 2017.02.26
스크립틀릿/익스프레션/선언부/지시자  (0) 2017.02.26

서블릿클래스에서는 새로운 세션을 시작하거나 진행중인 세션을 계속하기 위해 getSession 메서드를 호출해야한다.

jsp페이지 에서는 그럴 필요가 없다 jsp 페이지가 서블릿 클래스로 변환될 때 이 메서드를 호출하는 코드가 자동으로 추가된다.

이 메서드의 실행결과는 session 내장변수에 저장된다.


1
2
3
4
5
6
7
session.setAttribute("ID""lee77"); //세션에 데이터 저장
        
String str = (String) session.getAttribute("ID"); //세션 데이터를 가져옴
        
session.removeAttribute("ID"); //세션 데이터 삭제
        
session.invalidate(); //
cs



jsp 페이지에서 세션을 사용하지 않으려면 page 지시자의 session 애트리뷰트에 false 라는 값을 지정하면 된다.


1
<%@ page session = 'false' %>
cs



이 애트리뷰트는 세션을 끝내는 기능까지 하는것이 아니므로 세션을 끝내기 위해서는 invalidate 메서드를 사용해야한다.

'JSP&Servlet' 카테고리의 다른 글

JSTL 코어 라이브러리  (0) 2017.02.26
EL 익스프레션 언어  (0) 2017.02.26
jsp 내장변수  (0) 2017.02.26
스크립틀릿/익스프레션/선언부/지시자  (0) 2017.02.26
jsp:useBean  (0) 2017.02.26

+ Recent posts