데일리로그C:
article thumbnail
Published 2023. 5. 3. 15:06
스프링 member 구현 JAVA/spring

회원가입1

  ㄴ> service, daoimpl,  controller 전부다 사용해 구현

1. member table 생성

create table tbl_member (
	userid varchar(50) not null,
	userpw varchar(50) not null,
	username varchar(50) not null,
	email varchar(100) default '',
	regdate datetime default now(),
	primary key(userid)
);

 

2. MemberVO --> domain에

package org.zerock.domain;

import lombok.Data;

@Data
public class MemberVO {

	private String userid;
	private String userpw;
	private String username;
	private String email;
	private String regdate;
}

 

3. MemberDAO.java

package org.zerock.persistence;

import org.zerock.domain.MemberVO;

public interface MemberDAO {

	public void create(MemberVO vo) throws Exception; //회원가입
}

 

4. MemberDAOImpl.java

package org.zerock.persistence;

import javax.inject.Inject;

import org.apache.ibatis.session.SqlSession;
import org.springframework.stereotype.Repository;
import org.zerock.domain.MemberVO;

@Repository //MemberDAO를 스프링 구조에 인식 시키겠다고 선언
public class MemberDAOImpl implements MemberDAO{

	@Inject
	private SqlSession sqlSession;

	private static final String namespace = "org.zerock.mapper.MemberMapper";

	@Override
	public void create(MemberVO vo) {
		sqlSession.insert(namespace+".insertMember",vo);
	}
}

 

5. memberMapper.xml --> resources 에

<?xml version="1.0" encoding="UTF-8"?>

<!-- db와 관련된 xml 파일임을 인식하기 위해 3줄 필요 -->
<!DOCTYPE mapper 
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">


<!-- namespace : member table의 이름 임의로 정함 -->
<mapper namespace="org.zerock.mapper.MemberMapper">
	<insert id="insertMember">
		insert into tbl_member (userid, userpw, username, email, regdate) values (#{userid},#{userpw},#{username},#{email},#{regdate})
	</insert>
</mapper>

 

6. MemberDAOTest.java --> test/java에

package org.zerock.controller;

import javax.inject.Inject;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.zerock.domain.MemberVO;
import org.zerock.persistence.MemberDAO;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "file:src/main/webapp/WEB-INF/spring/**/root-context.xml" })
public class MemberDAOTest {

	@Inject
	private MemberDAO dao; //부모 클래스 타입으로 객체 선언

	private static Logger logger = LoggerFactory.getLogger(MemberDAOTest.class);
	
	@Test
	public void testInsertMember() throws Exception{
		MemberVO vo = new MemberVO();

		vo.setUserid("1111");
		vo.setUserpw("1111");
		vo.setUsername("park");
		vo.setEmail("1111@nate.com");
		//vo.setRegdate("2023-03-23 10:45:35");

		dao.create(vo);

	}
	
}

 

7. MemberService.java

package org.zerock.service;

import org.zerock.domain.MemberVO;

public interface MemberService {
	public void regist(MemberVO member) throws Exception;
}

 

8. MemberServiceImpl.java

package org.zerock.service;

import javax.inject.Inject;

import org.springframework.stereotype.Service;
import org.zerock.domain.MemberVO;
import org.zerock.persistence.MemberDAO;

@Service
public class MemberServiceImpl implements MemberService {

	@Inject
	private MemberDAO dao;

	@Override
	public void regist(MemberVO member) throws Exception {
		dao.create(member);
	}
}

 

9. MemberController.java

package org.zerock.controller;

import java.text.SimpleDateFormat;

import javax.inject.Inject;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import org.zerock.domain.MemberVO;
import org.zerock.service.MemberService;

@Controller
@RequestMapping("/member/*")
public class MemberController {

	private static final Logger logger = LoggerFactory.getLogger(MemberController.class);

	@Inject
	private MemberService service;
	
	@GetMapping("/join")
	public void joinGET(MemberVO member) throws Exception {
		logger.info("join get ...........");
	}

