관리 메뉴

IT창고

JSP 구성요소와 Request 본문

프로그래밍/JSP

JSP 구성요소와 Request

방구석여포 2018. 1. 13. 22:10

JSP의 구성요소에 대해 알아보겠습니다.


JSP는 디렉티브, 스크립트, 기본객체, 표준 액션 태그 등으로 구성되어있습니다.



IDE인 이클립스에서 JSP파일을 만들면 나오는 초기화면입니다.

<%@ page 는 설정부분으로 JSP페이지에 대한 설정 정보를 구성합니다.

<html>부터 아래까지는 HTML 코드 및 JSP 스크립트를 구성합니다.


디렉티브(Directive)에 대해 알아보겠습니다.

디렉티브는 JSP페이지에 대한 설정 정보를 지정하며 형식은 <%@ 디렉티브이름 속성1="값1" 속성2="값2"... %> 입니다.


스크립트요소에 대해 알아보겠습니다.

JSP에서 동적으로 출력 결과를 생성하기 위해서 사용하므로 표현식, 스크립트릿, 선언부가 있습니다.


기본 객체(Implicot object)에 대해 알아보겠습니다.

기본객체로 웹 프로그래밍에 필요한 기능을 제공하며 JSP에서는 별도의 선언 없이 사용 가능합니다. 주로 사용하는 객체로는 request, response, out ,sesion 등을 사용합니다.



JSP파일을 사용하기전 서블릿에 대해 알아보겠습니다.

Java Resorces를 누르고 마우스 오른쪽버튼을 누르면 servlet 생성이 있습니다. java package와 class name을 입력하고 Next를 누릅니다.


여기서 URL mappings를 지정할수있습니다.  

URL mappings를 지정하여 경로를 숨기거나 은닉할수있어 보안에 좋습니다.


도메인에 경로를 URL mappings를 사용하여 바꿀수가 있습니다.


Request에 대해 알아보겠습니다.

request는 웹 브라우저가 웹 서버에 전송한 요청관련 정보를 제공하며 주요 기능으로 클라이언트와 관련된 정보일기와 서버와 관련된 정보 읽기 기능이 있습니다.


request에서 주로 사용하는 메소드가 있습니다 정보를 제공하는 메소드 몇가지를 알아보겠습니다.

메소드 

리턴 타입 

설명 

getRemoteAddr() 

String 

웹서버에 연결한 클라이언트 IP주소를 구합니다.

getMethod()

String 

웹브라우저가 정보를 전송할때 사용한 방식을 구합니다.

getRequestURI()

String 

웹브라우저가 요청한 URL에서 경로를 구합니다.

getContextPath()

String 

JSP페이지가 속한 웹어플리케이션의 컨텍스트 경로를 구합니다.

getServerName()

String 

연결할 때 사용한 서버이름을 구합니다.

getServerPort()

int

서버가 실행중인 포트번호를 구합니다.


이어서 파라미터 일기 메소드도 몇가지 알아보겠습니다.

메소드 

리턴타입 

설명 

getParameter(String name)

String 

이름이 name인 파라미터의 값을 구합니다. 존재하지않을 경우 null을 리턴합니다.

getParameterValues(String name)

String[] 

이름이 name인 모든 파라미터의 값을 배열로 구합니다.

getParameterNames()

java.util.Enumeration 

웹브라우저가 전송한 파라미터의 이름을 구합니다.

getParameterMap()

java.util.Map

웹브라우저가 전송한 파라미터의 Map을 구합니다. Map은 <파라미터이름, 값> 쌍으로구성됩니다. 


JSP에서 데이터 전송 방식은 GET과 POST 입니다. GET은 쿼리문자열로 전송하고 POST은 요청 몸체 데이터로 전송합니다.


getParamerter를 사용한 간단한 전송에 대해 알아보겠습니다.


먼저 form을 만들어보겠습니다.


이름,나이,신장과 같은 정보를 reult.jsp 파일에서 받아오는 JSP를 만들어봤습니다.



리턴타입에 맞춰 사용합니다.


보낼 값을 작성하고 버튼을 누르면 result로 form에서 받은 값을 넘겨줍니다.

올바르게 값이 넘어오는데 result파일에서 request.setCharacterEncoding("UTF-8"); 를 지정해주지 않으면 한글이 깨져 보일수있습니다. 

애완동물 값을 받는 부분은 체크박스를 사용해서 값을 받아오는데 <% ani %> 를 입력하면 값은 on을 받아옵니다. 정상적인 값이 안오는데 이럴 경우에는 if문과 for문을 사용해서 값을 받아와야만 합니다.


이번에는 정보를 제공하는 메소드에 대해 알아보겠습니다.


request에 정보를 받아오는 메소드입니다. 결과를 확인해보겠습니다.


request 객체의 정보를 받아오는 메소드를 활용하면 쉽게 정보를 확인할수있습니다.

단, LocalAddr 정보는 기본 IPv6으로 나오는데 IPv4로 바꿀수있습니다.


이클립스에서 Run를 눌러보면 Run Configurations에 톰켓서버로 갑니다. Arguments를 클릭하고 VM arguments 맨아래에

-Djava.net.preferIPv4Stack=true 를 추가해줍니다.


톰켓서버를 끄고 다시 시작하면 IPv4 정보로 나오게 됩니다.



Tip


JSP가 버겁거나 아직 이해가 안된다면 기초를 다시한번보는것도 좋은 방법입니다. 

http://tcpschool.com/ 사이트가 있는데 HTML, CSS, JavaScript 등 언어들을 쉽게 배울수있는 곳입니다.


'프로그래밍 > JSP' 카테고리의 다른 글

JSP DB활용, 자바빈, 커넥션풀  (0) 2018.01.28
마리아DB 이클립스에 연동시키기  (1) 2018.01.21
JSP 액션태그,에러페이지,쿠키  (0) 2018.01.20
JSP 웹크롤링과 달력  (0) 2018.01.15
JSP 개발환경 구성하기  (0) 2018.01.08
Comments