본문 바로가기
Spring/JSP

[JSP] jsp:forward와 jsp:param를 사용한 로그인

by JJH0100 2022. 11. 18.
728x90
반응형

actionTagForm.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>
	<form action="actionTagTest.jsp">
		아이디 : <input type="text" name="userID"><br>
		암 호 : <input type="password" name="userPwd"><br>
		<input type="radio" name="loginChk" value="user" checked> 사용자
		<input type="radio" name="loginChk" value="manager"> 관리자
		<br>
		<input type="submit" value="로그인">
	</form>
</body>
</html>

 

actionTagTest.jsp

<!-- URLEncoder를 사용하기 위해 import해줌 -->
<%@ page import="java.net.URLEncoder" %>
<%@ 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>
	<%
	request.setCharacterEncoding("UTF-8");

	String userID = request.getParameter("userID");
	String userPwd = request.getParameter("userPwd");
	String loginChk = request.getParameter("loginChk");
	
	if(loginChk.equals("user")){
	
%>
	<!-- 유저가 매니저면 userMain.jsp로 이동 -->
	<jsp:forward page="userMain.jsp"> 
		<jsp:param value='<%=URLEncoder.encode("일반사용자", "UTF-8")%>' name="userName" />
	</jsp:forward>
	<!-- forward로 감싸서 보내줘야함 -->
<%
	}else{
%>
	<!-- 유저가 매니저면 manager.jsp로 이동 -->
	<jsp:forward page="manager.jsp">
		<jsp:param value='<%=URLEncoder.encode("관리자", "UTF-8")%>' name="userName" />
	</jsp:forward>
<%
	}
%>
</body>
</html>

jsp:forward를 사용하여 페이지를 이동

jsp:param로 userName의 값을 전송

 

userMain.jsp

<!-- URLDecoder를 사용하기 위해 import해줌 -->
<%@ page import="java.net.URLDecoder" %>
<%@ 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 bgcolor="pink">
	<h2>사용자 로그인 성공</h2>
	<%=URLDecoder.decode(request.getParameter("userName"), "UTF-8") %>
	(<%=request.getParameter("userID") %>)님 환영합니다.
</body>
</html>

 

manager.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>
<%! 
	// 자바 문법 선언
	public int sum(int a){
		int total = 0;
		for(int i=1; i<=a; i++){
			total = total + i;
		}
		return total;
	}
%>
<h1>임의값을 1부터 더한 결과값은</h1>
<%
	//넘어오는 파라미터 값은 문자열이므로 정수로 바꾸어주어야 함
	int num = Integer.parseInt(request.getParameter("num"));
	for(int i=1; i<num; i++){
		out.print(i+"+");
	}
	out.print(num+"="+sum(num));
%>
</body>
</html>

 

728x90
반응형

'Spring > JSP' 카테고리의 다른 글

[JPS] 쿠키(Cookie)와 세션(Session)  (0) 2022.11.21
[JSP] selectFrom으로 페이지 이동  (0) 2022.11.18
[JSP] 내장 객체의 영역  (0) 2022.11.18
[JSP] 입출력 관련 객체  (0) 2022.11.17
[JSP] error페이지 설정  (0) 2022.11.17

댓글