	@PostMapping("/join")
	public String joinPOST(MemberVO member, RedirectAttributes rttr) throws Exception {
		logger.info("join post ...........");

		//오늘 날짜
		java.util.Date today = new java.util.Date();
		SimpleDateFormat cal = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String signdate = cal.format(today);

		member.setRegdate(signdate);

		logger.info(member.toString());

		service.regist(member);

		return "redirect:/";

	}
	
}

 

10. header.jsp

<a href="/member/login">[로그인]</a>
<a href="/member/join">[회원가입]</a>

 

11. join.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/views/include/header.jsp" %>

<center>
<h3>JOIN PAGE</h3>

<form method="post">
<table>
	<tr>
		<td>아이디</td>
		<td><input name="userid"></td>
	</tr>
	<tr>
		<td>비밀번호</td>
		<td><input name="userpw"></td>
	</tr>
	<tr>
		<td>이름</td>
		<td><input name="username"></td>
	</tr>
	<tr>
		<td>메일</td>
		<td><input type="email" name="email"></td>
	</tr>
	<tr>
		<td></td>
		<td><button type="submit">회원가입</button></td>
	</tr>
</table>
</form>

</center>

<%@ include file="/WEB-INF/views/include/footer.jsp" %>

 

회원가입2

 

* 여태까지 한 건 controller --> serviceimpl --> daoimpl --> mapper의 순서임

 

1. serviceimpl 없이 하고자 하면 --> cotroller에서 daoimpl로 일 바로 던져줌 

  ㄴ> service의 inject 를 controller의 inject로 바꾸기

  ㄴ> service.regist(member) 를 dao.create(member) 로 수정

 

MemberController.java

package org.zerock.controller;

import java.text.SimpleDateFormat;

import javax.inject.Inject;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import org.zerock.domain.MemberVO;
import org.zerock.service.MemberService;

@Controller
@RequestMapping("/member/*")
public class MemberController {

	private static final Logger logger = LoggerFactory.getLogger(MemberController.class);

	@Inject
	private MemberDAO dao;
	
	@GetMapping("/join")
	public void joinGET(MemberVO member) throws Exception {
		logger.info("join get ...........");
	}

	@PostMapping("/join")
	public String joinPOST(MemberVO member, RedirectAttributes rttr) throws Exception {
		logger.info("join post ...........");

		//오늘 날짜
		java.util.Date today = new java.util.Date();
		SimpleDateFormat cal = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String signdate = cal.format(today);

		member.setRegdate(signdate);

		logger.info(member.toString());

		dao.create(member);

		return "redirect:/";

	}
	
}

 

2. controller에서 mapper(sqlsession)으로 바로 일시키기(serviceimpl, daoimpl 둘다 생략)

  ㄴ> daoimpl inject랑 insert 구문 가져오기

 

MemberController.java

package org.zerock.controller;

import java.text.SimpleDateFormat;

import javax.inject.Inject;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import org.zerock.domain.MemberVO;
import org.zerock.service.MemberService;

@Controller
@RequestMapping("/member/*")
public class MemberController {


	@Inject
	private SqlSession session;
    
    
	private static final Logger logger = LoggerFactory.getLogger(MemberController.class);
	private static String namespace = "org.zerock.mapper.BoardMapper"; // 변수처리
	
	@GetMapping("/join")
	public void joinGET(MemberVO member) throws Exception {
		logger.info("join get ...........");
	}

	@PostMapping("/join")
	public String joinPOST(MemberVO member, RedirectAttributes rttr) throws Exception {
		logger.info("join post ...........");

		//오늘 날짜
		java.util.Date today = new java.util.Date();
		SimpleDateFormat cal = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String signdate = cal.format(today);

		member.setRegdate(signdate);

		logger.info(member.toString());

		sqlSession.insert(namespace+".insertMember",member);

		return "redirect:/";

	}
	
}

 

* inject 여러개 쓰려면 --> 각각 어노테이션 해줘야함

@Inject
private MemberService service;
    
