본문 바로가기

개발자노트/웹

HTML- JSP - JavaBeans를 이용한 로그인 페이지 예제

JSP 코드에서 java 코드를 최소화 하기 위해 사용

빈즈(.java)는 클래스 구조이다!
private 멤버변수
getter,setter
기본생성자☆

멤버변수를 초기화하는 역할 -> 생성자
기본 생성자 밖에 안되니까(useBean을 사용하려면 기본생성자여야함) 멤버변수의 값을 초기화하기 위해 setter가 필수!!

 

id 속성: 인스턴스명
class 속성: 클래스(자바빈즈)명 . 패키지 경로도 반드시 포함
scope 속성 : 유효범위 



 

JavaBeans를 이용한 로그인페이지.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인 페이지[자바빈즈]</title>
</head>
<body>

<form action="b.jsp" method="post">
   <table border="2">
      <tr>
         <td>아이디</td>
         <td><input type="text" name="id" required></td>
      </tr>
      <tr>
         <td>비밀번호</td>
         <td><input type="password" name="pw" required></td>
      </tr>
      <tr>
         <td colspan="2" align="right"><input type="submit" value="로그인"></td>
      </tr>
   </table>
</form>

</body>
</html>

 

 

LoginBean.java 코드

package test;

public class LoginBean {
   private String id;
   private String pw;
   public String getId() {
      return id;
   }
   public void setId(String id) {
      this.id = id;
   }
   public String getPw() {
      return pw;
   }
   public void setPw(String pw) {
      this.pw = pw;
   }
   
   final String adminId="admin";
   final String adminPw="1234";
   // final이 붙은 변수들은 추후 DB의 데이터로 대체할예정!!!
   public boolean login() {
      if(id.equals(adminId) && pw.equals(adminPw)) {
         return true;
      }
      
      return false;
   }
}

아직 회원가입과 DB를 만들지 않아서 임의대로 샘플 데이터를 넣어놨음

 

 

로그인 결과 출력.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<jsp:useBean id="lb" class="test.LoginBean" />
<jsp:setProperty property="*" name="lb" />
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인 결과 페이지</title>
</head>
<body>

<%
   if(lb.login()){
      out.println("<H1>로그인 성공!</H1>");
   }
   else{
      out.println("<SCRIPT>alert('로그인 실패...');</SCRIPT>");
   }
%>

입력한 아이디: <jsp:getProperty property="id" name="lb" /> <br>
입력한 비밀번호: <jsp:getProperty property="pw" name="lb" /><br>
<!-- JAVA 코드를 사용을 최소화하는 것이 좋지만,
	아래와 같이 선언식을 사용하는 것을 더욱 권장
 -->
입력한 아이디: <%=lb.getId()%> <br>
입력한 비밀번호: <%=lb.getPw()%>
</body>
</html>

</jsp:usebean >
==> if(request.getAttribute("cb")==null); // cb객체가 있니? cb의 속성을 cb로 받을것이다.
       CalcBean cb=new CalcBean(); 없다면 새로 만듦
       reqeust.setAttribute("cb",cb); 과 같은 역할

 

 ==> </jsp:setproperty >멤버변수 값을 초기화 하는 setter 역할 (자동매핑)
        멤버변수명 == JSP 변수명(name 속성의 값)

 

</jsp:getproperty >에 대하여..
JAVA 코드를 사용을 최소화하는 것이 좋지만,
<%= %> 를 더 권장함

 

 

 

 

수행결과

 

로그인창
없는 아이디/비밀번호를 입력한 경우
로그인실패

이러한 출력이 나오고

 

올바른 값을 입력한경우

이렇게 출력된다.