반응형
- 자바 빈을 이용한 회원 정보 조회
파일 트리
MemberBean 클래스 생성
package sec01.ex01;
import java.sql.Date;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class MemberBean {
private int mno;
private String id;
private String pwd;
private String name;
private String email;
private Date joinDate;
}
MemberDAO 클래스 생성
package sec01.ex01;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class MemberDAO {
private DataSource dataSource;
public MemberDAO() {
try {
Context ctx = new InitialContext();
Context env = (Context) ctx.lookup("java:/comp/env");
dataSource = (DataSource) env.lookup("jdbc/oracle");
} catch (NamingException e) {
e.printStackTrace();
}
}
public List<MemberBean> listMember() {
List<MemberBean> list = new ArrayList<MemberBean>();
String query = "SELECT * FROM T_MEMBER ORDER BY joinDate DESC";
try (
Connection conn = dataSource.getConnection();
PreparedStatement pstmt = conn.prepareStatement(query);
ResultSet rs = pstmt.executeQuery();
){
while (rs.next()) {
MemberBean bean = new MemberBean();
bean.setMno(rs.getInt("mno"));
bean.setId(rs.getString("id"));
bean.setPwd(rs.getString("pwd"));
bean.setName(rs.getString("name"));
bean.setEmail(rs.getString("email"));
bean.setJoinDate(rs.getDate("joinDate"));
list.add(bean);
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
}
member.jsp 생성
<%@page import="sec01.ex01.MemberBean"%>
<%@page import="java.util.List"%>
<%@page import="sec01.ex01.MemberDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
// MemberDAO dao = new MemberDAO();
// List<MemberBean> list = dao.listMember();
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%-- <%=list %> --%>
<jsp:useBean id="dao" class="sec01.ex01.MemberDAO" />
<%
List<MemberBean> list = dao.listMember();
%>
<% if(list.size() != 0) {
for(MemberBean bean : list) { %>
<div>
아이디 : <%=bean.getId() %><br>
비밀번호 : <%=bean.getPwd() %><br>
이름: <%=bean.getName() %><br>
이메일 : <%=bean.getEmail() %><br>
가입일 : <%=bean.getJoinDate() %><br>
</div>
<br>
<% } %>
<% } %>
</body>
</html>
member.jsp에서 실행하면
- setProperty
memberForm.html 생성
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="member.jsp" method="post">
아이디 : <input type="text" name="id"><br>
비밀번호 : <input type="password" name="pwd"><br>
이름 : <input type="text" name="name"><br>
이메일 : <input type="email" name="email"><br>
<button>가입하기</button>
</form>
</body>
</html>
member.jsp 수정
<%@page import="sec01.ex01.MemberBean"%>
<%@page import="java.util.List"%>
<%@page import="sec01.ex01.MemberDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%-- <%=list %> --%>
<jsp:useBean id="dao" class="sec01.ex01.MemberDAO" />
<jsp:useBean id="member" class="sec01.ex01.MemberBean" />
<jsp:setProperty property="id" name="member" value='<%=request.getParameter("id") %>'/>
<jsp:setProperty property="pwd" name="member" value='<%=request.getParameter("pwd") %>'/>
<jsp:setProperty property="name" name="member" value='<%=request.getParameter("name") %>'/>
<jsp:setProperty property="email" name="member" value='<%=request.getParameter("email") %>'/>
<!--
property 속성
값이 pwd -> setPwd() 메소드 호출
값이 email -> setEmail() 메소드 호출
값이 name -> setName() 메소드 호출
name 속성 : 참조대상의 유즈빈 객체
-->
<%
List<MemberBean> list = dao.listMember();
%>
<%=member %> <br>
<% if(list.size() != 0) {
for(MemberBean bean : list) { %>
<div>
아이디 : <%=bean.getId() %><br>
비밀번호 : <%=bean.getPwd() %><br>
이름: <%=bean.getName() %><br>
이메일 : <%=bean.getEmail() %><br>
가입일 : <%=bean.getJoinDate() %><br>
</div>
<br>
<% } %>
<% } %>
</body>
</html>
memberForm.html 실행해서 가입해보면
상단에 가입 정보가 들어간다
- getProperty
member.jsp 를 복사해서 member2.jsp 로 이름 바꾼다
<%@page import="sec01.ex01.MemberBean"%>
<%@page import="java.util.List"%>
<%@page import="sec01.ex01.MemberDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="dao" class="sec01.ex01.MemberDAO" />
<jsp:useBean id="member" class="sec01.ex01.MemberBean" />
<jsp:setProperty property="*" name="member" />
아이디 : <jsp:getProperty property="id" name="member"/><br>
비밀번호 : <jsp:getProperty property="pwd" name="member"/><br>
이름 : <jsp:getProperty property="name" name="member"/><br>
이메일 : <jsp:getProperty property="email" name="member"/><br>
</body>
</html>
memberForm.html에 있는 action="member.jsp" 부분을 member2.jsp로 수정해줌
<form action="member2.jsp" method="post">
가입 해보면 똑같이 나온다.
반응형
'학습 > JSP' 카테고리의 다른 글
24. 표현 언어(2) (0) | 2022.11.18 |
---|---|
23. 표현 언어(1) (0) | 2022.11.17 |
21. JSP 스크립트 요소 기능 (0) | 2022.11.16 |
20. 디렉티브 태그 (0) | 2022.11.16 |
18. Filter API (0) | 2022.11.16 |
댓글