블로그 이미지
우디냥
"지금 잠을 자면 꿈을 꾸지만, 지금 공부하면 꿈을 이룰수있다"

calendar

  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

Notice

'─☻раցеº②/└ᘐ jsp'에 해당되는 글 4

  1. 2007.07.11 [STRUTS] Bean만들기 및 xml등록방법(1)
  2. 2007.06.11 JSP의 내장객체
  3. 2007.06.11 JSP기호
  4. 2007.06.09 JSP환경설치(2)
└ᘐ STRUTS란?
     ->Model2를 기반으로 웹 프로그램을 제작하기 위한 새로운 프레임 워크

    [참고]  
         메인 서블릿의 역할을 하는 클래스     => ActionServlet
         FWSuper와 같은 역할을 하는 클래스  => Action
         execute 역할을 하는 함수                => execute()
       
  ▷ 실행 Bean을 만드는 방법
      MyBean.java파일에 ...
         public class MyBean extends Action
        {
               public ActionForward execute(ActionMapping mapping, ActionForm form ,
                                                          javax.servlet.http.HttpServletRequest request,
                                                          javax.servlet.http.HttpServletResponse response)
              {
                      return forward;
              }
        }
   
      ◈ 반환값 처리 방식
            모델2 - String 타입으로 반환
            Struts - ActionForward 타입으로 반환  -> 반환할 문서 xml에 등록(아래에..)
 
  ▷ 요청과 실행 Bean 등록 방법
       => struts-config.xml 에 등록..
   
      [등록방식] 
             <action-mappings>
                   <action path="요청" type="실행빈">
                   </action>
             </action-mappings>
   
      ◈ ActionForward 타입 xml에 등록
          -> struts-config.xml 에 등록..
         
              [등록방식]
                      <action-mapping>
                             <action path ="요청" type="실행빈">
                                   <forward name="별칭" path="응답 문서이름" redirect="true" />
                             </action>
                      </action-mapping>
              
               [참고]
                   redirect="true"
                    => 자동으로 sendRedirect 시켜준다.
                         모델2의 실행빈에 insert나 update가 있으면 반드시 Temp로 간 후 ..
                         Temp 파일에서 sendRedirect 시켜야 한다.
                         생략하거나 false로 주면 forward 되기 때문에 새로고침하면 다시 한 번 실행된다.
posted by 우디냥

└ᘐ JSP의 내장 객체
       -> 자주 사용하는 클래스를 미리 오브젝트로 만들어 놓은것
       
    1) out
        javax.servlet.jsp.JspWriter 클래스를 이용해서 미리 만들어 놓은 오브젝트(변수)
        -> 주로 실행 결과를 출력(html 문서로 만들기)를 위한 객체

    2) request
        javax.setvlet.http.HttpServletRequest 클래스를 이용해서
        -> 주로 클라이언트가 보낸 정보/요청을 분석하고 알아내기 위한 객체

    3) response
        javax.servlet.http.HttpSevletResponse 클래스를 이용해서
        -> 주로 클라이언트에게 응답하는 방식이나 응답할 정보를 관리하기 위한 객체

    4) exception
        java.lang.Throwable 클래스를 이용해서..
        -> 에러의 원인을 파악하기 위한 객체

    5) pageContext
        javax.sevlet.jsp.PageContext 클래스를 이용해서..
        -> 현재 문서가 사용하고 있는 환경을 관리하는 객체
 
    6) session
        javax.servlet.http.HttpSession 클래스를 이용해서..
        -> 현재 문서의 세션을 관리하는 객체

    7) application
        javax.servlet.ServletContext 클래스를 이용해서...
        -> 현재 시스템(서버)에 대한 정보를 관리하는 객체
  
    8) config
        javax.servlet.ServletConfig 클래스를 이용해서..
        -> 현재 문서가 사용하고 있는 환경 변수체 관리하는 객체

    9) page
        java.lang.Object 클래스를 이용해서..

posted by 우디냥

