우선 메인 화면에는 각 기능을 구현 할 링크를 만들겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <title>Main</title> </head> <body> <div class="container"> <h3>회원가입</h3> <a href="/signup/signup.do" class="btn btn-primary">회원가입</a> </div> </body> </html> | cs |
요런식으로 계속 기능을 만들어 갈 예정입니다.
메인 페이지 매핑 @RequestMapping("/main.do")
1 2 3 4 5 6 7 8 9 10 | @Controller public class MainController { //메인 GET 공통 @RequestMapping("/main.do") public String main() { return "main"; } } | cs |
앞으로 버튼을 계속 추가하여 기능 구현을 하는게 목표입니다.
우선 회원가입을 위해 Table 을 생성하겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 | create table tbl_member( userid varchar(50) not null, userpwd varchar(100) not null, username varchar(50) not null, email varchar(100) not null, addr1 varchar(50), addr2 varchar(100), addr3 varchar(100), rdate timestamp default now(), updatedate timestamp default now(), primary key (userid) ); | cs |
SignupVO
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public class SignupVO { private String userid; private String userpwd; private String username; private String email; private String addr1; private String addr2; private String addr3; private Date rdate; private Date updatedate; //getter/setter .. | cs |
회원가입 폼은 저와 동일하게 만들어주세요 디자인은 따로 다루지 않겠습니다.
이번엔는 아이디 중복확인, 우편번호 찾기는 구현하지 않겠습니다.
이후에 구현 예정이니 폼은 동일하게 만들어 주세요.
회원가입 Controller
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 | @Controller @RequestMapping("/signup/*") public class SingupController { @Inject private SignupService signupService; //SignUp GET @RequestMapping(value="/signup.do", method=RequestMethod.GET) public void signupGET() { } //SignUp PSOT @RequestMapping(value="/signup.do", method=RequestMethod.POST) public String signupPOST(SignupVO signVO) { signupService.insertMember(signVO); return "main"; } } | cs |
회원가입 Service Interface
1 2 3 4 5 6 7 | public interface SignupService { //회원가입 Service public void insertMember(SignupVO signVO); } | cs |
회원가입 ServiceImpl
1 2 3 4 5 6 7 8 9 10 11 | @Service public class SignupServiceImpl implements SignupService { @Inject private SignupDAO dao; @Override public void insertMember(SignupVO signVO) { dao.insertMember(signVO); } } | cs |
회원가입 DAO Interface
1 2 3 4 5 | public interface SignupDAO { //회원가입 DAO public void insertMember(SignupVO signVO); } | cs |
회원가입 DAOImpl
1 2 3 4 5 6 7 8 9 10 11 12 | @Repository public class SignupDAOImpl implements SignupDAO { @Inject private SqlSession session; @Override public void insertMember(SignupVO signVO) { session.insert("insertMember",signVO); } } | cs |
회원가입 xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <insert id="insertMember" parameterType="com.sjh.signup.SignupVO"> INSERT INTO tbl_member( userid, userpwd, username, email, addr1, addr2, addr3 )VALUES( #{userid}, #{userpwd}, #{username}, #{email}, #{addr1}, #{addr2}, #{addr3} ) </insert> | cs |
이렇게 작성하고 내용을 넣겠습니다 . 아직 아이디중복확인 및 비밀번호 확인은 구현하지 않았습니다.~
데이터 베이스를 확인하면 ~ 짠 잘 들어 갔습니다.~
다음에는 비밀번호 암호화하여 저장하기, Daum 주소 API를 사용하여 우편번호 및 주소 찾기를 해보겠습니다.~
'프레임워크 > SpringFrameWork' 카테고리의 다른 글
5. ajax를 활용하여 아이디 중복체크 하기 (43) | 2018.02.08 |
---|---|
4. 스프링 회원가입 유효성검사 (2) | 2018.02.07 |
3. spring 다음 주소API를 활용하여 우편번호 및 주소 찾기 (0) | 2018.02.07 |
2. 회원가입 암호화 하는방법2 (0) | 2018.02.07 |
spring 회원가입 비밀번호 암호화하여 DB에 저장하기 (0) | 2018.01.11 |