@Inject
private MemberDAO dao;

@Inject
private SqlSession sqlSession;

 

로그인1  --> myweb project에서 구현 (db: myweb) 

  ㄴ> service, daoimpl,  controller 전부다 사용해 구현

1. MemberDAO.java

package org.zerock.dao;

import org.zerock.dto.LoginDTO;
import org.zerock.model.MemberVO;

public interface MemberDAO {

	public void create(MemberVO m) throws Exception; // 회원가입 insert
	
	public MemberVO login(LoginDTO dto) throws Exception; // 회원 한명(select)
}

 

2. MemberDAOImpl.java

package org.zerock.dao;

import javax.inject.Inject;

import org.apache.ibatis.session.SqlSession;
import org.springframework.stereotype.Repository;
import org.zerock.dto.LoginDTO;
import org.zerock.model.MemberVO;

@Repository
public class MemberDAOImpl implements MemberDAO{

	@Inject
	private SqlSession sqlSession;
	
	private static final String namespace = "org.zerock.mapper.MemberMapper";

	@Override
	public void create(MemberVO m) throws Exception {
		sqlSession.insert(namespace+".insertMember", m);
	}

	@Override
	public MemberVO login(LoginDTO dto) throws Exception {
		return sqlSession.selectOne(namespace+".login", dto);
	}
	
	
	
	
}

 

3. memberMapper.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="org.zerock.mapper.MemberMapper">
	<insert id="insertMember">
		insert into member (userid, userpw, username, email, signdate) values (#{userid}, #{userpw}, #{username}, #{email}, #{signdate})
	</insert>
	
	<select id="login" resultType="MemberVO">
    	select * from member where userid = #{userid} and userpw = #{userpw}
	</select>
</mapper>

 

4. MemberDAOTest.java 

package org.zerock.controller;

import javax.inject.Inject;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.zerock.dao.MemberDAO;
import org.zerock.dto.LoginDTO;
import org.zerock.model.MemberVO;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "file:src/main/webapp/WEB-INF/spring/**/root-context.xml" })
public class MemberDAOTest {

	@Inject
	private MemberDAO dao;
	
	private static Logger logger = LoggerFactory.getLogger(MemberDAOTest.class);
	
	//@Test
	public void testInsertMember() throws Exception {
		MemberVO m = new MemberVO();
		
		m.setUserid("2222");
		m.setUserpw("2222");
		m.setUsername("이돌이");
		m.setEmail("2222@naver.com");
		m.setSigndate("2023-05-03 10:05:30");
		//logger.info(m.toString());
		//logger.info("join_ok====");
		
		//dao.create(m);
	}
	
	@Test
	public void testlogin() throws Exception {
		
		LoginDTO dto = new LoginDTO();
		
		dto.setUserid("1111");
		dto.setUserpw("1111");
		
		logger.info(dao.login(dto).toString());
	}
	
}

 

5. MemberService.java

package org.zerock.service;

import org.zerock.dto.LoginDTO;
import org.zerock.model.MemberVO;

public interface MemberService {

	public void create(MemberVO m) throws Exception;
	
	public MemberVO login(LoginDTO dto) throws Exception; // 회원 한명(select)
}

 

6. MemberServiceImpl.java

package org.zerock.service;

import javax.inject.Inject;

import org.springframework.stereotype.Service;
import org.zerock.dao.MemberDAO;
import org.zerock.dto.LoginDTO;
import org.zerock.model.MemberVO;

@Service
public class MemberSeriveImpl implements MemberService{

	@Inject
	private MemberDAO dao;

	@Override
	public void create(MemberVO m) throws Exception {
		dao.create(m);
		
	}

	@Override
	public MemberVO login(LoginDTO dto) throws Exception {
		return dao.login(dto);
	}
	
	
	
	
}

 

7. MemberController.java

package org.zerock.controller;

import java.text.SimpleDateFormat;

import javax.inject.Inject;
import javax.servlet.http.HttpSession;
import javax.xml.stream.events.Namespace;

