IT 공부/JSP

내장객체

toraa 2022. 7. 28. 16:12

내장객체(Implicit Object)
 ; JSP프로그래밍에 필요한 여러가지 기능을 묶어놓은 미리 만들어 제공하는 객체들

    request  :  ServletRequest   client의 요청정보를 관리하는 객체
                      HttpServletRequest
  
    response : ServletResponse     웹 서버의 응답정보를 관리하는 객체
                      HttpServletResponse

 

pageContext PageContext Jsp 페이지에 대한 정보를 관리하는 객체
session HttpSession HTTP세션정보를 관리하는 객체

* 쿠키를 기반으로 일정시간동안 같은 브라우저로부터
  들어오는 요구를 하나의 상태로 보고,
  그 상태를 유지하는 기술이다.
- 세션, 서버에 저장되며, 로그인 처리에 활용
application ServletContext 웹 어플리케이션에 대한 정보를 관리하는 객체
out JspWriter 생성된 결과를 출력할 때 사용하는 스트림
config ServletConfig Jsp 페이지에 대한 설정정보를 관리하는 객체
exception Throwable 예외처리에 사용

         
Scope(영역)   

Scope 내장 객체
page
. 한개의 Jsp페이지 내부 영역
. [jsp페이지]
pageContext
. page영역내에서 데이터를 공유할 목적으로 사용
request
. 한개의 요청이 처리되는 영역
. [[jsp페이지][jsp페이지]]
request
. 요청에서 응답이 이루어질때까지
  관련된 데이터를 공유할 목적으로 사용
. forward, include / setAttribute(), getAttribute()
session
. 한 개의 브라우저 영역
session
. 한 개의 브라우저에서 실행되는
  모든 JSP페이지들간의 데이터 공유목적으로 사용
. 로그인 처리에 활용됨
application
. 한 개의 웹어플리케이션의
  전체영역
. 웹컨테이너가 종료되거나
  재시작할때 소멸
application
주로 웹 어플리케이션의 설정정보에 활용


속성을 이용한 데이터 공유
         . setAttribute(String name, Object obj)
         . getAttribute(String name)
         . removeAttribute(String name)
         . getAttributeName()
     
pageContext
- getRequest()
- getResponse()
- getOut()
- getServletConfig()
- getServletContext()
- getException()
- getPage()
- forward()
- include()

등등


jsp1

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		out.print("out.print()메서드를 이용한 출력입니다.<br>");
		pageContext.getOut().print("pageContext.getOut()을 활용한 출력입니다.");
		
		//forward()
		pageContext.forward("Jsp2.jsp");
		
		request.setAttribute("name","서대길");
	%>

</body>
</html>

jsp2

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"  info="페이지에 대한 정보내용을 기술했습니다."%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h3>이동된 페이지입니다.</h3>
	<%= getServletInfo() %>
	<%= request.getAttribute("name") %>
</body>
</html>

application객체

  - getInitParameter(String str)
  - getInitParameterNames()
  - getAttributeNames()
  - getRealPath(String path) : 실제경로를 가져온다
  - getContext(String path) : path경로의 컨텍스트 정보
  - getServerInfo()


Jsp3

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h3>웹 어플리케이션이 실행되고 있는 서버와 자원의 정보를 담고 있다.</h3>
	<hr>
	<%= "JSP컨테이너정보: "+application.getServerInfo() %><br>
	<%= "JSP컨테이너의 Major정보: "+application.getMajorVersion() %><br>
	<%= "JSP컨테이너의 Minor정보: "+application.getMinorVersion() %><br>
</body>
</html>

Jsp4

<%@page import="java.util.Enumeration"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		String name = application.getInitParameter("name");
		out.print("name: "+name+"<br>");
		String age = application.getInitParameter("age");
		out.print("age: "+age+"<br>");
		String gender = application.getInitParameter("gender");
		out.print("gender: "+gender+"<br>");
		
		Enumeration en = application.getInitParameterNames();
		while(en.hasMoreElements()){
			String n = (String) en.nextElement();
			out.print(n + "="+application.getInitParameter(n)+"<br>");
		}
				
	%>

