JSP 3일차

HOHO·2023년 3월 22일

#JSP

목록 보기
3/6

자바 빈 예시)회원정보 데이터를 저장하고/가져오기
useBean
scope : page,request,session, application 기본값 page

set,get property 보기 p.200

쿠키 생성, 값 읽기, 삭제
쿠키는 클라이언트(내 컴퓨터)에 저장되므로 삭제하기전까지 내컴터에 남아있다
Cookie, Cookies 클래스 구분잘하자
Cookies를 사용하려면 먼저 정의하고 컴파일해야함 정의안해주면 import util에서 정의 할수없다고 에러가 뜬다

JSP get/set Property

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>

Session Log-in

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");
}
%>

표현언어(Expression Language)

줄여서 EL 이라고 한다
표현식(<%= %>)보다 간결하여 많이쓰인다
책 p.250 보고 보강하기

${expr}
형식으로 사용

JSTL(Jsp Standard Tag Library)

코어 태그(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>: 외부 페이지를 가져오는 태그입니다.

<c:if>

<%@ 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>

c:forEach var ="i" begin="1" end="8">
<!-- items에는 Map,배열,컬렉션이 올수있다 -->
${i}
</c:forEach>
1~8까지
profile
기계 그잡채가 되고싶다

0개의 댓글