티스토리 뷰
반응형
안녕하세요. Nerd-Lee입니다.
공부 내용은, 인프런 박매일님의[NarP Series]MVC 프레임워크는 내 손에[나프1탄]
을 참고하였습니다.
MVC 1단계인, Servlet 환경으로만 만들어보고, MVC 2단계로 넘어가고
나중에는 Spring Framework를 사용하는 방식의 강의입니다.
MVC 1단계는, Controller + Model 만을 사용하는 방식입니다.
진도가 빠르게 나가지 않아, 중요하다고 생각하는 부분들만 작성할 예정입니다.
1. 회원 테이블에 삭제 버튼 추가하기
- 테이블에 삭제 버튼을 만들어주자.
@WebServlet("/memberList.do")
public class MemberListController extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 1. 클라이언트 요청 받기
// 2. 회원 전체리스트 가져오기(Model과 연동)
MemberDAO dao = new MemberDAO();
ArrayList<MemberVO> list = dao.memberGetList();
// 3. 회원 전체리스트 HTML로 만들어서 출력(응답)
response.setContentType("text/html;charset=utf-8");// MIME TYPE
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<table border='1'>");
out.println("<thead>");
out.println("<tr>");
out.println("<th>번호</th>");
out.println("<th>아이디</th>");
out.println("<th>패스워드</th>");
out.println("<th>이름</th>");
out.println("<th>나이</th>");
out.println("<th>이메일</th>");
out.println("<th>전화번호</th>");
out.println("<th>삭제</th>");
out.println("</tr>");
out.println("</thead>");
out.println("<tbody>");
for (MemberVO vo : list) {
out.println("<tr>");
out.println("<td>" + vo.getNumber() + "</td>");
out.println("<td>" + vo.getId() + "</td>");
out.println("<td>" + vo.getPassword() + "</td>");
out.println("<td>" + vo.getName() + "</td>");
out.println("<td>" + vo.getAge() + "</td>");
out.println("<td>" + vo.getEmail() + "</td>");
out.println("<td>" + vo.getPhone() + "</td>");
out.println("<th><a href='/memberDelete.do?num="+vo.getNumber()+"'>삭제</a></th>");
out.println(" </tr>");
}
out.println("</tbody>");
out.println("<tr>");
out.println("<td colspan='8' align='right'>");
out.println("<a href='member/memberRegister.html'>회원가입</a>");
out.println("</td>");
out.println("</tr>");
out.println("</table>");
out.println("</body>");
out.println("</html>");
}
}
2. Delete 관련 Servlet을 만들자.
controller
패키지에,MemberDeleteController
라는 서블릿을 하나 만들어준다.- 그리고, 삭제를 할 때 해당 회원의 number 값을 memberDelete.do에 넘겨줘야 한다.
- 그 때 사용하는 것이 쿼리스트링(querystring) 이다.
- 쿼리스트링 값은, service에서 request가 가지고 있다. request에서, 값을 받아와서
DAO로 넘겨서 DB 쿼리를 실행하면 된다.
//[delete Servlet]
@WebServlet("/memberDelete.do")
public class MemberDeleteController extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 1. 쿼리스트링 값 파라미터 빼오기
int number = Integer.parseInt(request.getParameter("num"));
MemberDAO dao = new MemberDAO();
int success = dao.memberDelete(number);
if(success > 0) {
response.sendRedirect("/memberList.do");
}
else {
// 가입 실패시 예외객체를 만들어서 WAS(톰캣서버) 에게 던진다.
throw new ServletException("not delete!");
}
}
}
// [MemberDAO 추가]
// 선택 회원 삭제하기
public int memberDelete(int number) {
String SQL = "delete from member where number=?";
int success = -1;
// 데이터베이스 연결
getConnect();
try {
ps = conn.prepareStatement(SQL);
ps.setInt(1, number);
success = ps.executeUpdate();
}
catch (Exception e) {
e.printStackTrace();
}
finally {
dbClose();
}
return success;
}
이 글이 도움이 되셨다면 댓글 부탁드립니다^^
다음 글로 찾아오겠습니다!
다음 글로 찾아오겠습니다!
반응형
'web & develop > 웹 공부' 카테고리의 다른 글
[MVC SPRING] 13. 회원정보 수정하기 (0) | 2022.04.30 |
---|---|
[MVC SPRING] 12. 회원상세보기 구현 (0) | 2022.04.30 |
[MVC SPRING] 10. 회원리스트 보기 (0) | 2022.04.30 |
[MVC SPRING] 09. 회원리스트 가져오기(묶고(VO)-담고(List)) (0) | 2022.04.30 |
[MVC SPRING] 08. 회원가입 구현하기 (0) | 2022.04.30 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- HTML
- unity3d
- 유니티
- 게임프로그래밍
- 유니티3D
- Servlet
- Base Of Coding
- 비지니스 로직
- JSP
- GitHub
- baseofcoding
- Vuforia
- VR
- Controller
- 스프링
- MVC
- Spring
- Git
- Next.js
- Unity
- spring boot
- Java
- 뷰포리아
- CSS
- 안드로이드
- c#
- 유니티로 배우는 C#
- 서블릿
- 프리젠테이션 로직
- 프로그래밍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함