1. 웹서버대신 Tomcat 컨테이너를 다운
        but 웹서버의 기능도 어느정도 가짐.

 
2. java se - rt.jar(응용 클래스 파일)
   java ee - 컨테이너가 구현하여 보유 servlet-api.jar
    - 이유 : sun사는 웹서버 및 컨테이너를 개발하지 않고, 오로지 스펙만을 명시.
     그래서 주로 추상클래스와 인터페이스를 만든다.
     ex) dbms에 맞는 오라클드라이버와 비슷하다.
 
   = 왜 sun사가 안만들고 벤더사가 만드냐? sun사가 그 벤더사를 예측할 수 없다.
   sun사는 기준만 만든다.

3. 코딩
   웹서버에서만 실행되는 자바의 클래스 = 서블릿(servlet)
   서블릿을 만드는 방법 - extends HttpServlet 한다.
  

@@ java 갈릴레오 버젼 설치

 기존의것과 엉킬 때 -vm C:\Java\jdk1.6.0_13\bin\javaw.exe 를 ini 파일에 맨위로 추가~!

 webworkspace로 워크스페이스 설정

 유저 라이브러리 등록
 
 JRE System libarary -build path -configure - add library -user library - new

 

Tomcat5.5를 이용하여 웹사이트 구축 순서

1. 웹사이트로 root로 사용할 폴더를 생성한다.

2. Tomcat에 웹사이트로 등록한다.
  1) Tomcat_Home/conf/server.xml에 <Host>태그를 추가한다.
  2) <Host>태그에 웹사이트가 사용할 아이피나 도메인을 등록
  3) Tomcat_Home/conf/Catalina 아래에 <Host>태그에 등록한
     아이피나 도메인명과 동일한 폴더를 생성
  4) 생성된 폴더에 ROOT.xml 파일을 생성하여 둔다.
  5) ROOT.xml파일을 아래와 같이 편집한다.
    <Context path="." docBase="웹사이트루트경로" reloadable="true"></Context>
  6) xml이 변경되었으므로 톰캣 재시작!!

** 서블릿 사용방법
 : 서블릿은 jsp가 나옴으로서 요즘은 사용되지 않는다.
  이유 : 서블릿으로 웹어플리케이션을 구축하려면 코딩이 쉽지 않다
        따라서 서블릿의 사용은 기본적으로 사용금지되어 있다.

 = 서블릿 사용 가능하도록 해제하는 방법
 1) Tomcat_Home/conf/web.xml을 열어 아래와 같은 태그의 주석을 풀어야 한다.
 
 114번 라인에 invoker 관련 태그 주석을 푼다
 <servlet>
        <servlet-name>invoker</servlet-name>

 365번 라인쯤의 태그 집합의 주석을 푼다!!
  <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

 ** 서블릿을 웹페이지로 보려면 .....

1. 현재 웹사이트가 html문서뿐만이 아니라 java의 클래스를 인식하려면 반드시 존재해야
   하는 폴더가 있다!! WEB-INF(대소문자 철저히 가린다, 스펠링 조심)
   WEB-INF/classes 에 클래스파일을 둔다!!(필수로 존재해야 함)
   WEB-INF/lb에는 jar 파일을 둔다!!(jar파일을 사용할 경우)

서블릿을 브라우져에서 확인하려면, web.xml에서 명시된 맵핑방법에 의해 접근해야 한다.

서버에 요청(Request)----> 응답(Response)(응답후에 연결을 끊는다)

요청에 의해 응답이 이뤄지므로 원본을 볼 수 있는 보안상의 문제가 발생하지만

html파일이 아닌경우 톰캣서버는 원본이 아닌 해석본만을 전달한다.

Http 프로토콜상의 서버의 업무처리 방법
웹서버는 클라이언트가 요청을 시도하면 자신이 가진 자원을
클라이언트에게 전송해줘야 하는 의무가 있다.
하지만, 무조건 전송한다는 행위는 보안상 커다란 문제점을 발생시키므로,
무조건 전송의 예외가 있다.
즉 원본을 전송하는 것이 아니라, 서버에서 실행시킨 후, 그 결과만을
전송하는 경우가 있다.
.class,.asp,.php, .jsp 일 경우

@ asp,php,jsp 영역은 클라이언트에게 전송하기전, 서버가 해석 즉 실행하는 영역이다!
그래서 asp,php,jsp를 일컬어 서버스크립트 언어라고 한다.

javascript, vbscript는 클라이언트스크립트 언어

@ 서버스크립트언어와 클라이언트스크립트언어

서버에 요청이 들어올경우 서버는 서버스크립트를 먼저 해석하고 클라이언트스크립트는
나중에 클라이언트의 피시에서 실행된다.

Http기반의 프로토콜은 상태없는 프로토콜이다.
 1. stateless 프로토콜이다.
 의미 - 서버와 클라이언트간 지속적 연결상태를 유지하지 않는 처리방식

 2. stateful 프로토콜
 의미 -서버와 클라이언트간 지속적 연결상ㅌ내를 유지하는 처리방식
       ex)네이트온, ftp서버, 터미널에 의한 연결, 배틀넷

 

  

Posted by Taoist
,