프로그래밍 언어/자바 웹

스크립트 요소 이용해 실습하기 - 로그인 예제

· 코딩마이데이

1. 로그인창에서 ID와 비밀번호를 입력한 후 JSP로 전송하여 출력하는 예제입니다. 다음과 같이 실습 파일 login.html, result.jsp, result2.jsp, result3.jsp를 준비합니다.

실습 파일

 

2. login.html을 다음과 같이 작성합니다. 로그인창에서 ID와 비밀번호를 입력한 후 action의 result.jsp로 전송합니다.

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<form name="frmLogin" method="post" action="result.jsp" encType="utf-8">
		아이디: <input type="text" name="user_id"><br>
		비밀번호: <input type="password" name="user_pw"><br>
		<input type="submit" value="로그인">
		<input type="reset" value="다시 입력"> 
	</form>
</body>
</html>

 

3. result.jsp를 다음과 같이 작성합니다. 스크립트릿을 이용해 전송된 ID와 비밀번호를 거져온 후 표현식을 이용해 변수의 값을 출력합니다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>결과출력창</title>
</head>
<body>
	<h1>결과 출력</h1>
	<%
		request.setCharacterEncoding("utf-8");
		String user_id = request.getParameter("user_id");
		String user_pw = request.getParameter("user_pw");
	%>
	<h1>아이디 : <%= user_id %></h1>
	<h1>비밀번호 : <%= user_pw %></h1>
</body>
</html>

 

4. http://localhost:8090/pro12/login.html로 요청한 후 ID와 비밀번호를 입력하여 로그인합니다.

로그인창에서 로그인

5. 로그인 정보가 출력됩니다.

로그인 정보 출력

 

6. 이번에는 한 걸음 더 나아가 스크립트릿 안에 자바 코드를 사용해 ID가 정상적으로 입력되었는지 체크한 후 정상 입력 여부에 따라 동적으로 다른 결과를 출력하도록 구현해보겠습니다. result2.jsp를 다음과 같이 작성합니다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	request.setCharacterEncoding("utf-8");
	String user_id = request.getParameter("user_id");
	String user_pw = request.getParameter("user_pw");
%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>결과출력창</title>
</head>
<body>
	<%
		if (user_id == null || user_id.length() == 0) {
	%>
	아이디를 입력하세요.<br>
	<a href="/pro12/login.html">로그인하기</a>
	<%
		} else {
	%>
	<h1>환영합니다. <%=user_id %> 님!!!</h1>
	<%
		}
	%>
</body>
</html>

 

7. login.html의 action 속성을 result2.jsp로 수정 후, 로그인창에서 먼저 ID를 정상적으로 입력한 후 전송했을 때의 결과를 확인합니다.

정상적으로 입력했을 경우

 

8. 다음은 ID를 입력하지 않고 전송한 경우입니다.

ID를 입력하지 않을 경우

 

서블릿에서는 자바 코드로 화면을 구현하듯이 JSP에서는 스크립트릿 안에 자바 코드를 사용해서 다양한 기능을 구현한다는 점이 이제 어느 정도 이해가 될 것입니다.

 

9. 로그인 에제를 좀 더 응용해 보겠습니다. 다음과 같이 result3.jsp를 작성합니다. 첫 번째 if문에서 먼저 ID가 입력되었는지 체크한 후 정상적으로 입력되었으면 다시 내부 if문을 수행하여 ID가 admin인지 체크합니다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	request.setCharacterEncoding("utf-8");
	String user_id = request.getParameter("user_id");
	String user_pw = request.getParameter("user_pw");
%>
<!DOCTYPE html>
<html>
<head>
	<title>결과출력창</title>
	<meta charset="UTF-8">
</head>
<body>
	<%
		if (user_id == null || user_id.length() == 0) {
	%>
	아이디를 입력하세요.<br>
	<a href="/pro12/login.html">로그인하기</a>
	<%
		} else {
			if (user_id.equals("admin")) {
	%>
		<h1>관리자로 로그인 했습니다.</h1>
		<form>
			<input type=button value="회원정보 삭제하기" />
			<input type=button value="회원정보 수정하기" />
		</form>
	<%
		} else {
	%>
		<h1>환영합니다. <%=user_id %> 님!!!</h1>
		
	<%
		}
	}
	%>
</body>
</html>

 

10. 다음은 admin으로 로그인했을 때의 실행 결과입니다.

ID를 admin으로 입력하고 로그인

11. 로그인창이 나타납니다.

관리자창이 나타남

 

12. 다른 ID로 로그인 시 "환영합니다. lee 님!!!"아러는 메시지가 나타납니다.

일반 사용자창이 나타남

'프로그래밍 언어 > 자바 웹' 카테고리의 다른 글

구구단 출력 예제  (0) 2025.10.13
학점 변환 예제  (0) 2025.10.10
JSP 주석문 사용하기  (0) 2025.10.04
스크립트릿 사용하기  (0) 2025.09.28
JSP 스크립트 요소  (0) 2025.09.25