1. JSP 예
출력 예:) 현재 시각: Fri May 09 18:24:12 KST 2014<%@ 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>
<%! : 선언부(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
반응형
'Web Programming' 카테고리의 다른 글
HttpStatus 에러 메시지별 원인 메모 (0) | 2017.01.02 |
---|---|
RESTFUL 이란? (0) | 2016.06.20 |
[JSP] 개발환경 설치 간단 정리 (0) | 2014.05.02 |
[용어] Java Framework [continue] (0) | 2013.04.09 |
[웹 서비스] Transaction, Servlet, Web Container (0) | 2011.12.06 |