0926 JSP

yunha·2023년 9월 26일
0

JSP/Spring

목록 보기
4/36
post-thumbnail

내장 객체(implicit object)

: JSP 페이지에서 사용할 수 있도록 JSP 컨테이너에 미리 정의된 객체
: JSP 페이지 --(번역)--> 서블릿 프로그램 => JSP 컨테이너가 자동으로 내장 객체를 각종 변수(객체)로 포함 ==> JSP 페이지에 별도 import문 없이 자유롭게 사용 가능, 직접 호출 가능
ex.오라클 내장 함수 : sybstr, to_char

내장 객체 종류


: 모두 _jspService()메소드 내부에 존재, JSP 컨테이너가 관리하는 객체들

속성 처리 메소드

response

: 사용자 요청을 처리한 결과를 서버->웹 브라우저로 전달하는 정보를 저장
=> 서버 --(응답 헤더, 요청 처리 결과 데이터)--> 웹 브라우저 => 응답 정보 처리하기 위해 javax.servler.http.HttpServletResponse 객체 타입의 response 내장 객체 사용하여 사용자 요청에 응답

페이지 이동 관련 메소드

response.redirection : 페이지 강제 이동(ex. 새로고침)

  • forward 방식

    <jsp:forward page="이동할 페이지" />

: 이동할 URL로 요청 정보 그대로 전달 => 사용자가 최초로 요청한 정보가 이동된 URL에서도 유효
: 이동된 URL이 웹 브라우저 주소 창에 나타나지 않고 처음 요청한 URL이 나타나기 때문에 사용자가 이동 여부 알 수 없음

  • redirect 방식

    response.sendRedirect("이동할 페이지")

: 처음 요청받은 현재 JSP 페이지로부터 이동할 URL을 웹 브라우저로 반환 => 웹 브라우저에서 새로운 요청을 생성하여 이동할 URL에 다시 요청 전송함 => 처음 보낸 요청 정보가 이동된 URL에서는 유효하지 않음 => 이동된 URL이 웹 브라우저 주소 창에 보임

out

page

: 내장 객체 - pageContext
: 해당 페이지가 클라이언트에게 서비스 제공하는 동안 유효

application

: 내장 객체 - application
: 웹 어플리케이션이 실행되고 있는 동안 유효

session

: 내장 객체 - session
: 세션 유지되는 동안 유효

request

: 가장 많이 사용되는 기본 내장 객체
: 웹 브라우저(Chrome)에서 서버(tomcat)의 JSP페이지로 전달하는 정보를 저장
: 클라이언트 요청이 처리되는 동안 유효

폼 데이터-데이터 -> JSP 페이지-요청 파라미터 값!
폼 : type="text"인 경우 값 입력 없으면 빈 문자열 전송/checkbox,radio 경우 요청 파라미터 자체가 전달되지 않음
파라미터 : HTTP 요청 정보 담김(ex. URL+?name=어쩌고)
- URI : 주소 + 기능 <= URL: 단순 주소

요청 파라미터 관련 메소드

요청 HTTP 헤더 관련 메소드
<body>
	<%
		Enumeration en = request.getHeaderNames();
		while(en.hasMoreElements()){
			String headerName = (String)en.nextElement();
			String headerValue = request.getHeader(headerName);
		
	%>
	<%=headerName %> : <%=headerValue %><br/>
	<%
		}
	%>
</body>
웹 브라우저/서버 관련 메소드
<body>
	<p>클라이언트 IP : <%=request.getRemoteAddr() %></p>
	<p>요청 정보 길이 : <%=request.getContentLength() %></p>
	<p>요청 정보 인코딩 : <%=request.getCharacterEncoding() %></p>
	<p>요청 정보 콘텐츠 유형 : <%=request.getContentType() %></p>
	<p>요청 정보 프로토콜 : <%=request.getProtocol() %></p>
	<p>요청 정보 전송 방식 : <%=request.getRemoteAddr() %></p>
	<p>요청 URI : <%=request.getRequestURI() %></p>
	<p>콘텍스트 경로 : <%=request.getContextPath() %></p>
	<p>서버 이름 : <%=request.getServerName() %></p>
	<p>서버 포트 : <%=request.getServerPort() %></p>
	<p>쿼리문 : <%=request.getQueryString() %></p>
</body>
</html>
  • GET 방식
    : 보안이 안좋음(주소 표시줄에 요청 파라미터가 보임)
    : 길이 한정됨
    : DB정보 변경 안될 시 주로 사용됨(SELECT)

    요청 URI : /chap05/process.jsp?name=개똥이&id=a001
    요청파라미터 : name=개똥이

  • POST 방식
    : 보안이 좋음(주소 표시줄에 요청 파라미터가 안보임)
    : 길이 무한
    : DB정보 변경될 때 주로 사용됨(INSERT, UPDATE, DELETE)

    요청 URI : /chap05/process.jsp
    요청파라미터 : {name=개똥이,id=a001}

profile
기록

0개의 댓글