-
*해당 프로젝트 기술은 메아리 프로젝트에서 제가 담당했었던 기능 분야 쪽만 기술 합니다!! 이외엔 팀원들과의 합작입니다.
사전에 계획된 회원가입에 사용될 맴버 테이블을 참고하여 VO파일을 만들어서 관리한다.
com.mySpring.myapp.member.vo
public class MemberVO { private String member_id; private String member_pw; private String member_name; private String member_email; private String member_pw_corr; private Date joinDate; ......생략..... }
MemberVO를 생성해서 사전에 계획된 테이블에 맞춰서 값들을 만들어준다.
그 후, getter, setter 들을 생성해서 프론트에서 입력된 값들을 백엔드 영역에서 사용할 수 있도록 설정한다.
이렇게 생성해놓으면 MemberVO memberVO 등의 형식으로 생성자를 통해 MemberVO에서의 값들을 이용해서 사용할 수 있게 된다.
/WEB-INF/views/signup/signup.jsp
<div class="register_id"> <h4>아이디</h4> <input type="text" name="member_id" id="" placeholder="아이디 입력"> </div> ...생략... <div class="register_name"> <h4>이름</h4> <input type="text" name="member_name" id="" placeholder="이름 입력"> </div>
프론트에서 사용자에게 보여지고 얻어질 값들을 매칭한 후, submit / post의 형식으로 값을 이동할 수 있도록 해줌.
com.mySpring.myapp.member.controller
public interface MemberController { public ModelAndView addMember(@ModelAttribute("info") MemberVO memberVO, HttpServletRequest request, HttpServletResponse response) throws Exception; }
Controller에 인터페이스로 회원가입에 해당하는 MVC 모델을 생성해서 만들어 놓는다.
그 후, 같은 폴더(패키지)안에 Controllerimpl 을 생성해서 해당 파일에서 인터페이스를 명확하게 작성하여, 느슨한 결합이 이루어질 수 있도록 함.
com.mySpring.myapp.member.controller.controllerImpl
request.setCharacterEncoding("utf-8"); int result = 0; result = memberService.addMember(member); ModelAndView mav = new ModelAndView("redirect:/loginForm"); return mav;
@RequestMapping 으로 해당 value와 일치하는 경우, 처리하는 로직을 작성한다. 해당 로직은 앞 프론트에서 사용자가 입력한 값이 담겨서 오게 되므로 이를 memberService의 addmember 로직을 member를 담아서 실행하게 할 것임. 앞서 member에는 memberVO의 형식과 일치하게 됨.
com.mySpring.myapp.member.service
public interface MemberService { public int addMember(MemberVO memberVO) throws DataAccessException; }
앞서 했었던 과정과 동일하게 서비스 역시 인터페이스 ㅡ 구현 을 통해 작성한다.
com.mySpring.myapp.member.service.MemberServiceImpl
@Override public int addMember(MemberVO member) throws DataAccessException { return memberDAO.insertMember(member); }
이를 통해 들어온 member를 DAO의 insertMember로 보내준다.
com.mySpring.myapp.member.dao ( Impl 파일 포함)
public interface MemberDAO { public int insertMember(MemberVO memberVO) throws DataAccessException; }
@Override public int insertMember(MemberVO memberVO) throws DataAccessException { int result = sqlSession.insert("mapper.member.insertMember", memberVO); return result; }
DAO 로직의 경우 DB와 연관된 로직이다. 회원가입의 경우 사용자의 정보를 전달하여 DB에 insert 해야 하는 것이고, 해당 프로젝트에서 사용한 오라클에 저장될 수 있도록 값들을 전달하여 준다.
resources/mybaties/mappers/member.xml
<insert id="insertMember" parameterType="memberVO"> <![CDATA[ insert into member(member_id, member_pw, member_name, member_email, member_pw_corr) values(#{member_id}, #{member_pw}, #{member_name}, #{member_email}, #{member_pw_corr}) ]]> </insert>
MEMBER와 연관된 DB를 관리해줄 XML 파일을 작성한다. 해당 <![CDATA[ 'SQL문법' ]]> 을 통해서 오라클 DB에서가 아닌, 이클립스 프로젝트 자체에서도 DB를 입력할 수 있게 된다.
이러한 모든 과정을 마치게 되면, 정상적으로 회원가입이 진행이 되고 DB에 잘 저장된다.
'개발 > WEB' 카테고리의 다른 글
Web_ project 진행_4 : Spring DB 게시글 내용 가져와서 출력 (0) 2021.11.04 Web_ project 진행_3 : Spring 게시글 리스트 불러오기 (0) 2021.11.04 WEB_ Spring-WebSocket 통신 정의 (0) 2021.10.06 Web_ project 진행_1 : 초기 HTML/CSS 작성 (0) 2021.09.23 스프링 프로젝트 생성 오류 : Could not initialize class com.thoughtworks.xstream.converters.collections.PropertiesConverter (2) 2021.09.14 댓글 (비로그인 댓글 허용하지 않습니다.)