티스토리 뷰
JSP 내에는 몇 가지 내장 객체들이 있습니다. 이 내장객체들은 따로 패키지를 import하지 않고, 객체를 만들어 주지 않아도 다양한 메소드들을 사용할 수 있게 해줍니다. 자주 사용하는 내장객체 4가지만 공부해 보겠습니다.
Config
웹 컨테이너가 생성될 때, c언어의 전역 변수(?)처럼 먼저 초기화하고 싶은 파라미터들을 web.xml에 설정할 수 있습니다.
web.xml
1 2 3 4 5 6 7 8 | <servlet> <servlet-name>servletEx</servlet-name> <jsp-file>/jspEx.jsp</jsp-file> </servlet> <servlet-mapping> <servlet-name>servletEx</servlet-name> <url-pattern>/jspEx.jsp</url-pattern> </servlet-mapping> | cs |
먼저 이렇게 Sevlet과 jsp파일을 연동해 줍니다. 여기서 Servlet을 따로 만들지 않고 jsp파일만 만들어 주면 됩니다.
왜냐하면 어차피 jsp파일은 컴파일 될 때 먼저 Servlet으로 바뀌는 작업이 이루어 지기 때문에 해당 jsp파일의 servlet은 웹 컨테이너가 생성될 때 만들어 집니다.
그런 다음 servlet 매핑 역시 해주는데, 여기서 url을 jsp파일로 해줍니다. (작업할 곳은 jsp파일 이니까)
1 2 3 4 5 6 7 8 9 10 11 12 | <servlet> <servlet-name>servletEx</servlet-name> <jsp-file>/jspEx.jsp</jsp-file> <init-param> <param-name>adminId</param-name> <param-value>admin</param-value> </init-param> <init-param> <param-name>adminPw</param-name> <param-value>1234</param-value> </init-param> </servlet> | cs |
<init-param> 태그를 통해 초기화할 파라미터와 값을 설정해 줍니다. 설정을 다 하면 우리는 해당 servlet(jsp)에서 init단계에서 초기화 된 파라미터 값인 adminId와 adminPw라는 파라미터를 사용할 수 있게 됩니다.
이 때 이 파라미터 값을 가져올 수 있는 객체가 config 객체입니다.
jspEx.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <!DOCTYPE html> <html> <head> <meta charset="EUC-KR"> <title>Insert title here</title> </head> <body> <%! String adminId; String adminPw; %> <% adminId = config.getInitParameter("adminId"); adminPw = config.getInitParameter("adminPw"); %> <p>adminId : <%= adminId %></p> <p>adminPw : <%= adminPw %></p> </body> </html> | cs |
보시는 바와 같이 따로 생성하지 않은 내장객체인 config의 getInitParameter() 메소드로 web.xml 파일에서 초기화 한 파라미터 값을 가져올 수 있습니다.
application
<init-parm>으로 해당 서블릿 내에서만 사용할 수 있는 파라미터를 초기화 했다면 <context-parm>으로 어플리케이션(프로젝트) 내에있는 모든 JSP 파일에서 사용할 수 있는 파라미터를 초기화 할 수 있습니다.
web.xml
1 2 3 4 5 6 7 8 | <context-param> <param-name>imgDir</param-name> <param-value>/upload/img</param-value> </context-param> <context-param> <param-name>testServerIp</param-name> <param-value>127.0.0.1</param-value> </context-param> | cs |
이렇게 이미지 디렉토리나 ip주소 같이 어플리케이션 내에서 공통적으로 자주 사용하는 데이터들을 설정해 줍니다.
이를 jsp에서 가져오는 객체는 application 객체입니다.
jspEx.jsp
1 2 3 4 5 6 7 8 9 10 11 12 | <% String imgDir; String testServerIp; %> <% imgDir = application.getInitParameter("ImgDir"); testServerIp = application.getInitParameter("testServerIp"); %> <p>imgDir : <%= imgDir %></p> <p>testServerIp : <%= testServerIp %></p> | cs |
그리고 이 application 객체는 jsp 파일 내에서 setAttribure()와 getAttribute()메소드를 이용해 속성 값을 주고 가져올 수 있습니다.
1번.jsp
1 2 3 4 | <% application.setAttribute("connectedIP", "123.45.67.89"); application.setAttribute("connectedUser", "test"); %> | cs |
2번.jsp
1 2 3 4 | <% connectedIP = (String)application.getAttribute("connectedIP"); connectedUser = (String)application.getAttribute("connectedUser"); %> | cs |
1번 jsp 파일에서 set을 한 파라미터 값을 2번 jsp 파일에서 get할 수 있습니다. 이 때 주의해야 할 점은 강제 형 변환이 필요합니다. 저장하고 싶은 타입이 만약 String이면 String으로 형변환을 해주어야 합니다.
Out
out객체는 이 전에도 사용해 봤듯이 주로 HTML코드를 작성할 때 사용합니다.
1 2 3 4 5 | <% out.print("<h1>Hello JAVA world !</h1>"); out.print("<h2>Hello JAVA world !</h2>"); out.print("<h3>Hello JAVA world !</h3>"); %> | cs |
Exception
JSP에서 에러가 발생했을 때 이 에러를 닮고 있는 객체입니다.
이 객체를 사용하기 전에 먼저 페이지 지시어로 에러페이지를 설정해 주어야 합니다.
<%@ page errorPage = 'errorPage.jsp' %>
에러는 errorPage.jsp로 보내라는 페이지 지시어 입니다. 그러면 해당 페이지에서는
<%@ page isErrorPage = 'true' %>
라는 지시어로 이 페이지는 에러페이지가 맞다는 true를 넣어줍니다. 이 값에는 디폴트 값으로 false가 설정되어 있습니다.
이렇게 페이지 지시어와 페이지를 만들었으면 에러페이지에서
<%String str = exception.getmessage();%>이렇게 exception 객체의 getmessage() 메소드로 에러 정보를 져올 수 있습
'JSP&Servlet' 카테고리의 다른 글
Cookie (0) | 2019.01.23 |
---|---|
Servlet 데이터 공유 (1) | 2019.01.22 |
JSP request, response (0) | 2019.01.20 |
JSP 스크립트 (0) | 2019.01.19 |
doGet, doPost (3) | 2019.01.18 |
- Total
- Today
- Yesterday
- 스프링 컨테이너
- 쉘 코드
- 스프링
- Spring Boot
- Do it! 정직하게 코딩하며 배우는 딥러닝 입문
- Spring
- Computer_Networking_A_Top-Down_Approach
- Gradle
- jsp
- git branch
- Python Cookbook
- 패킷 스위칭
- 김영환
- 스프링 테스트
- Thymeleaf
- 파이썬 for Beginner 솔루션
- git
- Spring Data JPA
- git merge
- 스프링 mvc
- 지옥에서 온 git
- 선형 회귀
- 운영체제 반효경
- 프로그래머스
- JPA
- spring mvc
- 쉽게 배우는 운영체제
- 생활코딩 javascript
- 방명록 프로젝트
- 파이썬 for Beginner 연습문제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |