YSHUSH

회원가입 본문

Coding/SpringFramework

회원가입

코딩; 2022. 1. 24. 05:50

회원가입

1. DTO만들기

  src/main/java폴더 내 dto패키지 생성 후 MemberDto.java 내에 작성

public class MemberDto implements Serializable{	// = 직렬화
	private String id;
	private String pwd;
	private String name;
	private String email;
	private int auth;
	
	public MemberDto() {
	}
	public MemberDto(String id, String pwd, String name, String email, int auth) {
		super();
		this.id = id;
		this.pwd = pwd;
		this.name = name;
		this.email = email;
		this.auth = auth;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public int getAuth() {
		return auth;
	}
	public void setAuth(int auth) {
		this.auth = auth;
	}
	@Override
	public String toString() {
		return "MemberDto [id=" + id + ", pwd=" + pwd + ", name=" + name + ", email=" + email + ", auth=" + auth + "]";
	}
}

 

2. 테이블 작성(sqldeveloper)

회원가입을 위한 MEMBER테이블을 작성하고 확인용 데이터를 넣어준다

CREATE TABLE MEMBER(
    ID VARCHAR2(50) PRIMARY KEY,
    PWD VARCHAR2(50) NOT NULL,
    NAME VARCHAR2(50) NOT NULL,
    EMAIL VARCHAR2(50) UNIQUE,
    AUTH NUMBER(1)
);

INSERT INTO MEMBER(ID, PWD, NAME, EMAIL, AUTH)
VALUES('aaa', '111', '코돌이', 'aaa', 3);

INSERT INTO MEMBER(ID, PWD, NAME, EMAIL, AUTH)
VALUES('bbb', '222', '코순이', 'bbb', 3);

COMMIT;

 

3. src/main/java폴더 내 sqls안에 Member.xml파일 생성 후 업데이트

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
        
<mapper namespace="Member">

<insert id="addmember" parameterType="mul.camp.a.dto.MemberDto">
	INSERT INTO MEMBER(ID, PWD, NAME, EMAIL, AUTH)
	VALUES(#{id}, #{pwd}, #{name}, #{email}, 3)
</insert>

</mapper>

 

3. MemberDao, MemberDaoImpl 업데이트

 

MemberDao

public interface MemberDao {

	int addmember(MemberDto mem);
    
}

MemberDaoImpl

@Repository
public class MemberDaoImpl implements MemberDao {

	@Autowired
	SqlSession session;
	
	String ns = "Member.";

	@Override
	public int addmember(MemberDto mem) {
		int count = session.insert(ns + "addmember", mem);
		return count;
	}
}

 

 

4. MemberService, MemberServiceImpl 업데이트

 

  MemberService

public interface MemberService {

	boolean addmember(MemberDto mem);	
    
}

  MemberServiceImpl

@Service
public class MemberServiceImpl implements MemberService{

	@Autowired
	MemberDao dao;

	@Override
	public boolean addmember(MemberDto mem) {
		
		int count = dao.addmember(mem);		
		return count>0?true:false;
        
	}
}

  return count>0?true:false; → 0보다 컸을때는 true, 0보다 크지 않았을 때는 false로 넘겨준다.

 

5. Membercontroller 업데이트

@Controller
public class MemberController {

	private static Logger logger = LoggerFactory.getLogger(MemberController.class);
	
	@Autowired
	MemberService service;
    
    @RequestMapping(value = "regi.do", method = RequestMethod.GET)
	public String regi() {
		logger.info("MemberController regi() " + new Date());
		return "regi";
	//	return "regiCSS";
	}
	
	@RequestMapping(value = "regiAf.do", method = RequestMethod.POST)
	public String regiAf(MemberDto dto) {
		logger.info("MemberController regiAf() " + new Date());
		
		boolean b = service.addmember(dto);
		if(b == true) {
			System.out.println("가입되었음");
		}	
		return "redirect:/login.do";
	}

 

6. regi.jsp 만들고 업데이트

  views폴더 내의 regi.jsp를 만들고 회원가입 양식을 업데이트한다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>

<style type="text/css">
.center{
	margin: auto;
	width: 60%;
	border: 3px solid #0000ff;
	padding: 10px;	 
}
</style>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

</head>
<body>

<h2>회원가입</h2>

<div class="center">

<form id="frm" action="regiAf.do" method="post">

<table border="1">
<tr>
	<th>아이디</th>
	<td>
		<input type="text" name="id" id="id" size="20">&nbsp;<input type="button" id="btn" value="확인"><br>
		<p id="idcheck" style="font-size: 8px"></p>		
	</td>
</tr>
<tr>
	<th>패스워드</th>
	<td>
		<input type="text" name="pwd" id="pwd" size="20">
	</td>
</tr>
<tr>
	<th>이름</th>
	<td>
		<input type="text" name="name" id="name" size="20">
	</td>
</tr>
<tr>
	<th>이메일</th>
	<td>
		<input type="text" name="email" id="email" size="20">
	</td>
</tr>
<tr>
	<td colspan="2">
		<!-- <input type="submit" value="회원가입">	 -->
		<button type="button" onclick="account()">회원가입</button>
	</td>
</tr>
</table>
</form>
</div>
</script>
</body>
</html>

'Coding > SpringFramework' 카테고리의 다른 글

게시판2. 게시판 목록 & 글쓰기  (0) 2022.01.25
게시판1. 기본 빌드  (0) 2022.01.25
로그인  (0) 2022.01.24
회원가입시 아이디 확인, 빈칸 허용하지 않기  (0) 2022.01.24
스프링 빌드순서  (0) 2022.01.23