</body>
</html>

Jsp5 - 파일 읽어오기

<%@page import="java.io.*" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>member_list 파일 읽어오기</title>
</head>
<body>
	<h3>파일 읽기</h3>
	<%
		FileReader fr = null;
		BufferedReader br = null;
		String line = null;
		String path="/member/list.txt";
		String realPath = application.getRealPath(path); //path경로의 실제경로를 가져온다.
		
		try{
			fr = new FileReader("/member/list.txt");
			br = new BufferedReader(fr);
			while((line=br.readLine()) != null){
				out.print(line);
				out.print("<br>");
			}
		}catch(IOException e){
			out.print(e.getMessage());
		}
	%>
	<hr>
	<%
		try{
			FileReader fr2 = new FileReader("C:/Junny/list.txt");
			BufferedReader br2 = new BufferedReader(fr2);
			String line2 = null;
			while((line2=br2.readLine()) != null){
				out.print(line2);
				out.print("<br>");
			}
			
		}catch(IOException e){
			out.print(e.getMessage());
		}
	%>
	
	
</body>
</html>

list.txt

오늘의 점심메뉴
-----------
쉑쉑버거
파파존스
아비꼬
사보텐

Jsp8_Out

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h3>out객체는 JSP페이지에서 생성되는 내용을 모두 전달받는 객체이다.</h3>
	<%
		String str = "jsp5_RequestFormOutput.jsp";
		
		int sizeBuffer = out.getBufferSize();
		int size = out.getRemaining();
		boolean b = out.isAutoFlush();
	%>
	출력할 값 : <%= str %><br>
	버퍼의 크기 : <%= sizeBuffer %><br>
	버퍼의 잔여크기 : <%= size %><br>
	자동플러시여부 : <%=b %>

</body>
</html>

Exception

  100 ~ 505 
  200 : 성공
  404 : 문서를 찾을 수 없음
  405 : 리소스를 허용하지 않음
  500 : 서버내부 프로그램 오류발생
  501 : 클라이언트가 서버에 수행할 수 없는 행동을 요청
  502 : 서버과부하 상태


Jsp9_Exception

<!-- 
	jsp_Exception 
 -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isErrorPage="true" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1 style="color:red"> 여기는 에러 페이지입니당! 에러가 발생되었습니다ㅠㅅㅠ</h1>
	<h3>0으로 나눌 수는 없어용..</h3>
	<h3><%="에러메시지 : "+ exception.getMessage() %></h3>

</body>
</html>

jsp10_Exception

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page errorPage="jsp9_Exception.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>오류가 발생된 페이지</title>
</head>
<body>
	<h3>JSP에 관련된 일을 처리하는 과정에서 예외가 발생되었습니다.</h3>
	<%
		int result = 100/10;
		
		out.print("<b>나눈 값 : "+result+"</b>");
	%>
</body>
</html>

Jsp11 - Data, Calendar

<!--
	Data, Calendar
	 
 -->
<%@page import="java.text.SimpleDateFormat"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" %>
<%@ page import="java.util.Date" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		Date date = new Date();

		SimpleDateFormat sdf1 = new SimpleDateFormat("YYY-MM-dd"); //MM 월, mm 분, dd 월중일자, DD 365일자
		SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		
		String date1 = sdf1.format(date);
		String date2 = sdf2.format(date);
	%>
	
	오늘은 몇일? <%=date1 %> <br>
	지금은 몇시? <%=date2 %>
	
</body>
</html>

'IT 공부 > JSP' 카테고리의 다른 글

문서전환  (1) 2022.07.29
Error  (0) 2022.07.28
Response(응답)  (0) 2022.07.28
JSP  (0) 2022.07.27
기본 처리 이론  (1) 2022.07.27