[JSP] 태그, 내장 객체, scope객체, request 객체

*JSP( Java Server Page)

 - 동적인 HTML을 생성하기 위해서 사용.

 - Servlet 기능 개선.

 - 확장자가 .jsp인 파일을 생성.( .java가 아니므로 compile 하지 않는다.)

 - WAS가 요청이 발생하면 compile을 대신 해준다.

 - 디자이너와 개발자간의 업무 구분이 어느 정도 가능해진다.

 CSS(Client Side Script) : Front-end 에서 실행되는 언어.

   -JavaScript, ActionScript => HTML파일에서 작성되고, 클라이언트에서 해석 및

    실행되는 언어.

 SSS(Server Side Script) : Back-end에서 실행되는 언어.

  - JSP, ASP, PHP =>요청되면 서버에서 해석 및 실행 된 후 동적으로 HTML

     생성하여 응답하는 언어.

 - Servlet 보다 속도가 느리다.

 - DD( web.xml) 설정 없이 동작한다.

 - Java SE에서 제공하는 모든 기능을 사용할 수 있다.

 

*JSP : 디자인

*Service : 업무로직구현

*DAO : DB연동

태그명 태그 설명
지시자
(directive)
page <%@ page ….. %> JSP 페이지의 환경설정용.
include <%@ include ….. %> 다른 JSP를 끼워 넣어서 보여줄 때. ( 공통코드를 줄인다. )
선언 ( declaration ) <%!    %> JSP에서 method를 정의할 때 .
JSP에서 instance variable, static variable 선언할 때 사용.
스크립틀렛(scriptlet) <%  %> JSP에서 methodjava code를 정의할 때 사용.
( 지역변수 선언, 연산자, 제어문, 객체생성,  method 호출)
표현식 ( expression ) <%=  %> JSP에서 발생한 값을 web browser로 출력할 때.
주석 ( comment ) <%--   --%> JSP 태그가 Servlet 코드로 생성되는 것을 막을 때.( 실행 x )

 

*내장 객체

 - _jspService method안에 선언되어있는 객체들.

 - JSP tagscriptlet( <% %> )expression( <%= %> )에서 사용할 수 있는 객체.

내장 객체명 데이터 형 하는 일
request HttpServletRequest
-접속자의 정보 얻기
-요청 web parameter
-forward방식을 사용한 페이지로 이동할 수 있는 객체 얻기
  (RequestDispatcher)
-관계유지 객체얻기 ( HttpSession, Cookie)
-forward 이동할 페이지에서 사용할 값들을 저장, 관리
response HttpServletResponse -응답방식을 설정 (MIME-types)
-redirect 방식으로 이동
-download
-Cookie 심기
session HttpSession -관계유지
-접속자별(웹 브라우저 마다)로 데이터를 저장,관리
out JspWriter -웹 브라우저로 출력
application ServletContext -모든 접속자가 사용하게 될 공통 값 저장,관리
pageContext PageContext - 접속한 페이지에서만 사용하게 될 값을 저장,관리
exception Throwable -예외처리시 사용.
-page directiveisErrorPage=“true” 속성을 가진 경우에만
  제공되는 내장객체

 

*scope객체 : 접속자가 사용하는 값들을 저장하고, 관리하는 객체

    범위 :  pageContext > request > session >  application

 

*request 내장 객체

 - javax.servlet.http.HttpServletRequest가 데이터 형인 객체

 -접속자의 요청 정보를 받는다.

  web에서 존재하는 자원을 요청하는 방식 : URL

      http://localhost:80/jsp_prj/0429/test.jsp?이름=&이름=&이름=

 - 요청 방식 : request.getMethod()

 

*HTML Form Control 값받기

 - Form Control의 값은 web parameter로 전달. ( parameter 전송방식

                                                                           <form enctype=“application/x-www-form-urlencoded”>

                                                                            -값은 전송되고, 파일은 전송되지 않는다.                                                                                                                                      -파일을 전송하려면 enctype=“multipart/form-data”로 설정

 -  request 내장객체를 사용하여 back-end에서 값을 받는다.

    *name 속성에 값이 유일.( 이름이 유일 )

         -String 변수명=requset.getParameter(“이름”);

    *name속성에 값이 중복(이름이 중복)

       - String[] 배열명 = requset.getParameterValues(“이름”);

 - web parameter는 문자열로만 전달된다.