강의
0227 - MVC패턴2 LinkedList , Vector , ArrayList
IT새내기IM
2023. 2. 27. 17:06
MemberList.JAVA - servlet
package admin.controller;
import java.io.IOException;
import java.util.LinkedList;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import dao.AdminMemberDAO;
import model.Member;
@WebServlet("/admin/member/list")
public class MemberList extends HttpServlet {
private static final long serialVersionUID = 1L;
public MemberList() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
AdminMemberDAO dao = new AdminMemberDAO();
LinkedList<Member> list = dao.listAllMember();
request.setAttribute("list", list);
RequestDispatcher dis = request.getRequestDispatcher("list.jsp");
dis.forward(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
AdminMemberDAO - DAO
package dao;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.LinkedList;
import model.Member;
public class AdminMemberDAO {
ResultSet rs;
PreparedStatement pstmt;
DAO d = new DAO();
//회원목록
public LinkedList<Member> listAllMember() {
d.getCon();
LinkedList<Member> list = new LinkedList<Member>(); //리스트 Member객체들을 묶는다. 그 객체에 m을 계속더한다.
try {
String sql = "select * from member4";
pstmt = d.con.prepareStatement(sql);
rs = pstmt.executeQuery();
while(rs.next()) {
Member m = new Member();
m.setId(rs.getString("id"));
m.setPass(rs.getString("pass"));
m.setName(rs.getString("name"));
m.setAge(rs.getInt("age"));
m.setGender(rs.getString("gender"));
m.setEmail(rs.getString("email"));
m.setLevel(rs.getString("level"));
list.add(m);
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
//회원추가
public void addMember(Member m) {
d.getCon();
try {
String sql = "insert into member4 values (?,?,?,?,?,?,?)";
pstmt = d.con.prepareStatement(sql);
pstmt.setString(1, m.getId());
pstmt.setString(2, m.getPass());
pstmt.setString(3, m.getName());
pstmt.setInt(4, m.getAge());
pstmt.setString(5, m.getGender());
pstmt.setString(6, m.getEmail());
pstmt.setString(7, m.getLevel());
pstmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
}
//선택멤버 정보출력
public Member oneMember(String id) {
d.getCon();
Member m = new Member();
try {
String sql = "select * from member4 where id=?";
pstmt = d.con.prepareStatement(sql);
pstmt.setString(1, id);
rs = pstmt.executeQuery();
if(rs.next()) {
m.setId(rs.getString("id"));
m.setPass(rs.getString("pass"));
m.setName(rs.getString("name"));
m.setAge(rs.getInt("age"));
m.setGender(rs.getString("gender"));
m.setEmail(rs.getString("email"));
m.setLevel(rs.getString("level"));
}
rs.close();
pstmt.close();
d.con.close();
} catch (Exception e) {
e.printStackTrace();
}
return m;
}
//선택멤버 수정
public void updateMember(Member m) {
d.getCon();
try {
String sql = "update member4 set pass=?, name=?, age=?, gender=?, email=?, level=? where id=?";
pstmt = d.con.prepareStatement(sql);
pstmt.setString(1, m.getPass());
pstmt.setString(2, m.getName());
pstmt.setInt(3, m.getAge());
pstmt.setString(4, m.getGender());
pstmt.setString(5, m.getEmail());
pstmt.setString(6, m.getLevel());
pstmt.setString(7, m.getId());
pstmt.executeUpdate();
pstmt.close();
d.con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
//회원삭제
public void deleteMember(String id) {
d.getCon();
try {
String sql = "delete from member4 where id=?";
pstmt = d.con.prepareStatement(sql);
pstmt.setString(1, id);
pstmt.executeUpdate();
pstmt.close();
d.con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
list.jsp - veiw
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/admin/include/header.jsp" %>
<center>
<table width=600 border=1 align=center>
<tr>
<td align=center class="td_title"><h3>회원목록</h3></td>
</tr>
<tr>
<td align=right><a href="join">[회윈추가]</a></td>
</tr>
</table>
<table width=600 border=1>
<tr>
<td>아이디</td>
<td>비번</td>
<td>이름</td>
<td>나이</td>
<td>성별</td>
<td>이메일</td>
<td>레벨</td>
<td>MODE</td>
</tr>
<c:forEach var="a" items="${list }">
<tr>
<td>${a.id }</td>
<td>${a.pass }</td>
<td>${a.name }</td>
<td>${a.age }</td>
<td>${a.gender }</td>
<td>${a.email }</td>
<td>${a.level }</td>
<td>
<a href="modify?id=${a.id }">[수정]</a>
<a href="delete?id=${a.id }">[삭제]</a>
</td>
</tr>
</c:forEach>
</table>
</center>
<%@ include file="/admin/include/footer.jsp" %>