spring 회원가입 기능 만들기
[spring실습] 게시판 만들기 - 글 쓰기 기능 만들기 : integer-ji.tistory.com/341
[spring실습] 게시판 만들기 - 글 수정 기능 만들기 : integer-ji.tistory.com/342
[spring실습] 게시판 만들기 - 글 삭제 기능 만들기 : integer-ji.tistory.com/343
[spring실습] 게시판 만들기 - 상세(Detail) 페이지 추가 : integer-ji.tistory.com/346
[spring실습] 게시판 만들기 - 조회수 추가, Oracle 칼럼 추가, default, null 설정 : integer-ji.tistory.com/344
이어서 진행 됩니다.
이번엔 게시판 기능을 업그레이드하여 회원가입 기능을 만들어 보겠습니다.
Oracle Table 회원가입 테이블 생성하기
CREATE TABLE TB_MEMBER (
USER_NUM NUMBER(10,0) NOT NULL,
USER_ID VARCHAR2(40) NOT NULL,
USER_PASSWORD VARCHAR2(100) NOT NULL,
REG_DATE DATE DEFAULT SYSDATE,
PRIMARY KEY(USER_NUM, USER_ID)
);
--commit;
SELECT * FROM TB_MEMBER;
회원가입을 하며 필요한 정보를 저장합니다.
로그인할 때 필요한 ID, PASSWORD 그리고 회원가입을 한 일자를 저장합니다.
기본키는 회원 넘버와 ID로 설정합니다.
Tb_Member_SQL.xml 생성 및 insert 추가
<insert id="insertMember">
<selectKey resultType="int" keyProperty="proId" order="BEFORE">
SELECT NVL(MAX(USER_NUM),0)+1 FROM TB_MEMBER
</selectKey>
INSERT INTO TB_MEMBER (
USER_NUM,
USER_ID,
USER_PASSWARD,
REG_DATE
) VALUE (
#{userNum},
#{userId},
#{userPassward},
SYSDATE
)
</insert>
회원가입을 하며 실행시킬 insert문을 추가하여 줍니다.
MemberVo.java 추가
package com.project.vo;
import java.util.Date;
public class MemberVO {
private Integer userNum;
private String userId;
private String userPassward;
private Date regDate;
public Integer getUserNum() {
return userNum;
}
public void setUserNum(Integer userNum) {
this.userNum = userNum;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserPassward() {
return userPassward;
}
public void setUserPassward(String userPassward) {
this.userPassward = userPassward;
}
public Date getRegDate() {
return regDate;
}
public void setRegDate(Date regDate) {
this.regDate = regDate;
}
}
새로운 mapper을 추가하였기 때문에 VO를 추가하여 줍니다.
MemberService.java, MemberServiceImpl.java 추가
package com.project.service;
import com.project.vo.MemberVO;
public interface MemberService {
void insertMember(MemberVO memberVO);
}
package com.project.service.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.project.service.MemberService;
import com.project.service.dao.MemberDAO;
import com.project.vo.MemberVO;
@Service("memberService")
public class MemberServiceImpl implements MemberService {
@Autowired
private MemberDAO membertMapper;
@Override
public void insertMember(MemberVO memberVO) {
membertMapper.insertMember(memberVO);
}
}
전체적인 흐름은 글쓰기의 CRUD기능과 같습니다.
회원가입도 하나의 글을 쓰는 것과 같이 Table에 저장하면 됩니다.
MemberController.java 추가
package com.project.controller;
import javax.inject.Inject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.project.service.MemberService;
@Controller
public class MemberController {
private static final Logger logger = LoggerFactory.getLogger(MemberController.class);
@Inject
MemberService service;
// 회원가입 get
@RequestMapping(value = "/singup.do", method = RequestMethod.GET)
public String singup(Model model) {
logger.info(" ==============>>> SingUp Start !!!");
return "member/singup";
}
}
Controller도 생성하여 줍니다.
RequestMethod Get방식으로 HomeController과 같이 home 함수를 만들어 줍니다.
회원가입 페이지를 열기 위해 member 폴더 아래의 suinup를 열어 줍니다.
singup.jsp 추가
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!-- @@@ 매우 중요 @@@ -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page session="false" %>
<html>
</html>
<head>
<h1>singup start</h1>
</head>
<body>
</body>
회원가입 페이지를 불러옵니다.
다음 게시글에서는 POST방식으로 데이터를 넘겨 테이블에 데이터를 쌓아 보겠습니다.
'코딩공부 > Java Spring' 카테고리의 다른 글
[spring실습] 게시판 만들기 - 조회수 추가, Oracle 컬럼 추가, default, null 설정 (0) | 2021.01.02 |
---|---|
[spring 실습] 게시판 만들기 - 상세(Detail) 페이지 추가 (0) | 2021.01.01 |
[spring 실습] 게시판 만들기 - 글 삭제 기능 만들기 (0) | 2020.12.30 |
[spring 실습] 게시판 만들기 - 글 수정 기능 만들기 (0) | 2020.12.30 |
[spring 실습] 게시판 만들기 - 글 쓰기 기능 만들기 (0) | 2020.12.28 |