일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- id 체크
- 개발 일기
- 코드이그나이터
- php
- 코드 처리 시간
- 코드 정리
- 자바
- 기초 HTML
- DDL
- CMD
- PLSQL 설치
- 톰캣 9.0 설치
- 이클립스 프로젝트 변경
- 오라클 초기 셋팅
- ER 마스터 사용법
- 자바스크립트
- 이클립스
- strtotime()
- 자동 배포
- 이클립스 서버연동
- js
- github
- Oracle
- php 날자 함수
- [Eclipse] 이클립스 마켓플레이스 (Marketplace) 사용방법
- 웹에 데이터를 전송하는 방법
- scanner 연습문제
- oracle datatype
- 실행파일만들기
- Nexacro
- Today
- Total
Chillax in dev
[JSP&Servlet] JSP : 내장 객체 "response" 정리하기. 본문
[JSP&Servlet] JSP : 내장 객체 "response" 정리하기.
- request 객체가 하는 역할을 어느 정도 이해했다면 그와 반대의 개념인 response 객체를 공부해보자. request객체가 웹 브라우저에서 서버로 전송된 요청 정보를 가지고 있었다면, response객체는 반대로 서버에서 사용자의 웹 브라우저에 전송(응답)할 응답 정보를 가지고 있다.
<9개의 기본 객체>
1.request: 웹브라우저 즉 클라이언트의 요청 정보를 저장한다.
2.response : 웹 브라우저 즉 클라이언트의 요청에 대한 응답 정보를 저장한다.
3. out : JSP 페이지에서 출력할 때 사용되는 출력 스트림 객체이다.
4. session : 하나의 브라우저 내에서 정보를 유지하기 위한 HTTP 세션 정보를 저장한다.
5.page : JSP페이지 를 구현한 자바 클래스 객체이다.
6.pageContext : JSP페이지에 대한 정보를 저장하는 객체이다.
7. application : 웹 애플리케이션의 Context 정보를 저장한다.
8.config : JSP 페이지에 대한 설정 정보를 저장한다. 9.exception : jsp에서 예외가 발생할 때 사용하는 객체이다.
1. response 객체
- 페이지의 헤더 정보를 입력하는 용도, 페이지를 리다이렉트(redirect)하는 용도로 많이 사용된다.
<형식>
response.sendRedirect("http://www.naver.com");
- response 객체가 제공하는 주요 메서드는 아래와 같다.
- response.addCookie(Cookie cookie) : 쿠키 정보를 추가한다.
- response.sendRedirect(String location) : 현재 페이지에서 다른 페이지("지정한 url")로 이동한다.
- response.sendStatus(int status-code) : 상태 정보를 클라이언트로 전송한다.
- response.sendError(int error-code) : 에러 정보를 클라이언트로 전송한다.
- response.sendRedirect("www.naver.com") 메서드는 지정된 url로 이동하는데 이전 request의 form태그를 action으로 이동해주는 방법 이외에 response.sendRedirect() 메서드를 사용하는 방법이 더 많이 사용되기 때문에 알아두자.
- 아래 예시를 통해 간단하게 로그인 비슷한? 값의 요청과 응답을 확인하는 예제를 만들어 보았다.
ex) 로그인 화면
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인</title>
</head>
<body>
<form method="get" action="07_Login_do.jsp">
<lable for="userid"> 아이디 : </lable><span style="color:blue;">*</span>
<input type="text" id="id" name="id" value=""> <br>
<lable for="userpwd"> 암 호 : </lable><span style="color:blue;">*</span>
<input type="password" id="pwd" name="pwd" value=""> <br>
<input type="submit" value="로그인">
</form>
</body>
</html>
|
cs |
ex) 서블릿 역할의 do
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!--화면에 나올필요없어 계산만하니 html 없앰. jsp 코드만있음. -->
<!--url로 한글 보낼떄 ???로깨지는것을 막기위해 임포트 하여 다음 인코딩방식을 적용함. -->
<%@page import="java.net.URLEncoder"%>
<%
String id = request.getParameter("id");
String name ="홍길동";
String pwd = request.getParameter("pwd");
if(id.equals("hong") && pwd.equals("1234"))
//jsp에서의 특정 페이지 이동 명령.
response.sendRedirect("07_Login_ok.jsp?name="+ URLEncoder.encode(name,"utf-8"));
else
response.sendRedirect("07_Login.jsp");
%>
|
cs |
ex) 로그인 알림 화면
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인 ok</title>
</head>
<body>
<h2>로그인 완료</h2>
<%= request.getParameter("name") %>님 안녕하세요 !
<br>
저희 홈페이지에 방문해주셔서 감사합니다.<br>
즐거운 시간 보내세요 <br>
</body>
</html>
|
cs |
- 1. response.sendRedirect("07_Login_ok.jsp? name="+ URL Encoder.encode(name, "utf-8"));
URL Encoder.encode(name, "utf-8") url의 인코딩 방식 그냥 인코딩이랑 다르기 때문에 한글의 정보를 처리할 때 염두하자! 이를 사용하기 위한 임포트도 해야 한다!<%@page import="java.net.URLEncoder"import="java.net.URL Encoder"%>
만약 인코딩 과정이 없다면 아래처럼???으로 인식된다.
-??? 인코딩 문제 확인.
- 정상 실행 화면
- 정리: response의 sendRedirect메서드를 통해 페이지 이동을 확인해보았고 인코딩을 유념해야 함을 알았다.
'Java 공부 > JSP&Servlet' 카테고리의 다른 글
[JSP&Servlet] JSP의 EL 기초 문법 사용법 정리 (0) | 2020.09.02 |
---|---|
[JSP&Servlet] 왜 게시판 실행 할 때 index.jsp로 시작할까? (0) | 2020.08.23 |
[JSP&Servlet]JSP : 내장 객체 "request" 정리하기. (0) | 2020.08.15 |
[JSP&Servlet] JSP & Servlet 초기 설정 Eclipse +Tomcat 9.0 , JSP파일 생성 (0) | 2020.08.11 |