※멤버변수 사용시 :상수같이 변동없는값은 가능하지만
차감이나 증감같이 변동시키도록 코드를짜면 동기화에 문제가 생길수있다.
package com.base; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class LifeCycle extends HttpServlet{ int initCnt=0; int serviceCnt=0; int destroyCnt=0; public void init() throws ServletException{ System.out.println("init 메소드는 첫 요청만 호출됨: " + (++initCnt)); } public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{ System.out.println("service 메소드는 요청때마다 호출됨: " + (++serviceCnt)); response.setContentType("text/html;charset=euc-kr"); PrintWriter out = response.getWriter(); out.println("<html><head><title>Servlet Life Cycle</title></head>"); out.println("<body>"); out.println("서블릿 인스턴스의 ID:"+initCnt+"<br/>"); out.println("서블릿 service 호출 ID:"+serviceCnt+"<br/>"); Thread th=Thread.currentThread(); out.println("현재 Thread 이름: "+th.getName()+"<br/>"); out.println("</body></html>"); } public void destory(){ System.out.println("destroy 메소드는 본 Servlet이 더이상 사용되지 않을 때만 호출됨 : " + (++destroyCnt)); } }
스크립트 요소
1.스크립트릿 <% %> : 지역변수 선언
2.표현식 <%= %> : 출력 , 변수 값을 출력, 메소드 결과값, 연산의 결과 출력
3.선언부 <%! %> : 멤버 변수 선언, 메소드 선언
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>1-10까지의 합</title> </head> <body> <% //스크립트릿 : 지역변수 선언, 연산, 제어, 출력 int sum = 0; for (int i = 1; i <= 10; i++) { sum = sum + i; } %> <%-- 표현식 : 변수의 값, 메소드의 결과값, 연산의 값 출력 --%> <!-- HTML 주석 --> 1부터 10까지의 합은 <%= sum %> 입니다. </body> </html>
'JSP > 기본(Oracle)' 카테고리의 다른 글
JSP 배열의 내용 출력 (0) | 2012.05.30 |
---|---|
JSP 메소드 선언 및 호출 (0) | 2012.05.30 |
POST 방식과 GET 방식 (0) | 2012.05.30 |
Form & Servlet (0) | 2012.05.30 |
Servlet (0) | 2012.05.30 |