└ᘐ JSP의 Scripting 기호
       1. <%@ ..... %>
            선언부 : Directive
            - 주로 문서에 대한 선언이 필요한 경우 사용하는 기호
              예> 문서의 엔코딩 방식, 사용할 패키지 선언
           [형식]   <%@ page 속성 ="속성값"....%> 

         ▶ 속성
             1) info  
                 - 특별히 다른 행동을 하지는 않고 다만 나중에 다시 소스를 볼 때를 대비해서
                   이 문서의 설명을 기록하는 주석 명령에 해당하는 것
                   예> <%@ page info ="내가 만든 첫번째 문서" %>
 
             2) errorPage
                 - 현재 페이지에서 Exception이 발생하면 실제로 실행될 문서를 지정하는 속성
                   (주로 로그인 등에 있어서 문제가 발생하면 다시 로그인을 하라는 문구를 보여
                    주기위한 도구)
                   예> <%@ page errorPage = "보여줄 파일 이름" %>
         
             3) isErrorPage
                 - errorPage의 동작을 수행할지 여부를 규정하는 속성
                    true로 지정하면 실행하고, false로 지정하면 실행하지 않는다.
                   예> <%@ page isErrorPage = "true" %>
   
             4) language
                 - 이 문서가 사용할 jsp 문서의 대응 언어를 지정하는 속성
                   예> <%@ page language = "java" %>
     
             5) extends  
                 - 이 문서를 어떤 클래스에서 상속을 받을 것인지를 지정하는 속성
                   class MyClass extends 클래스이름 과 동일한 효과
                   예> <%@ page extends = "java.lang.Thread" %>

             6) import
                 - 이 문서에서 사용할 클래스를 가지고올 패키지 선언을 하는 속성
                    import.java.awt.* 와 동일한 기능
                   예> <%@ page import = "java.awt.*" %>

             7) session
                 - 이 문서에서 세션을 사용할지 여부를 지정하는 속성
                   예> <%@ page session = "true" %> -> 사용, false -> 사용안함
     
             8) buffer
                 - 이 문서의 응답 단위를 지정하는 속성
                   (즉, 한꺼번에 클라이언트에게 얼마만큼씩 나누어서 응답할지를 설정하는 속성)
                   크기가 크면 응답속도는 빠르지만 서버의 메모리가 그 만큼 많이 차지하게 되고,
                   크기가 작으면 응답속도는 늦지만 서버의 메모리가 그만큼 적게 사용된다.
                   예> <%@ page buffer = "10kb" %>
                         <%@ page buffer = "none" %>버퍼 사용을 안한다
 
             9) autoFlush
                 - 버퍼를 사용하는 경우에만 적용되는 속성
                   버퍼가 차면 자동적으로 내보내기를 시도하도록 지정하는 속성
                   예> <%@ page autoFlush = "true" %> - 기본값
                         false -> 사용자가 직접 out.flush() 시켜야 출력이 된다.
           
             10) isThreadSafe
                  - 여러 클라이언트가 같은 문서를 요청하면 이 문서가 스레드 처리를 할 지 여부
                    를 지정하는 속성
                    예> <%@ page isThreadSafe = "true" %> 사용하겠다(기본값)
             
             11) contentType  
                  - 이 문서의 응답 방식을 지정하는 속성
                    (MIME 타입을 지정)
                    예> <%@ page contentType = "text/html" %>
             
             12) pageEncoding
                  - 사용할 UNI Code 시스템을 지정하는 속성
                    예> <%@ page pageEncoding = "euc-kr" %>
     
             13) isELIgnored
                  - 나중에 확장성을 대비해서 확장언어를 사용할지 여부를 지정하는 것
                    예> <%@ page isELIgnored = "true" %>

         <%@ include file = "파일이름" ....%>
            -> 다른 jsp 문서나 다른 html 문서를 현재 문서에 덧붙이는 명령
                이 명령이 존재한 위치에 해당 문서가 복사되어서 들어온다.
         
         <%@ tablib page = "..." ..%>   
            -> JSTL 라이브러리를 설정하는 명령  

      2. <%! ..... %>
          - 전역 변수나 함수를 만들 때 사용하는 태그
   
      3. <%= .... %>
          - 특정 내용을 출력할 때 사용하는 태그
            out.println(...)으로 컴파일 된다.
            <%= a,b %>가 안된다,
            <%= a + ":" + b %> 가능!

      4. <% ...... %>
          - 실제 jsp 코드가 포함되는 태그
            이 안에 있는 내용은 실제 서블릿 파일로 컴파일 될 때 하나의 함수안에 들어간다.
            결론 : 이 안에 만든 모든 내용은 로컬이다.
        
       

