jongviet

May 23, 2021 - JSP 2일차 본문

Spring legacy

May 23, 2021 - JSP 2일차

jongviet 2021. 5. 23. 14:35

*5월23일

-Java beans에 대해 알아보자!

 

1.Java beans process in JSP

-JSP form tag내 데이터 입력부터 데이터 베이스를 거쳐 값을 출력하는 프로세스에 대해 알아보자.

 

1)form tag를 통해서 유저 데이터를 입력받는다.

<form method="post" action="login.jsp" class="login"
style="display: inline-block; line-height: normal; vertical-align: middle;">
<input class="form-control" type="text" name="userId" maxlength="10" style="width: 400px;">

 

2)Java beans를 통해서 input tag 내 데이터를 넘겨 받는다. 하기와 같이 페이지 상단에 선언하면 된다.

<jsp:useBean id="user" class="user.User" scope="page" />
<jsp:setProperty name="user" property="userId" />  //user라는 java beans를 통해서 userId라는 필드값을 받아옴. 명칭은 input tag내 name값과 일치해야함.

 

3)DAO를 통해서 받아온 데이터를 DB에 연결해서 검증 절차를 거친다.

UserDAO userDAO = new UserDAO();

int result = userDAO.login(user.getUserId());  //form tag를 통해 넘어온 userId 검증~
if (result == 1) {
session.setAttribute("userId", user.getUserId());
session.setMaxInactiveInterval(60*60); //검증 절차 성공 시 세션 부여 및 세션 유효 시간 설정
}

 

2.useBean, setProperty, getProperty

-<jsp:useBean id="자바빈의 객체명" class="패키지명.클래스명" scope="유효범위" />

-유효범위에는 page, request, session, application 등이 있음. default 값은 page

 

-<jsp:setProperty name="자바빈의 객체명" property="필드명 = input tag의 name명" />

 

-<jsp:getProperty name="자바빈의 객체명" property="필드명" /> 

-데이터를 가져올 때 getProperty를 쓸 수도 있지만, request.getParameter("name값") 이라던지, user.getUserId()와 같은 형태로 부르는 방식을 더 많이 씀.

 

 

3.기타

 


*특정 정보 form 태그에서 노출하지 않고 넘기기(hidden 속성)

-회원 탈퇴 시 랜덤으로 생성된 deactivate code를 사용자에게 노출하지 않고 검증용으로 자바 단에 넘길 때 사용함.

                       <!-- 검증용으로 보이지않게넘김 -->
                       <input class="form-control"  type="hidden" name="deactCodeCfm"
                            value="<%=deactCodeCfm%>">

Comments