티스토리 뷰
반응형
안녕하세요. Nerd-Lee입니다.
공부 내용은, 인프런 박매일님의[NarP Series]MVC 프레임워크는 내 손에[나프1탄]
을 참고하였습니다.
MVC 1단계인, Servlet 환경으로만 만들어보고, MVC 2단계로 넘어가고
나중에는 Spring Framework를 사용하는 방식의 강의입니다.
MVC 1단계는, Controller + Model 만을 사용하는 방식입니다.
진도가 빠르게 나가지 않아, 중요하다고 생각하는 부분들만 작성할 예정입니다.
1. 테이블에 아이디를 a태그로 감싸주기
- 상세보기 페이지로 넘어갈 수 있는 anchor 태그를 id 컬럼에 감싸준다.
for (MemberVO vo : list) {
out.println("<tr>");
out.println("<td>" + vo.getNumber() + "</td>");
out.println("<td><a href='/memberContent.do?num="+vo.getNumber()+"'>" + vo.getId() + "</a></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>");
}
2. MemberContentController 서블릿 만들기
- 상세보기 페이지를 보여줄 Controller를 만든다.
- 쿼리스트링에서의 데이터값을 받아오고, dao에 만들어 준 데이터베이스 쿼리 실행 메서드의 반환값을 받아와서
출력해주면 되는데... - 일단 DAO를 먼저 만들어야 한다.
// 선택 회원 상세보기
public MemberVO memberContent(int _number) {
String SQL = "select * from member where number=?";
getConnect();
MemberVO vo = null;
try {
ps = conn.prepareStatement(SQL);
ps.setInt(1, _number);
rs = ps.executeQuery();
if(rs.next()) {
int number = rs.getInt("number");
String id = rs.getString("id");
String password = rs.getString("password");
String name = rs.getString("name");
int age = rs.getInt("age");
String email = rs.getString("email");
String phone = rs.getString("phone");
vo = new MemberVO(number, id, password, name, age, email, phone);
}
}
catch(Exception e) {
e.printStackTrace();
}
finally {
dbClose();
}
return vo;
}
- DAO를 만들었다면, 이제 데이터값을 받아와서 해당 데이터값으로 html로 출력을 해줘야 한다.
// MemberContentController - 상세보기 컨트롤러
@WebServlet("/memberContent.do")
public class MemberContentController extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// request로 파라미터 받아오기
int number = Integer.parseInt(request.getParameter("num"));
MemberDAO dao = new MemberDAO();
MemberVO vo = dao.memberContent(number);
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("</head>");
out.println("<body>");
out.println("<table border='2'>");
// 회원 정보가 있다면
if(vo != null) {
out.println("<tr>");
out.println("<td colspan='2'>" + vo.getName() + " 회원님의 상세보기 </td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td>번호</td>");
out.println("<td>" + vo.getNumber() + "</td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td>아이디</td>");
out.println("<td>" + vo.getId() + "</td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td>비밀번호</td>");
out.println("<td>" + vo.getPassword() + "</td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td>이름</td>");
out.println("<td>" + vo.getName() + "</td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td>나이</td>");
out.println("<td><input type='text' name='age' value='" + vo.getAge() + "'/></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td>이메일</td>");
out.println("<td><input type='text' name='email' value='" + vo.getEmail() + "'/></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td>전화번호</td>");
out.println("<td><input type='text' name='phone' value='" + vo.getPhone() + "'/></td>");
out.println("</tr>");
}
else {
out.println("<tr>");
out.println("<td>일치하는 회원이 없습니다.</td>");
out.println("</tr>");
}
out.println("</table>");
out.println("</body>");
out.println("</html>");
}
}
이 글이 도움이 되셨다면 댓글 부탁드립니다^^
다음 글로 찾아오겠습니다!
다음 글로 찾아오겠습니다!
반응형
'web & develop > 웹 공부' 카테고리의 다른 글
[MVC SPRING] 14. MVC01(Servlet) 정리 및 Redirect 기법 ( 전화 돌리기 ) (0) | 2022.04.30 |
---|---|
[MVC SPRING] 13. 회원정보 수정하기 (0) | 2022.04.30 |
[MVC SPRING] 11. 회원삭제하기(QueryString) (0) | 2022.04.30 |
[MVC SPRING] 10. 회원리스트 보기 (0) | 2022.04.30 |
[MVC SPRING] 09. 회원리스트 가져오기(묶고(VO)-담고(List)) (0) | 2022.04.30 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- HTML
- 스프링
- baseofcoding
- 게임프로그래밍
- Spring
- spring boot
- 유니티3D
- Next.js
- Vuforia
- c#
- unity3d
- 프로그래밍
- Servlet
- Java
- GitHub
- CSS
- Unity
- MVC
- 비지니스 로직
- Git
- 안드로이드
- VR
- JSP
- Base Of Coding
- 서블릿
- Controller
- 프리젠테이션 로직
- 뷰포리아
- 유니티로 배우는 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 |
글 보관함