import org.apache.ibatis.session.SqlSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import org.zerock.dto.LoginDTO;
import org.zerock.model.MemberVO;
import org.zerock.service.MemberService;

@Controller
@RequestMapping("/member/*")
public class MemberController {

	private Logger logger = LoggerFactory.getLogger(MemberController.class);
	
	@Inject
	private MemberService service;
	
	@GetMapping("/join")
	public void joinGET(MemberVO m) throws Exception {
		//logger.info("join get=====");
	}
	
	@PostMapping("/join")
	public String joinPOST(MemberVO m, RedirectAttributes rttr) throws Exception {
		logger.info("join post=====");
		
		// 오늘날짜
		java.util.Date today = new java.util.Date();
		SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String signdate = sf.format(today);
		
		m.setSigndate(signdate);
		
		logger.info(m.toString());
		
		service.create(m);
		
		return "redirect:/";
	}
	
	@GetMapping("/login")
	public void loginGET() throws Exception {
		logger.info("login get===");
	}
	
	@PostMapping("/login")
	public String loginPOST(LoginDTO dto, HttpSession session) throws Exception {
		logger.info("login post====");
		logger.info(dto.toString());
		
		MemberVO m = service.login(dto);
		
		if(m != null) {
			session.setAttribute("id", m.getUserid());
			session.setAttribute("name", m.getUsername());
		}
		return "redirect:/";
		
	}
	

	
}

 

8. login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/views/include/header.jsp" %>

<center>
<h3>로그인</h3>

<form method="post">
<table>
	<tr>
		<td>아이디</td>
		<td><input name="userid"></td>
	</tr>
	<tr>
		<td>비밀번호</td>
		<td><input name="userpw"></td>
	</tr>
	<tr>
		<td></td>
		<td><button type="submit">로그인</button></td>
	</tr>
</table>
</form>

</center>

<%@ include file="/WEB-INF/views/include/footer.jsp" %>

 

 

로그인2   --> service, daoimpl 제외하고 controller만으로 구현

 ㄴ> model 2에서는 아이디, 비밀번호 변수 두개를 전달했지만

mybatis를 사용하고, xml인 경우에는 변수 하나밖에 전달못함 그러므로 객체로 전달할 것

 

1. org.zerock.dto 패키지 생성 --> src/main/java에

 

2. LoginDTO.java

package org.zerock.dto;

import lombok.Data;

@Data
public class LoginDTO {

	private String userid;
	private String userpw;
}

 

3. MemberController.java --> 추가

@GetMapping("/login") 
public void loginGET() throws Exception {
    logger.info("login get ...........");
}

@PostMapping("/login")
public String loginPOST(LoginDTO dto, HttpSession session) throws Exception {
    logger.info("login post ...........");
    logger.info(dto.toString());

    MemberVO vo = sqlSession.selectOne(namespace+".login",dto);		

    if(vo != null) {
        session.setAttribute("id", vo.getUserid());
        session.setAttribute("name", vo.getUsername());
    }

    return "redirect:/";
}

 

* dto와 m 둘다 사용한다면 --> 두개 다에 아이디와 비밀번호가 담김(아래 사진 참고)

@GetMapping("/login") 
public void loginGET() throws Exception {
    logger.info("login get ...........");
}

@PostMapping("/login")
public String loginPOST(LoginDTO dto, MemberVO m, HttpSession session) throws Exception {
    logger.info("login post ...........");
    logger.info(dto.toString());
    logger.info(m.toString());

    MemberVO vo = sqlSession.selectOne(namespace+".login",dto);		

    if(vo != null) {
        session.setAttribute("id", vo.getUserid());
        session.setAttribute("name", vo.getUsername());
    }

    return "redirect:/";
}

 

4. memberMapper.xml --> 추가

<select id="login" resultType="MemberVO">
    select * from tbl_member where userid = #{userid} and userpw = #{userpw}
</select>

 

5. login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/views/include/header.jsp" %>

<center>
<h3>LOGIN PAGE</h3>

