본문 바로가기
웹 프로그래밍(풀스택-->java)/웹프로그래밍(백엔드-->java)

5. JSP 페이지 내장객체 1

by 백엔드개발자0107 2021. 10. 20.

내장 객체

  • 스크립트릿 안에서만 사용 가능
  • 스크립트릿에 내장 객체와 같은 이름의 변수를 선언할 수 없음
    선언문에서는 사용 가능하나 가급적 사용하지 않는 것이 좋음
  • 서블릿 컨테이너가 해당 JSP 페이지 실행 시 자동으로 생성
    jsp가 변환된 fileName_jsp.java 파일을 열어보면
    _jspService() 메소드 내부에 선언되어 있음

내장 객체 종류

내장 객체반환값 타입설명

request javax.servlet.http.httpServletRequest
또는 javax.servlet.ServletRequest
웹 브라우저의 요청 정보를 저장하고 있는 객체
response javax.servlet.http.httpServletResponse
또는 javax.servlet.ServletResponse
웹 브라우저의 요청에 대한 응답 정보를 저장하는 객체
out javax.servlet.jsp.JspWriter JSP 페이지의 출력할 내용을 가지고 있는 출력 스트림 객체
session javax.servlet.http.HttpSession 하나의 웹 브라우저 내에서 정보를 유지하기 위한 세션 정보를 저장하고 있는 객체
application javax.servlet.ServletContext 웹 애플리케이션 Context의 정보를 담고 있는 객체
pageContext javax.servlet.jsp.PageContext JSP 페이지에 대한 정보를 저장하고 있는 객체
page java.lang.Object JSP 페이지를 구현한 자바 클래스 객체
config javax.servlet.ServletConfig JSP 페이지에 대한 설정 정보를 담고 있는 객체
exception java.lang.Throwable JSP 페이지에서 예외가 발생한 경우 사용하는 객체

※ 자주 사용되는 내장 객체는 굵은 글씨로 표기

 


이 수 많은 아홉개의 내장객체중에서 으뜸을 뽑으라면 나같으면 request객체를 뽑을것이다.

 

request객체를 공부를 하자.

 

이 request객체는 웹브라우저에서 jsp페이지로 전달되는 정보를 http헤더와 http바디로 구성해서 정보를 읽어드릴수가 있다.

 

쉽게 말해서 우리가 네이버에 접속하면, 로그인페이지가 있다.

 

로그인 페이지에 아이디와 패스워드를 집어넣고 로그인 버튼을 누르면  내 정보가 네이버 서버에 넘어가서

 

그 아이디 패스워드가 있는지 여부를 데이터베이스에 저장해놓고 그 아이디와 패스워드가 있는지 여부를 확인한다음

 

없으면 되돌아가서 다시 확인하는 이런 과정 및 일처리를 하는 것을 request이다.

 

내 네이버사이트에 작성한 아이디와 정보가 http통신을 통해서 서버로 넘어가면

 

그 서버에서는 http통신을 통해서 넘어온 아이디와 패스워드를 걸러주어야 하는데 그 걸러주어야 하는 객체가 바로

 

request 내장객체 이다.


<%@ 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>

 

 

<center>

 

<h2>로그인 페이지 </h2>

 

<form action="RequestLoginProc.jsp" method="post">

// 여기서 form태그의 action은 이 페이지에서 작성한 정보를 떠넘겨주는 파일명을 기술하는 공간이 이 form 의 action부분이다.

 

 

 

 

get방식은

url에 내가 쓴 아이디와 패스워드가 다 드러난다 . 그렇다 보니,주로 회원가입 폼에는 get방식을 작성하지 않고 

아이디와 패스워드가 가려지는 post방식을 사용한다.

post방식은

html body부분에 아이디와 패스워드가 저장되고 url에는 저장이 안되니, 조금더 보안에 능동적이다.

그렇다면 주로 사용하는 방식은 뭘까?

 

바로 의외로 get방식이다.

 

왜냐하면, get방식은 기존에 저장되어 있는 정보를 가져오거나 조회할때 사용

 

post방식은 정보를 만들때(CREATE?)한다고 할떄 사용한다고 생각하면 될듯하다.

 

 

 

 

<table width="400" border="1">

<tr height="60">

<td align="center"width="150">아이디</td>

<td align="left" width="250">

<input type="text" name="id">

</td>

</tr>

 

<tr height="60">

<td align="center" width="150">패스워드 </td>

<td align="left" width="250">

<input type="password" name = "pass">

 

</td>

<tr height = "60">

<td colspan="2" align= "center">

<input type="submit" value = "전송 ">

 

--> submit을 누르면 <form action="RequestLoginProc.jsp" method="post"

의 RequestLoginProc.jsp가 실행이 된다. 이거는 약속이다. 기억하자.!

 

</td>

</tr>

</table>

</form>

 

</center>

 

 

 

 

</body>

</html>