* respense 객체의 이해
- 웹 브라우저의 요청에 응답하는 것을 response라고 한다.
- 이러한 응답의 정보를 가지고 있는 객체를 response객체라고 한다.
-response객체 주요 메서드
1. getCharacterEncoding(): 응답할 때의 문자의 인코딩 형태를 구한다.
2. addCookie(Cookie c) : 쿠키를 지정한다.
3. sendRedirect(URL) :지정한 url로 이동한다.
ex) 로그인 틀리면 -> 틀렸다는 메시지와 다시 로그인 창으로 강제로 돌아가야 된다.
게시글을 작성 -> 게시글 메인 창으로 강제로 돌아가야 된다
sendRedirect(URL)를 사용하는 페이지를 만들어보자.
아래 소스코드를 실행시키면
<%@ 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>
<form action ="res_basic02.jsp" method="post">
- 당신의 나이는?? <input type="text" name="age" size="5"/>
<input type="submit" value="확인" />
</form>
</body>
</html>
![]() |
![]() |
아래 코드들 중 하나로 바로 넘어간다.
<%@ 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>
<h3> 성인입니다. 주류를 구매할 수 있습니다. </h3>
<a href="res_basic01.jsp">처음으로</a>
</body>
</html>
<%@ 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>
<h3> 미성년자입니다. 주류를 구매할 수 없습니다. </h3>
<a href="res_basic01.jsp">처음으로</a>
</body>
</html>
이렇게 바로 넘어 기기 위한 중간 매개체 코드는
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- 페이지 중계 역할을 한다.!!!!!! -->
<%
String strAge = request.getParameter("age");
int age = Integer.parseInt(strAge);
//객체가 제공하는 sendRedirect() 메서드의 매개값으로 url주소를 적으면 해당
//페이지로 강제 이동합니다.
String url = "http://localhost:8080/JSPBasic/JspObjResponse/res_basic_no.jsp";
if(age >= 20 ) {
response.sendRedirect(url);
} else{
response.sendRedirect("res_basic_no.jsp");
}
%>
위 코드를 보면 response.sendRedirect를 통해 바로 전달됨을 확인할 수 있다.
퀴즈 ( sendRedirect 사용 )
- res_login_form.jsp에서는 넘어온 아이디 값과 비밀번호 값을 받아서 처리한다.
만약 아이디가 'abc1234'이고 비밀번호가 'xyz9876'이라면 아이디가 일치하지 않았을 경우
'res_id_fail.jsp'로 리다이렉팅 해서 '존재하지 않는 회원입니다.'를 브라우저에 출력하자.
아이디가 일치할 경우 비밀번호도 확인해서 틀렸을 경우 'res_pw_fail.jsp'로 리다이렉팅해서 '비밀번호가 틀렸습니다.'를 브라우저에 출력해라.
iD와 PW가 전부 일치했을 경우 'res_welcome.jsp'로 리다이렉팅 하여 '회원님 반갑습니다'를 출력해라.
<%@ 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에 내부 스타일 적용 --%>
<%--
- 태그에 내부 스타일 시트방식으로 디자인을 적용하려면 선택자를 이용한다.
- 클래스 선택자: .[클래스이름]
- 아이디 선택자: #[아이디 이름]
- 태그 선택자: [태그 이름]
--%>
<style type="text/css">
.login_btn {
background-color:yellow;
width: 50px;
height: 50px;
font-family:cursive;
padding: 2px;
}
</style>
</head>
<body>
<%--
* CSS(Cascade Style Sheet)
-HTML에 디지인 요소를 적용하는 언어는 CSS이다.
-CSS를 HTML에 적용하는 방식에는 3가지 방식이있다.
1. 인라인 스타일 시트 - 태그 내부에 해당 태그에만 적용되는 스타일을 지정.
2. 내부 스타일 시트 - 태그의 스타일을 head태그에서 따로 지정.
3. 외부 스타일 시트 - 외부에 .css파일을 따로 만들어 디자인소스만 모두 지정한 뒤 HTML에서
링크를 통해 로딩시킴.
****CSS 우선적용 순위: 인라인 > 내부 > 외부
--%>
<!-- div태그에 인라인 스타일 적용 -->
<div align="center" style="border: 2px dashed blue; width: 80%;">
<h3>sendRedirect 로그인 연습</h3> <hr/>
<form action = "res_login_ok.jsp" method = "post">
<table border = "1">
<tr>
<td><input type="text" name="id" size="10px" placeholder="ID를 입력!"/></td>
<td rowspan="2"><input class="login_btn" type="submit" value="로그인"/></td>
</tr>
<tr>
<td><input type="password" name="pw" size="10px" placeholder="PW를 입력"/></td>
</tr>
</table>
</form>
</div>
</body>
</html>
중간 매개체 역할 코드
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%--중간 역할 --%>
<%
String id = request.getParameter("id");
String pw = request.getParameter("pw");
if(id.equals("abc1234")) {
if(pw.equals("1234")){
response.sendRedirect("res_welcome.jsp");
}else {
response.sendRedirect("res_pw_fail.jsp");
}
}else{
response.sendRedirect("res_id_fail.jsp");
}
%>
로그인성공시
비밀번호 오류
<%@ 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>
<h3>로그인 실패! 비밀번호가 틀렸습니다.</h3>
<a href="res_login_form.jsp">로그인 페이지로</a>
</body>
</html>
'IT' 카테고리의 다른 글
8. JSP 에러페이지 처리 (0) | 2022.09.13 |
---|---|
6. JSP - 클라이언트와 서버간의 데이터 유지 cookie (로그인창 구현) (0) | 2022.09.07 |
4-2. JSP - 내장객체 request실습(2) GET방식, POST방식 (0) | 2022.09.06 |
4-1. JSP 내장객체 request (0) | 2022.09.05 |
3-1. jsp - Directive태그 include속성 (0) | 2022.09.04 |