반응형
JSP page request, response
request와 response 내장 객체는 HttpServletRequest와 HttpServletResponse 타입으로 요청정보와 응답정보를 처리하는 클래스다. 두 객체를 사용하는 예제를 만들어 본다.
로그인 페이지 loginPage.jsp 만들고 폼에서 입력받은 ID와 비밀번호를 loginOut.jsp로 보낸다. 그리고 입력받은 ID와 비밀번호를 loginOut.jsp 페이지에서 출력해 보는 예제다.
소스
loginPage.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인</title>
</head>
<body>
<h3>request, response 알아보기</h3>
<form action="loginOut.jsp" method="post">
ID : <input type="text" name="id">
Password : <input type="password" name="pwd">
<input type="submit" value="로그인">
</form>
</body>
</html>
loginOut.page
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login Result</title>
</head>
<body>
<%
String id = request.getParameter("id");
String pwd = request.getParameter("pwd");
if(id.isEmpty()||pwd.isEmpty()){
RequestDispatcher rd = request.getRequestDispatcher("loginPage.jsp");
request.setAttribute("msg", "아이디 또는 패스워드를 입력하세요");
rd.forward(request, response);
return;
}
%>
아이디 : <%= id%> / 비번 : <%= pwd%>
</body>
</html>
실행
JSP의 내장 객체 request는 HttpServletRequest 객체다.
웹 브라우저 loginPage.jsp 파일을 실행하고, id와 pwd를 입력해 로그인 버튼을 클릭, loginOut.jsp 에서 HttpServletRequest 의 getParameter() 메서드의 문자 Id와 pwd를 변수로 빼냈다.
만약 id와 pwd 둘 중 하나라도 값이 없을 경우는 RequestDispatcher 객체를 이용해서 다른 페이지로 이동하는 forward() 메서드를 이용해서 다시 loginPage.jsp로 돌려보냈다.
좀 더 발전한다면, id와 비번을 검사하고 어떤 값이 없는 건지 체크 후 다시 원래 페이지로 돌려보냄과 동시에 메시지를 출력할 수 있다.
request.setAttribute("msg", "아이디 또는 패스워드를 입력하세요");
loginPage.jsp 에서는 다시 메시지를 받아 처리하는 로직을 넣어주면 된다.
반응형
'슬기로운 자바 개발자 생활 > 스프링 및 자바웹 서비스' 카테고리의 다른 글
스프링에서 oracle declare 문 사용해보기 (0) | 2023.05.14 |
---|---|
RestTemplate와 WebClient 사용해보기 (0) | 2023.03.14 |
JSP page 지시자 errorPage, isErrorPage 사용법 (0) | 2023.01.14 |
구글 로그인 API 스프링부트 OAuth 2.0 - 2. 구현해보기 (3) | 2022.12.18 |
스프링부트에서 jsp사용하기 (1) | 2022.12.17 |
댓글