본문 바로가기
슬기로운 자바 개발자 생활/스프링 및 자바웹 서비스

JSP page request, response

by 슬기로운 동네 형 2023. 1. 14.
반응형

JSP page request, response

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>

실행

loginPage.jsp
loginOut.jsp

 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 에서는 다시 메시지를 받아 처리하는 로직을 넣어주면 된다.

반응형

댓글