<form method="post">
<table>
	<tr>
		<td>아이디</td>
		<td><input name="userid"></td>
	</tr>
	<tr>
		<td>비밀번호</td>
		<td><input name="userpw"></td>
	</tr>
	<tr>
		<td></td>
		<td><button type="submit">로그인</button></td>
	</tr>
</table>
</form>

</center>

<%@ include file="/WEB-INF/views/include/footer.jsp" %>

 

6. header.jsp

id : ${sessionScope.id}<br>
name : ${sessionScope.name}<br>

<td align=right>
    <c:choose>
        <c:when test="${sessionScope.id != null }">
            <a href="/member2/logout">[로그아웃]</a>
            <a href="/member2/joinup">[회원수정]</a>
        </c:when>
        <c:otherwise>
            <a href="/member2/login">[로그인]</a>
            <a href="/member2/join">[회원가입]</a>
        </c:otherwise>
    </c:choose>
</td>

 

 

7. MemberController.java --> 수정(else 추가)

@PostMapping("/login")
public String loginPOST(LoginDTO dto, HttpSession session, RedirectAttributes rttr) throws Exception {
    logger.info("login post ...........");
    logger.info(dto.toString());

    MemberVO vo = sqlSession.selectOne(namespace+".login",dto);		

    if(vo != null) {
        session.setAttribute("id", vo.getUserid());
        session.setAttribute("name", vo.getUsername());

        return "redirect:/";
    } else {
        rttr.addFlashAttribute("msg", "아이디나 비밀번호가 올바르지않습니다.");

        return "redirect:login";
    }
}

 

8. login.jsp --> 추가

<script>
	var msg = "${msg}"; //로그인 정보가 틀릴 경우
	
	if(msg != ""){
		alert(msg);
	}
</script>

 

로그아웃

1. MemberController.java --> 추가

@RequestMapping(value = "/logout", method = RequestMethod.GET)
public String logout(HttpSession session) throws Exception {

    session.invalidate();

    return "redirect:/";
}

 

회원수정1

  ㄴ> service, daoimpl,  controller 전부다 사용해 구현

  ㄴ> 전달할 땐 String 변수로, 리턴할땐 MemberVO m 객체

 

1. MemberController.java  --> 추가

@GetMapping("/joinup")
public void joinupGET(MemberVO m, HttpSession session, Model model) throws Exception {
    //logger.info("joinup get====");

    String session_id = (String)session.getAttribute("id");
    //logger.info(session_id);

    m = service.joinup(session_id); // m이라는 객체에 다시 담기(리턴 단계에서)

    model.addAttribute("modify", m); // 객체로 전달(jsp에서 modify.~~~ 로 사용)
}

@PostMapping("/joinup")
public String joinupPOST(MemberVO m, RedirectAttributes rttr) throws Exception {
    logger.info("joinup post======");
    logger.info(m.toString());

    service.update(m);

    rttr.addFlashAttribute("msg", "modify"); // 수정 성공했다면 modify 전달

    return "redirect:joinup";
}

 

2. MemberDAO.java --> 추가

public MemberVO joinup(String m) throws Exception; // 회원 수정 회원 한명

public void update(MemberVO m) throws Exception; // 회원수정

 

3. MemberDAOImpl.java --> 추가

@Override
public MemberVO joinup(String m) throws Exception {
    return sqlSession.selectOne(namespace+".join", m);
}

@Override
public void update(MemberVO m) throws Exception {
    sqlSession.update(namespace+".updateMember", m);
}

 

4. MemberDAOTest.java --> 추가

@Test
public void testjoinup() throws Exception {
    MemberVO m = new MemberVO();

    m.setUserid("1111");
    m.setUserpw("1111");
    m.setUsername("일순이22");
    m.setEmail("1111@naver.com");

    dao.update(m);
    logger.info("수정완료==");
}

 

5. MemberService.java --> 추가

public MemberVO joinup(String m) throws Exception; // 회원 수정 회원 한명
	
public void update(MemberVO m) throws Exception; // 회원수정

 

