P12_myweb
com.web.root.member...
MemberController
package com.web.root.member.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
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.bind.annotation.RequestParam;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.web.root.member.dto.MemberDTO;
import com.web.root.member.service.MemberService;
import com.web.root.session.name.MemberSession;
@Controller
@RequestMapping("member")
public class MemberController implements MemberSession{
@Autowired
private MemberService ms;
@GetMapping("login")
public String login() {
return "member/login";
}
@GetMapping("register_form")
public String registerform() {
return "member/register";
}
@PostMapping("regist")
public String regist(HttpServletRequest request, RedirectAttributes ra) {
int result = ms.usercheck(request);
if(result ==1 ||result == 2) {
ra.addFlashAttribute("a",result);
return "redirect:register_form";
}
int result2 = ms.insert(request);
if(result2 ==1 ) {
ra.addFlashAttribute("result", result2);
System.out.println("성공");
} else {
ra.addFlashAttribute("result", result2);
System.out.println("실패");
}
return "redirect:login";
}
@GetMapping("minfo")
public String minfo(HttpSession session) {
if(session.getAttribute(LOGIN) != null) {
return "redirect:memberInfo";
}
return "redirect:login";
}
@GetMapping("info")
public String info(@RequestParam("id") String id, Model model) {
ms.info(id,model);
return "member/info";
}
@PostMapping("user_check")
public String userCheck(HttpServletRequest request, RedirectAttributes ra) {
int result = ms.usercheck(request);
if(result == 1) {
ra.addAttribute("id", request.getParameter("id"));
return "redirect:successLogin";
}
return "redirect:login";
}
@RequestMapping("successLogin")
public String successLogin(@RequestParam("id") String id, HttpSession session) {
session.setAttribute(LOGIN, id);
return "member/successLogin";
}
@GetMapping("logout")
public String logout(HttpSession session) {
if(session.getAttribute("loginUser") != null) {
session.invalidate();
}
return "redirect:/index";
}
@GetMapping("memberInfo")
public String memberInfo(Model model) {
ms.memberInfo(model);
return "member/memberInfo";
}
}
MemberDTO
package com.web.root.member.dto;
public class MemberDTO {
private String id;
private String pw;
private String addr;
public MemberDTO() {
super();
}
public MemberDTO(String id, String pw, String addr) {
super();
this.id = id;
this.pw = pw;
this.addr = addr;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getpw() {
return pw;
}
public void setpw(String pw) {
this.pw = pw;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
@Override
public String toString() {
return "[ id = " + id + ", pw = " + pw + ", addr = " + addr + " ]";
}
}
MemberInterceptor
package com.web.root.member.interceptor;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import com.web.root.session.name.MemberSession;
public class MemberInterceptor extends HandlerInterceptorAdapter implements MemberSession{
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
HttpSession session = request.getSession();
if(session.getAttribute(LOGIN) == null) {
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<script>"
+ "alert('로그인 하세요');"
+ "location.href='" + request.getContextPath() + "/member/login'"
+ "</script>");
return false;
}
return true;
}
}
MemberService
package com.web.root.member.service;
import java.util.ArrayList;
import javax.servlet.http.HttpServletRequest;
import org.springframework.ui.Model;
import com.web.root.member.dto.MemberDTO;
public interface MemberService {
public int usercheck(HttpServletRequest request);
public int insert(HttpServletRequest request);
public void memberInfo(Model model);
public void info(String id, Model model);
}
MemberServiceImpl
package com.web.root.member.service;
import java.util.ArrayList;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.ui.Model;
import com.web.root.member.dto.MemberDTO;
import com.web.root.mybatis.member.MemberMapper;
@Service
public class MemberServiceImpl implements MemberService{
@Autowired
private MemberMapper mm;
@Override
public int usercheck(HttpServletRequest request) {
MemberDTO dto = mm.usercheck(request.getParameter("id"));
if(dto != null) {
if(request.getParameter("pw").equals(dto.getpw())) {
return 1;
} else return 2;
}
return 0;
}
@Override
public int insert(HttpServletRequest request) {
int su = mm.insert(request.getParameter("id"), request.getParameter("pw"), request.getParameter("addr"));
if(su != 0) {
return 1;
}
return 0;
}
@Override
public void memberInfo(Model model) {
model.addAttribute("memberList", mm.memberInfo());
}
@Override
public void info(String id, Model model) {
MemberDTO dto = mm.usercheck(id);
model.addAttribute("member", dto);
}
}
com.web.root.mybatis
MemberMapper
package com.web.root.mybatis.member;
import java.util.ArrayList;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.web.root.member.dto.MemberDTO;
@Mapper
public interface MemberMapper {
public MemberDTO usercheck(String id);
public int insert(@Param("id") String id, @Param("pw") String pw, @Param("addr") String addr);
public ArrayList<MemberDTO> memberInfo();
}
MemberSession
package com.web.root.session.name;
public interface MemberSession {
static final String LOGIN = "loginUser";
}
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="com.web.root.mybatis.member.MemberMapper">
<resultMap type="com.web.root.member.dto.MemberDTO" id="member">
<id property="id" column="id"/>
<result property="pw" column="pw"/>
<result property="addr" column="addr"/>
</resultMap>
<select id="usercheck" resultMap="member">
SELECT * FROM membership WHERE id=#{id}
</select>
<insert id="insert">
INSERT INTO membership VALUES(#{id },#{pw },#{addr })
</insert>
<select id="memberInfo" resultMap="member">
SELECT * FROM membership
</select>
</mapper>