1. 세션값을 가져오기
2. DAO객체 생성하여 DB정보가져오기 (MemberBean)
3. `.java` --request객체로 데이터를 전달--> `.jsp`
- session에 담아써도 괜찮지만 데이터가 필요없는 순간에도 session 이 살아있는 한 데이터를 가지고 다녀야할수있다.
- 따라서 request객체를 사용하는 것이 더 올바르다
@Override public ActionForward execute(HttpServletRequest req, HttpServletResponse resp)throws Exception { System.out.println("@@@@ Action: MemberInfoAction안의 execute() 실행됨"); //1. 한글처리 req.setCharacterEncoding("UTF-8"); //2.세션값을 가져오기 HttpSession session = req.getSession(); String id = (String) session.getAttribute("id"); //2-1.id값이 없으면 로그인페이지로 이동 ActionForward forward = new ActionForward(); if(id == null){ //resp.sendRedirect("./MemberLogin.me"); forward.setPath("./MemberLogin.me"); forward.setRedirect(true); //주소가 바뀌니까 false가 아니라 true임 return forward; //아이디가 없으면 retrun을 통해서 아래 코드는 실행되지않는다. } //3.DAO객체 생성하여 DB정보가져오기 (MemberBean) MemberDAO mdao = new MemberDAO(); MemberBean mb = mdao.getMember(id); //4. .java --request객체로 데이터를 전달--> .jsp //session에 담아써도 괜찮지만 데이터가 필요없는 순간에도 session 이 살아있는 한 데이터를 가지고 다녀야할수있다. //따라서 request객체를 사용하는 것이 더 올바르다 req.setAttribute("memberBean", mb); forward.setPath("./member/memberinfo.jsp"); forward.setRedirect(false); return forward; } }
//5. 회원정보 가져오는 메서드 getMember:회원정보 전부 리턴 -> 테이블에 추가 public MemberBean getMember(String id){ MemberBean mb = null; //객체 레퍼런스 생성 //왜 null인가? 정보가 생성되는 시점은 rs에 있을때이다. //따라서 rs가 없을땐 굳이 만들필요가 없다.
try{ //5-1. 드라이브로드 디비연결 con = getCon(); //5-2. SQL & pstmt 생성 sql = "select * from itwill_member where id=?"; pstmt = con.prepareStatement(sql); pstmt.setString(1, id); //5-3. 실행 -> rs저장 rs = pstmt.executeQuery(); //5-4. 데이터처리 : DB에 있는 회원정보 저장 후 memberinfo페이지로 전달 //DB의컬럼명을 입력할 것 if(rs.next()){ mb = new MemberBean(); mb.setId(rs.getString("id")); mb.setPw(rs.getString("pw")); mb.setName(rs.getString("name")); mb.setAge(rs.getInt("age")); mb.setEmail(rs.getString("email")); mb.setGender(rs.getString("gender")); mb.setReg_date(rs.getTimestamp("reg_date")); } System.out.println("@@@@ DAO : 회원정보저장완료"+mb); }catch (Exception e) { e.printStackTrace(); } finally { //5-5. 자원해제 closeDB(); } return mb; }//getMember닫힘