자바 빈 예시)회원정보 데이터를 저장하고/가져오기
useBean
scope : page,request,session, application 기본값 page
set,get property 보기 p.200
쿠키 생성, 값 읽기, 삭제
쿠키는 클라이언트(내 컴퓨터)에 저장되므로 삭제하기전까지 내컴터에 남아있다
Cookie, Cookies 클래스 구분잘하자
Cookies를 사용하려면 먼저 정의하고 컴파일해야함 정의안해주면 import util에서 정의 할수없다고 에러가 뜬다
HTML
<form action="JSP03Join.jsp" method="post">
<table border="1">
<tr>
<td>ID</td>
<td><input type="text" name="id"></td>
</tr>
<tr>
<td>name</td>
<td><input type="text" name="name"></td>
<td>email</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td align="center"><input type="submit" value="Sign-In"></td>
<!-- submit 타입은 버튼을 누르면 action으로 이동 -->
</tr>
</table>
</form>
JSP 로그인
<!-- JSP03Join.jsp -->
<body>
<% request.setCharacterEncoding("utf-8"); %>
<jsp:useBean id="memIn" class="jsp03_java.MemberInfo"></jsp:useBean>
<jsp:setProperty name="memIn" property="*" />
<%-- property="*" -> 같은이름을 갖는 속성의 값 전체를 데려온다 --%>
<jsp:setProperty name="memIn" property="password"
value = "<%= memIn.getId() %>" />
<%-- id를 패스워드값에 넣는다 --%>
<table border="1">
<tr>
<td>ID</td>
<td><jsp:getProperty name="memIn" property="id" /></td>
<td>password</td>
<td><jsp:getProperty name="memIn" property="password" /></td>
</tr>
<tr>
<td>name</td>
<td><jsp:getProperty name="memIn" property="name" /></td>
<td>email</td>
<td><jsp:getProperty name="memIn" property="email" /></td>
</tr>
</table>
</body>
html
<form action="SessionlogIn03.jsp" method="post">
ID : <input type="text" name="id3">
pass : <input type="text" name="pass3">
<input type="submit" value="Sign-In">
JSP
<!-- SessionlogIn03.jsp -->
<%
String id = request.getParameter("id3");
String pass = request.getParameter("pass3");
if(id.equals(pass)){
//원래는 DB에서 id,비번 데이터 끌어와서 일치하는지 비교해야함
session.setAttribute("MEMEBERID", id);
%>
<jsp:forward page="sessionLoginCk03.jsp"></jsp:forward>
<!-- 원래는 로그인페이지(JSP03)에서 아이디비번 입력하고
sessionLoginCk03.jsp를 따로 열어서 확인
forword해두면 한번에 넘어감
-->
<%
}
else{
out.print("failed");
}
%>
아직 DB를 연결하는것은 배우지않아서 ID와 비밀번호가 같으면 넘어가는것으로 처리하였다
세션로그인 체크하기
<!-- SessionLogInCk03.jsp -->
<% String memberid = (String)session.getAttribute("MEMEBERID");
//getAttribute는 object를 반환 -> (String)으로 강제 형변환
if(memberid != null){
out.print("id : " + memberid);
}else{
out.print("nono");
}
%>
줄여서 EL 이라고 한다
표현식(<%= %>)보다 간결하여 많이쓰인다
책 p.250 보고 보강하기
${expr}
형식으로 사용
코어 태그(c)
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
코어태그를 쓰려면 taglib 디렉티브를 추가해야한다
그리고 WEB-INF 폴더 내부 lib폴더에 jstl.jar, standard.jar파일을 붙여넣고 사용
대표적으로 많이쓰이는 것들
- <c:set>: 변수를 선언하고 값을 할당하는 태그입니다.
- <c:if>: 조건문을 표현하는 태그입니다.
- <c:choose>, <c:when>, <c:otherwise>: 다중 조건문 을 표현하는 태그입니다.
- <c:forEach>: 반복문을 표현하는 태그입니다.
- <c:import>: 외부 페이지를 가져오는 태그입니다.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
#무조건 실행하는 문
<c:if test ="true">
progress<br>
</c:if>
#else가 없는 조건문 사용
<c:if test="${param.name == 'bbb'}">
파라미터 값 = ${param.name} 이다<br>
</c:if>
c:forEach var ="i" begin="1" end="8">
<!-- items에는 Map,배열,컬렉션이 올수있다 -->
${i}
</c:forEach>
1~8까지