강의

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