본문 바로가기

Servlet&JSP

Servlet - 1

    Web App의 역사

    - 제 1세대 Web : Static Page(Html)

    - 제 2세대 Web : Dynamic Page(DHTML,Servlet/JSP)

    - 제 3세대 Web : Distributed Enviroment  Enviroment(EJB, RMI)

    - 제 4세대 Web : RIA(Rich Internet Application)-> Web 2.0 javaFX, Flex, Ajax , Silverlight

     

    • XXX.jsp -> 요청을 받으면 일반 웹서버는 처리 불가능. 웹컨테이너가 있어야 요청을 처리할 있다. (WAS - Web Application Server)
    • Tomcat -> EJB 서비스는 없다.

     

    서블릿 특징

     

    • 쓰레드를 기반으로 하므로 웹 애플리케이션 운영에 효율적이다.
    • 자바를 기반으로 하므로 자바 API를 모두 사용할 수 있다.
    • 운영체제나 하드웨어에 영향을 받지 않는다.
      • 개발된 애플리케이션은 다양한 서버 환경에서도 실행이 가능하다.
    • 애플리케이션에서 효율적인 자료 공유 방법을 제공한다.
    • 컨텐츠와 비즈니스 로직을 분리할 수 있다.
    • 컨트롤러와 뷰의 역할 분담(MVC design pattern)
      • 디자이너와 개발자간의 원활한 공동작업이 가능해진다.
    • 유지보수가 수월하다.
    • 기능의 확장이 용이하다.
    • 프로그래머가 HTML, 자바스크립트 스타일시트 등 복잡한 기술을 모두 알아야 할 필요가 없다.

     

    JSP 특징

     

    • 빈즈라고 하는 자바 컴포넌트를 사용할 수 있다.
    • 최초의 서블릿으로 컴파일 된 후에는 메모리에서 처리
      • 많은 사용자 접속도 원활히 처리할 수 있다.
    • JSP나 다른 서블릿 간의 쉬운 데이터 공유
      • page, request, session, application scope 으로 가능
    • 자바의 모든 기능을 사용할 수 있다. -> 무한한 확장성
    • IBM, 오라클, , BEA 등에서 강력히 지원
    • 사용자 태그를 만들어 사용할 수 있다.
    • JSTL(JSP Standard Tag Library)과 같은 다양한 기능의 태그 라이브러리 이용 가능
    • 다양한 운영체제와 여러 회사의 JSP 개발/실행 환경을 이용할 수 있다.

     

    • Tomcat 설치

    http://jakarta.apache.org/

    1. 컨테이너를 받아오자. http://tomcat.apache.org/

    tomcat 5.5 zip 다운받는다.

    1. 환경변수 JAVA_HOME 설정

    JAVA_HOME 환경 변수 설정

    환경변수 이름 : JAVA_HOME

    환경변수 값 : JDK가 설치된 HOME Directory

     

     

    1. D:\tomcat5.5 압축을 풀자.
    2. D:\tomcat5.5\bin\startup.bat, D:\tomcat5.5\bin\shutdown.bat 바탕화면에 바로가기 만든다.
    3. startup.bat 실행한다. DOS창이 죽으면 오류…
    4. http://127.0.0.1:8080/  or  http://localhost:8080/

     

    1.   애플리케이션 디렉토리 구조

    *.html, *.jsp, *.jpg 등 : root 디렉토리를 중심으로 하위 디렉토리를 가지면서 위치.

     

    • /WEB-INF/ 폴더는 url 접근 못하는 특수한 폴더이다.

     

    /WEB-INF/web.xml : Web Application Deployment Descriptor

    XML로 구성된 일종의 환경설정 파일

    현재 웹 애플리케이션에 대한 각종 설정 사항을 갖고 있음

     

    /WEB-INF/classes/: 현재 웹 애플리케이션에서 사용할 자바 클래스 파일 위치

    서블릿과 기타 클래스도 위치할 수 있음. 패키지 구조에 따라 디렉토리 구성

    jar 파일은 지원하지 않으므로 주의

     

    /WEB-INF/lib/ : jar 파일이 위치(classes와 유사)

    대부분 JDBC 드라이버와 같은 서브파티 클래스 혹은 현재 웹 애플리케이션이 배포되었을 때 여러 환경에서 다른 설정 없이도 실행이 가능하도록 하는 다양한 클래스를 포함

     

    1. WAR(Web Application aRchive)

    웹 애플리케이션 디렉토리 구조를 가진 압축 파일(zip, jar 파일 호환)

    웹 애플리케이션 배포를 위해 사용

    애플리케이션 서버 간의 호환성 유지

     

     

    • 간단한 Servlet 페이지 작성
    1. coding...

    package net.cjedu.hello;

     

    import java.io.*;

    import java.util.*;

    import javax.servlet.http.*;

    import javax.servlet.*;

     

    public class HelloServlet extends HttpServlet{

     

    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, java.io.IOException{

     

    resp.setContentType("text/html");

    //니가 가지고 있는 출력스트림을 줘라!!

    PrintWriter out = resp.getWriter();

    out.println("<HTML>");

    out.println("<HEAD>");

    out.println("<TITLE>");

    out.println("HelloServlet");

    out.println("</TITLE>");

    out.println("</HEAD>");

    out.println("<BODY>");

    out.println("<H1>Hello World</H1>");

    out.println("<h2>현재 시간 " + new Date() + "</h2>");

    out.println("</BODY>");

    out.println("</HTML>");

     

    out.close();

    }

    }

     

    1. Package compile 한다. 그러나 에러…

     

    D:\java_servlet\1.hello\src>javac -d ../classes HelloServlet.java

    HelloServlet.java:4: package javax.servlet.http does not exist

    import javax.servlet.http.*;

    ^

    HelloServlet.java:5: package javax.servlet does not exist

    import javax.servlet.*;

     

    1. servlet api 없어서 에러가 생긴다.

    D:\tomcat5.5\common\lib\servlet-api.jar 파일을 C:\Program Files\Java\jdk1.6.0_13\jre\lib\ext 복사한다.

     

    D:\java_servlet\1.hello\src>javac -d ../classes HelloServlet.java

     

    그러면 컴파일이 된다.

     

    1. 생성된 폴더를 D:\tomcat5.5\webapps\ROOT\WEB-INF\classes\ 폴더 밑에 복사한다.

     

    1. 프로토콜://ip:port/application 경로/servlet 클래스 이름

    먼저 D:\tomcat5.5\conf\web.xml 에서 115주석 제거, 366주석 제거

    http://127.0.0.1:8080/servlet/net.cjedu.hello.HelloServlet

     

     

     

     


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

파일다운로드 jsp  (0) 2011.09.29
Tomcat에서 ◎ 한글 파라미터를 가진 링크를 만들 때  (0) 2009.10.27
Servlet - 3  (0) 2009.10.22
Servlet - 2  (0) 2009.10.22