posted by 우디냥
TAG JSP속성
└ᘐ JSP 시스템 환경 설정
       ▶ CLASSPATH
            ;C:\Program Files\Java\jdk1.5.0_10\lib\tools.jar
             => 서버가 java의 명령을 인식하도록..
       ▶ JAVA_HOME
             C:\Program Files\Java\jdk1.5.0_10
             => 서버가 java를 실행하도록..
       ▶ CATALINA_HOME
             C:\tomcat
             => 서버의 위치

      C:\tomcat\conf\web.xml 파일을 열어서
         -> 99, 111, 350, 355의 주석을 제거한 후 다시 저장
   
      C:\tomcat\conf\server.xml 파일을 열어서
        -> 77번줄에 있는 8080 포트번호를 원하는 번호로 바꾼다

      서버를 기동할 때  => C:\tomcat\bin\startup.bat를 실행
      서버 동작 확인시  => http://locathost:포트번호
   
└ᘐ 서버 디렉토리의 의미
        C:\tomcat\bin
              -> 서버를 관리하는 각종 유틸리티가 포함된 디렉토리
        C:\tomcat\conf
              -> 서버의 환경을 지시하는 각종 xml 파일이 포함된 디렉토리
        C:\tomcat\work
              -> 한번 실행된 jsp 문서가 컴파일 되어서 보관되는 디렉토리
        C:\tomcat\webapps
              -> 서버가 클라이언트에게 제공하는 html, xml, jsp, class등의 실제 파일이 포함된
                  디렉토리
           * 참고 - ROOT폴더 : 위치지정을 하지 않으면 자동 실행되는 가상 폴더
       
          ※ 사용자 정의 가상 폴더 만들기
                 tomcat\webapps안에 새로운 폴더를 만든다.
                 그 안에 WEB-INF 폴더를 만든다.
                 그 안에 lib/classes라는 두개의 폴더를 만든다.
                 WEB-INF 아래 web.xml 파일을 ROOT에서 복사해서 넣는다.

└ᘐ 웹 서버의 동작 원리
       - 클라이언트는 웹 서버에게 파일 단위로 요청을 한다
         웹 서버는 클라이언트가 요청한 문서를 그대로 전송한다.
         클라이언트는 웹 서버가 전달한 문서를 웹 브라우저를 이용해서 그 문서를 번역한 후 출력
     
└ᘐ 문서의 동작 원리
        1. 클라이언트는 서버에게 파일 단위로 요청
        2. 서버는 요청받은 문서가 Active 문서이면 스스로가 그 문서를 번역하고 실행
        3. 실행된 결과를 html 문서로 변경
        4. html 문서를 클라이언트에게 전송
        5. 클라이언트는 전달받은 html 문서를 웹 브라우저를 이용해서 번역/실행해서 결과출력
 
└ᘐ JSP가 좋은점
        1. 보안이 좋다.
            (자바 언어에 있는 모든 보안 기술을 사용할 수 있기 때문에 문서의 보안을 쉽게 설정)
        2. 번역한 결과를 보관하고 있어서 다시 요청을 하면 실행만 한다.
     
        ※ 참고 :   서블릿(Servlet)이란?
                          사용자가 만든 jsp문서가 번역된 java 파일
                          서블릿으로 만들면 웹 서버는 한번 번역하는 시간을 줄일 수 있다.
                          => 웹 서버의 실행 속도를 증가시킬 수 있다.
   

posted by 우디냥
prev 1 next

티스토리 툴바