본문으로 바로가기

1. JSP 예

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %> <%@ page import="java.util.Date, java.io.FileWriter" %> <% Date now = new Date();%> <html> <head>

현재 시각 </head> <body>현재 시각: <%= now %> </body> </html>
출력 예:) 현재 시각: Fri May 09 18:24:12 KST 2014

<%! : 선언부(declaration) / <%= : 표현식(Expression) / : 지시문(Directive) - @page,@import,@taglib Line 1~2: 디렉티브(directive; 지시문)
Line 3~5: 스크립트릿(scriptlet)


2. 서블릿으로 작성
 

● 서블릿을 이용한 웹 어플리케이션 개발 순서
① 서블릿 소스 코드를 생성할 디렉터리 생성
   [톰캣설치디렉터리] > webapps > 프로젝트명 > WEB-INF > classes - 컴파일 결과 파일

② 클래스 파일을 저장할 WEB-INF/classes 디렉터리 생성
   [톰캣설치디렉터리] > webapps > 프로젝트명 > WEB-INF > src - 소스 코드 파일

③ CLASSPATH 환경 변수 값 설정; 컴파일 or 자바 클래스 실행시 참조하는 클래스 파일 위치
   > set CLASSPATH=[톰캣설치디렉터리]\lib\servlet-api.jar
   > set CLASSPATH=%CLASSPATH%\[①의 디렉터리]

   또는 C:\Program Files\Java\jre1.8.0_73\lib\ext\ 에 복사 

④ 서블릿 소스 코드 작성
⑤ 컴파일 후 생성된 클래스 파일을 ②의 classes 폴더에 복사
⑥ WEB-INF/web.xml 파일에 서블릿 정보를 입력
⑦ 웹 컨테이너(=톰캣) 실행
⑧ 웹 브라우저에서 테스트


package mvjsp.chap02;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(urlPatterns = "/now")
public class NowServlet extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest rq, HttpServletResponse rs)  throws ServletException, IOException {
		rq.setCharacterEncoding("utf-8"); // 매개변수에 한글이 섞여있으면..
		Date now = new Date();
		
		rs.setContentType("text/html; charset=utf-8"); // html문서를 보내겠다!는 의미
		PrintWriter writer = rs.getWriter();
		writer.println("");
		writer.println("현재 시각 출력 -  Servlet");
		writer.println("");
		writer.println("서블릿 생성 현재 시간: 
"); writer.println(now.tostring()); writer.println(""); writer.close(); } @Override protected void doPost(HttpServletRequest rq, HttpServletResponse rs) throws ServletException, IOException { } }
 
3. Summary
● MVC(Model-View-Controller) 패턴 개발시 역할: 
  View: JSP 등을 이용해 작성한 정적 컨텐츠, 사용자에게 보여줄 화면을 생성
  Model: 비지니스 모델은 별도 클래스를 통해서 구현
  Controller: Servlet이 담당, Model을 사용해서 사용자 요청을 처리하여 View에 전달
  
4. 참고 링크
샘플로 본 서블릿의 구조와 작동원리 2013.11.28




반응형