본문 바로가기

jsp

jsp 두번째 시간

728x90
반응형

아이바티스 쓰는 이유는 

----------------

 

jsp가 제공하는 기본 객체 (꼭 외우기!!!!!!!!!!!!!!!!!!!)

기본 객체

실제 타입

    

request

javax.servlet.http.HttpServletRequest 또는

javax.servlet.ServletRequest

클라이언트의 요청 정보를 저장한다.

response

javax.servlet.http.HttpServletResponse 또는

javax.servlet.ServletResponse

응답 정보를 저장한다.

pageContext

javax.servlet.jsp.PageContext

JSP 페이지에 대한 정보를 저장한다.

session

javax.servlet.http.HttpSession

HTTP 세션 정보를 저장한다.

application

javax.servlet.ServletContext

웹 어플리케이션에 대한 정보를 저장한다.

out

javax.servlet.jsp.JspWriter

JSP 페이지가 생성하는 결과를 출력할 때 사용되는 출력 스트림이다.

config

javax.servlet.ServletConfig

JSP 페이지에 대한 설정 정보를 저장한다.

page

java.lang.Object

JSP 페이지를 구현한 자바 클래스 인스턴스이다.

exception

java.lang.Throwable

예외 객체. 에러 페이지에서만 사용된다.

 

 

 

스커크?

 

리케스트는 포워딩하는 동안 활동범위가 넓어진다 

 

세션의 용도는 로그인할때

세션이 언제 사라질까 1. 톰캣 유효시간 요청이 오랫동안 안들어오면 세션이 날려진다 

                             2. 만료시간 이전에 직접 날리는 경우도 있다 

        리다이렉트, 포워딩을 하든간에 세션은 ..... 

 

 

페이지컨텍스트 : 데이터를 저장할 수있는 기록 객체 

 

리퀘스트 : 해당 객체 내에서만 활용

 

세션  : 리다이렉트할때는 해당 jsp에서 만 쓰는데

         포워딩할때는 해당 범위가 계{속 늘어남

 

어플리케이션 : 서버 대상으로 언제 요청할지 기다리고 있다 리다이렉트 , 포워딩 언제하든 상관없이 

                    

 

 

 

 

 

 


로그포제이 환경설정

 

 

 

 

이 부분을 코딩해볼것

<%@page import="kr.or.ddit.vo.MemberVO"%>
<%@page import="kr.or.ddit.member.service.IMemberSerivceImpl"%>
<%@page import="kr.or.ddit.member.service.IMemberService"%>
<%@page import="java.util.Map"%>
<%@page import="java.util.HashMap"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
_jspService(request, response){   
<%
	Map<String, String> params = new HashMap<String, String>();
	params.put("mem_id", "a001");
	
	IMemberService service = IMemberSerivceImpl.getInstance();
	MemberVO memberInfo = service.memberInfo(params);
	
	// 기본객체(9개) 중 저장영역(Scope)을 포함하는 기본객체(4개)
	// pageContext, request, session, appliction
	// 저장영역 대상 데이타 저장, 수정, 삭제, 취득
	//    저장 - 기본객체명.setAttribute(키, 값) : 해당 값은 Object 타입으로 업캐스팅 처리.
	//    취득 - 기본객체명.getAttribute(키) : 취득한 값은 해당 타이브로 다운캐스팅 후 활용.
	//    수정 - 기본객체명.setAttribute(기존 동일 키, 상이 값) : 해당 값은 Object 타입으로 업캐스팅 처리.
	//    삭제 - 기본객체명.removeAttribute(키)
	pageContext.setAttribute("pageMemberInfo", memberInfo);
	request.setAttribute("reqMemberInfo", memberInfo);
	session.setAttribute("sesMemberInfo", memberInfo);
	application.setAttribute("appMemberInfo", memberInfo);
	// 개발할때는 /ddit => 수정할때 또 / 해서 바꿔야하는데
	//	getContextPath 을 쓰면 바꿀 필요가 없다 ? 	
	response.sendRedirect(request.getContextPath() + "/ddit/04/redirectRequest2.jsp");
	
	
%>    
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h3>pageContext 영역 값 취득</h3>
아이디 : <%=((MemberVO)pageContext.getAttribute("pageMemberInfo")).getMem_id() %><br> 
패스워드 : <%=((MemberVO)pageContext.getAttribute("pageMemberInfo")).getMem_pass() %><br> 
성명 : <%=((MemberVO)pageContext.getAttribute("pageMemberInfo")).getMem_name() %><br> 
<h3>request 영역 값 취득</h3>
아이디 : <%=((MemberVO)request.getAttribute("reqMemberInfo")).getMem_id() %><br> 
패스워드 : <%=((MemberVO)request.getAttribute("reqMemberInfo")).getMem_pass() %><br> 
성명 : <%=((MemberVO)request.getAttribute("reqMemberInfo")).getMem_name() %><br> 
<h3>session 영역 값 취득</h3>
아이디 : <%=((MemberVO)session.getAttribute("sesMemberInfo")).getMem_id() %><br> 
패스워드 : <%=((MemberVO)session.getAttribute("sesMemberInfo")).getMem_pass() %><br> 
성명 : <%=((MemberVO)session.getAttribute("sesMemberInfo")).getMem_name() %><br> 
<h3>application 영역 값 취득</h3>
아이디 : <%=((MemberVO)application.getAttribute("appMemberInfo")).getMem_id() %><br> 
패스워드 : <%=((MemberVO)application.getAttribute("appMemberInfo")).getMem_pass() %><br> 
성명 : <%=((MemberVO)application.getAttribute("appMemberInfo")).getMem_name() %><br> 
</body>
</html>
}

 

728x90
반응형

'jsp' 카테고리의 다른 글

struts  (0) 2020.07.06
file 업로드  (0) 2020.06.24
jsp 첫 날 수업  (0) 2020.06.08
jsp 환경설정  (0) 2020.06.01