6. MemberServiceImpl.java--> 추가

@Override
public MemberVO joinup(String m) throws Exception {
    return dao.joinup(m);
}

@Override
public void update(MemberVO m) throws Exception {
    dao.update(m);
}

 

7. memberMapper.xml --> 추가

<select id="join" resultType="MemberVO">
    select * from member where userid = #{session_id}
</select>

<update id="updateMember">
    update member set userpw = #{userpw}, username = #{username}, email = #{email}  where userid = #{userid}
</update>

 

8. joinup.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/views/include/header.jsp" %>

<script>
var msg = "${msg}";

if(msg == "modify"){
	alert("수정 되었습니다.");
}
</script>

<center>
<h3>JOINUP PAGE</h3>

<form method="post">
<table>
	<tr>
		<td>아이디</td>
		<td><input name="userid" value="${modify.userid }" readonly></td>
	</tr>
	<tr>
		<td>비밀번호</td>
		<td><input name="userpw" value="${modify.userpw }"></td>
	</tr>
	<tr>
		<td>이름</td>
		<td><input name="username" value="${modify.username }"></td>
	</tr>
	<tr>
		<td>메일</td>
		<td><input name="email" value="${modify.email }"></td>
	</tr>
	<tr>
		<td></td>
		<td><button type="submit">회원수정</button></td>
	</tr>
</table>
</form>

</center>



<%@ include file="/WEB-INF/views/include/footer.jsp" %>

 

 

회원수정2  --> service, daoimpl 제외하고 controller만으로 구현

 

1. MemberController.java --> 추가

@GetMapping("/joinup")
public void joinupGET(MemberVO member, HttpSession session, Model model) throws Exception {
    logger.info("joinup get ...........");

    String session_id = (String)session.getAttribute("id");

    member = sqlSession.selectOne(namespace+".join",session_id);

    model.addAttribute("modify", member);
}

@PostMapping("/joinup")
public String joinupPOST(MemberVO member, RedirectAttributes rttr) throws Exception {
    logger.info("joinup post ...........");
    logger.info(member.toString());

    sqlSession.update(namespace+".updateMember",member);

    rttr.addFlashAttribute("msg","modify");

    return "redirect:joinup";
}

 

2. memberMapper.xml --> 추가

<select id="join" resultType="MemberVO"> <!-- 한건의 회원데이터 가져오기 -->
    select * from tbl_member where userid = #{session_id}
</select>

<update id="updateMember"> <!-- 회원수정 -->
    update tbl_member set userpw = #{userpw}, username = #{username}, email = #{email}  where userid = #{userid}
</update>

 

3. joinup.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/views/include/header.jsp" %>

<script>
var msg = "${msg}";

if(msg == "modify"){
	alert("수정 되었습니다.");
}
</script>

<center>
<h3>JOINUP PAGE</h3>

<form method="post">
<table>
	<tr>
		<td>아이디</td>
		<td><input name="userid" value="${modify.userid }" readonly></td>
	</tr>
	<tr>
		<td>비밀번호</td>
		<td><input name="userpw" value="${modify.userpw }"></td>
	</tr>
	<tr>
		<td>이름</td>
		<td><input name="username" value="${modify.username }"></td>
	</tr>
	<tr>
		<td>메일</td>
		<td><input name="email" value="${modify.email }"></td>
	</tr>
	<tr>
		<td></td>
		<td><button type="submit">회원수정</button></td>
	</tr>
</table>
</form>

</center>



<%@ include file="/WEB-INF/views/include/footer.jsp" %>

 

 

'JAVA > spring' 카테고리의 다른 글

스프링 첨부파일 구현  (0) 2023.05.08
스프링 댓글 구현  (0) 2023.05.04
스프링 Board 구현_넘버링, 검색  (0) 2023.05.03
스프링 Board 구현_예외처리, 페이징  (1) 2023.05.02
스프링 Board 구현  (0) 2023.04.28
profile

데일리로그C:

@망밍

포스팅이 도움됐다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...