- 내장객체
JSP에서 제공되는 내장(기본)객체 : 스트립트 영역에서 사용됨
: 자바에서는 객체화를 하거나 변수를 선언해야지만 제공
but 생성, 선언 필요없이 모든 jsp에서 사용이 가능하다.
8+1
1. request 객체 : 요청 객체. 브라우저에서 요청한 정보 저장.
<form action='호출 할 jsp페이지'>
<input type='..' name='파라미터이름'>
</form>
파라미터 관련 주요 메서드
String getParameter(파라미터이름)
String[] getParameterValues(파라미터이름)
Enumeration getParameterNames()
2. response 객체 : 응답 객체. 브러우저로 명령전달 객체.
리다이렉트 -url이 다름. 호출된 페이지와 호출 할 페이지는 다른 리퀘스트 영역
sendRedirect("호출 할 jsp페이지명")
3. pageContext 객체 : 페이지 별로 자원과 흐름을 관리하는 객체.
forward - 리퀘스트 객체 공유. 같은 리퀘스트 영역
forward("호출 할 jsp페이지명")
4. session 객체 : 브라우저 상태 정보(로그인 정보 같은거)를 저장하는 객체.
브라우저 별로 하나씩 설정 된다.
setMaxInactiveInterval(초) : session 유지시간을 초단위
getLassAccessedTime()
5. application 객체 : 웹 어플리케이션 정보 저장 객체.
6. out 객체 : 브라우저로 정보를 전달하기 위한 출력스트림.
jsp writer 타입.
7. page 객체 : jsp 페이지 자체. (거의 쓸 일이 없다.)
8. config 객체 : 서블릿에 파라미터값을 전달하기 위한 객체. (거의 쓸 일이 없다.)
9. exception 객체 : 예외 객체. 예외페이지에서만 제공되는 객체.
영역 담당 객체
page 영역 : pageContext 객체 공유.
request 영역 : request 객체 공유. 응답이 가면 사라짐.
session 영역 : session 객체 공유.
application 영역 : application 객체 공유.
영역 담당 객체의 메서드
1. 속성 등록 : setAttribute(키,값)
2. 속성 조회 : 값 = getAttribute(키)
3. 속성 제거 : removeAttribute(키)
- reqeust 요청 객체
request : 요청 객체. 요청정보(파라미터)를 저장하고 있는 객체.
파라미터 값 인코딩 설정이 필요하다.
주요 메서드 :
String getParameter(파라미터 이름) : 파라미터 이름에 해당하는 값을 한개 리턴.
String[] getParameterValues(파라미터 이름) : 파라미터 이름에 해당하는 값을 여러개 리턴.
Enumeration getParameterNames() : 요청객체에 해당하는 모든 파라미터 이름들을 리턴.
setCharactorEncoding(인코딩 값) : 요청객체에 존재하는 파라미터의 코드값 설정.
기본 인코딩 값 ISO8859 코딩임.
request.getParameter("name") : name 파라미터의 값.
request.setCharacterEncoding("UTF-8") : method 방식이 POST 인 경우에만 적용 될 수 있다.
submit 버튼 클릭
1. submit 버튼이 속한 form 객체에 onsubmit 이벤트 발생
-> 구현하지 않았으므로 무시됨.
2. form 객체에 action 속성에 등록된 페이지를 서버에 요청
=> form 객체의 하위 입력태그들의 값들을 서버에 함께 전달
파라미터 : 서버에 전달 되는 <input type="text" name="name">의 값
- 파라미터의 이름 : name
- 파라미터의 값 : 태그에 입력한 값
method="post" : 파라미터를 전달해주는 방식.
- get 방식 : 쿼리문자열로 전송.
파라미터 내용을 URL을 통해서 전달.
보안에 매우 취약. 기본전달 방식.
- post 방식 : 요청 몸체 데이터로 전송.
HTTP 프로토콜의 body부분에 파라미터가 전달된다.
URL에 파라미터 내용이 보이지 않음. 보안에 좋다.
한글 처리가 안됨. IS08859 기본 인고딩됨.
=> 인코딩 설정 필요. request.setCharacterEncoding("UTF-8")
📌

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%--/jsp/src/main/webapp/chap4/requestForm.jsp --%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>요청 페이지</title>
</head>
<body>
<h2>request 내장 객체 : 클라이언트의 요청 정보를 저장하고 있는 객체</h2>
<form action="request1.jsp" method="post">
이름 : <input type="text" name="name"><br>
나이 : <input type="text" name="age"><br>
성별 : <input type="radio" name="gender" value="1">남
<input type="radio" name="gender" value="2">여<br>
취미 : <input type="checkbox" name="hobby" value="여행">여행
<input type="checkbox" name="hobby" value="야구">야구
<input type="checkbox" name="hobby" value="축구">축구
<input type="checkbox" name="hobby" value="요리">요리
<input type="checkbox" name="hobby" value="독서">독서<br>
출생년도 : <select name="year">
<% for (int i = 1990; i < 2001; i++) {%>
<option><%=i%></option><% } %>
</select> <input type="submit" value="전송">
</form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%--/jsp/src/main/webapp/chap4/requestForm.jsp --%>
<%@page import="java.util.Enumeration"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%--/jsp/src/main/webapp/chap4/request1.jsp --%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>요청 정보 출력</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8"); //파라미터 인코딩
String name = request.getParameter("name");
String age = request.getParameter("age");
String gender = request.getParameter("gender");
String hobby = request.getParameter("hobby"); // request 객체는 그냥 읽는 용이므로 인코딩이 필요하다.
String year = request.getParameter("year");
%>
이름 : <%=name %><br>
나이 : <%=age %><br>
성별 : <%=gender %><br>
취미 : <%=hobby %><br>
출생년도 : <%=year %><br>
<hr>
<h3>모든 취미 정보 조회하기</h3>
<%
String[] hobs = request.getParameterValues("hobby");
for(String h : hobs) {
%>
<%=h %>
<% } %>
<hr>
<h3>모든 파마미터 정보 조회하기</h3>
<table><tr><td>파라미터 이름</td><td>파라미터 값</td>
<%
//Enumeration : 반복자. Iterator 구버전.
Enumeration e = request.getParameterNames(); //파라미터 이름들 리턴.
while(e.hasMoreElements()) {
//Object nextElement()
//pname : 파라미터 이름
String pname = (String)e.nextElement(); //(String) 형변환 연산자 생략 불가능.
String[] values = request.getParameterValues(pname);
%>
<tr><td><%=pname %></td>
<td>
<% for(String v : values) {%>
<%=v %>
<% } %>
</td>
</tr>
<% } %>
</tr></table>
</body>
</html>
'수업(국비지원) > JSP' 카테고리의 다른 글
| [JSP] 내장 객체 - out 내장 객체 (0) | 2023.04.18 |
|---|---|
| [JSP] 내장 객체 - 페이지 이동 방법 : response 응답 객체, forward (0) | 2023.04.18 |
| [JSP] JSP 구성 요소 - include 지시어, 스크립트 예제(스크립트릿<%%>, 표현식<%=%>) (0) | 2023.04.18 |
| [JSP] JSP 구성 요소 - Page 디렉티브, Jsp 페이지에서 사용되는 주석 (0) | 2023.04.18 |
| [JSP] JSP 구성 요소 - 웹 어플리케이션의 기초, Jsp & Servlet (0) | 2023.04.18 |