Chap 02. 웹 프로그램 시작하기.
* 웹 프로그래밍 절차.
1. 개발환경 구축
2. 웹 어플리케이션 코드 개발 및 테스트
3. 완성된 웹 어플리케이션을 서비스 환경에 배포.
* 개발 환경 구축
-
필요한 프로그램
JDK
웹 컨테이너 ( 톰캣, 제티, GlassFish )
코드 편집기 ( UltraEdit, AcroEdit, 이클립스 )
-
웹 컨테이너 설치.
http://tomcat.apache.org 에서 다운로드 받아 압축을 푸는 것으로 설치가 완료된다.
JAVA_HOME 이 필수 환경변수로 지정되어야 한다.
-
톰캣 폴더와 파일 설명
bin : 톰캣 실행 종료시키는 스크립트 파일이 위치 - CATALINA_HOME 환경변수를 설정하면 어디서든 바로 실행가능
startup.bat : 톰캣을 독립 프로세스( 별도 명령 프롬프트 )로 시작.
shutdown.bat : 톰캣을 종료
catalina.bat : 톰캣을 시작하거나 종료
conf : server.xml 파일을 포함한 톰캣 설정 파일이 위치
lib : 톰캣을 실행하는 데 필요한 라이브러리 (.jar) 파일이 위치
logs : 톰캣 로그 파일이 위치
temp : 톰캣이 실행되는 동안 임시 파일이 위치
webapps : 웹 어플리케이션이 위치 - 배포 위치
work : 톰캣이 실행되는 동안 사용되는 작업 파일이 위치.
* 웹 어플리케이션 개발 시작하기
-
웹 어플리케이션 디렉터리 생성
tomcat/webapps/[폴더명]
접속은 http://localhost:8080/폴더명
-
간단한 JSP 작성하기
<%@ page contentType="text/html; charset=euc-kr" %>
<%@ page import="java.util.Date" %>
<% Date now = new Date(); %>
<html>
<head><title>현재 시간</title></head>
<body>
현재시각 : <%= now %>
</body>
</html>
<%@ page ... %> 는 페이지 디렉티브라고 부른다.
<%@ %> 를 디렉티브라고 부른다.
<% %> 는 스크립트릿이라고 부르며 Java 코드가 들어간다.
<%= => 는 표현식이라고 부르며, Java 로 정의된 부분의 값을 출력하는 데 사용된다.
생성된 JSP 코드의 소스를 보면, 디렉티브, 스크립트릿 부분이 공백으로 표시된다.
-
간단한 서블릿 작성하기
1. tomcat/webapps/[폴더명] 를 생성
2. 생성한 폴더에 WEB-INF 폴더를 생성하고, 그 하위에 classes 디렉터리를 생성한다.
3. 서블릿 코드 작성
4. 소스를 2 에서 생성한 classes 디렉토리에 컴파일한다. ( javac -d 사용 )
5. WEB-INF/web.xml 파일을 만들어 서블릿 정보를 설정한다.
서블릿 컴파일을 위한 classpath 설정 스크립트
set TOMCAT = [tomcat 디렉토리]
set CLASSPATH=%TOMCAT%/webapps/[폴더명]/WEB_INF/classes
set CLASSPATH=%CLASSPATH%;%TOMCAT%/lib/servlet-api.jar
// ... package, import 생략
@WebServlet( urlPatterns = "/now" ) // web container 가 알아서 web.xml 에 정보 등록
public class NowServlet extends HttpServlet{
@Override
protected void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException{
response.setContentType( "text/html; charset=euc-kr" );
Date now = new Date();
PrintWriter writer = response.getWriter();
writer.println("<html>");
writer.println("<head><title>현재시간</title></head>");
writer.println("<body>");
writer.println("현재 시각: " + now );
writer.println("</body>");
writer.println("</html>");
writer.close();
}
}
-
왜 복잡한 서블릿을 사용하려고 하는가?
중간 규모 이상의 웹 사이트는 유지보수를 위해 MVC ( Model-View-Controller ) 패턴에 맞춰 개발되고 있다.
이 경우 JSP 는 뷰(View)를 담당한다. 비지니스 로직은 모델(Model) 에서 처리되고, 컨트롤러(Controller) 는 모델을 사용해서 사용자의 요청을 처리하고 그 결과를 뷰에 전달하여 뷰가 알맞은 겨로가를 생성할 수 있도록 한다. 이 때 서블릿이 Controller 의 역할을 한다.
'프로그래밍 놀이터 > Web' 카테고리의 다른 글
Chap 05. 필수 이해 요소 (0) | 2015.01.04 |
---|---|
Chap 03. JSP 로 시작하는 웹 프로그래밍 (0) | 2015.01.03 |
[sql] How can I return rows with a specific value first? (0) | 2014.05.02 |
css3 box-sizing property. (0) | 2014.04.09 |
Bootstrap All Functions #5 (0) | 2014.04.04 |
댓글