Spring/Study 2020. 4. 17. 19:54

(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)

 

@RequestMapping을 이용한 URL 매핑

@RequestMapping 어노테이션은 http request로 들어오는 URL을 특정 Controller 클래스나 메소드로 연결시켜주는 역할을 한다.

@RequestMapping(value="/memJoin", method=RequestMethod.GET)과 같이 value와 method 속성을 사용할 수 있는데, method의 Default 값은 GET이므로 method를 명시하지 않으면 자동으로 GET 요청을 처리한다.  method 없이 value만 사용할 경우 이름을 생략하여 @RequestMapping("memJoin")과 같이 사용 가능하다.

메소드에 @RequestMapping 적용

public class MemberController {
    @Resource(name="memService")
    MemberService service;
    
    @RequestMapping(value="/member/memLogin", method=RequestMethod.POST)    
    public String memLogin(Model model, HttpServletRequest request) {
        String memId = request.getParameter("memId");
        String memPw = request.getParameter("memPw");
        
        model.addAttribute("memId", memId);
        model.addAttribute("memPw", memPw);        
        
        return "memLoginOk";
    }
}
cs

클래스에 @RequestMapping 적용

@RequestMapping("/member")
public class MemberController {
    @Resource(name="memService")
    MemberService service;
    
    @RequestMapping(value="/memLogin", method=RequestMethod.POST)    
    public String memLogin(Model model, HttpServletRequest request) {
        String memId = request.getParameter("memId");
        String memPw = request.getParameter("memPw");
        
        model.addAttribute("memId", memId);
        model.addAttribute("memPw", memPw);        
        
        return "memLoginOk";
    }
}
cs

 

요청 파라미터

HttpServletRequest 객체를 이용한 HTTP 전송 정보 얻기

login.html

ID : <input type="text" name="memId" ><br />
PW : <input type="password" name="memPw" ><br />
cs

MemberController.java

@RequestMapping("/member")
public class MemberController {
    @Resource(name="memService")
    MemberService service;
 
    @RequestMapping(value="/memLogin", method=RequestMethod.POST)    
    public String memLogin(Model model, HttpServletRequest request) {
        String memId = request.getParameter("memId");
        String memPw = request.getParameter("memPw");
        
        model.addAttribute("memId", memId);
        model.addAttribute("memPw", memPw);        
        
        return "memLoginOk";
    }
}
cs

 

@RequestParam 어노테이션을 이용한 HTTP 전송 정보 얻기

login.html

ID : <input type="text" name="memId" ><br />
PW : <input type="password" name="memPw" ><br />
cs

MemberController.java

@RequestMapping(value="/memLogin", method=RequestMethod.POST)
public String memLogin(Model model, @RequestParam("memId"String memId, @RequestParam("memPw"String memPw) {    
    Member member = service.memberSearch(memId, memPw);
        
    model.addAttribute("memId", member.getMemId());
    model.addAttribute("memPw", member.getMemPw());
                
    return "memLoginOk";
}
cs

 

커멘드 객체를 이용한 HTTP 전송 정보 얻기

memJoin.html

<form action="/lec18/member/memJoin" method="post">
    ID : <input type="text" name="memId" ><br />
    PW : <input type="password" name="memPw" ><br />
    MAIL : <input type="text" name="memMail" ><br />
    PHONE : <input type="text" name="memPhone.memPhone1" size="5"> -
            <input type="text" name="memPhone.memPhone2" size="5"> -
            <input type="text" name="memPhone.memPhone3" size="5"><br />
    AGE : <input type="text" name="memAge" size="4"><br />
            <input type="submit" value="Join" >
            <input type="reset" value="Cancel" >
</form>
cs

Member.java

public class Member {
    private String memId;
    private String memPw;
    private String memMail;
    private MemPhone memPhone;
    
    public String getMemId() {
        return memId;
    }
    public void setMemId(String memId) {
        this.memId = memId;
    }
    public String getMemPw() {
        return memPw;
    }
    public void setMemPw(String memPw) {
        this.memPw = memPw;
    }
    public String getMemMail() {
        return memMail;
    }
    public void setMemMail(String memMail) {
        this.memMail = memMail;
    }
    public MemPhone getMemPhone() {
        return memPhone;
    }
    public void setMemPhone(MemPhone memPhone) {
        this.memPhone = memPhone;
    }
}
cs

MemberController.java

@RequestMapping(value="/memJoin", method=RequestMethod.POST)
public String memJoin(Member member) {    
    service.memberRegister(member);        
    return "memJoinOk";
}
cs

memberJoinOk.jsp

 

ID : ${member.memId}<br />

PW : ${member.memPw}<br />

Mail : ${member.memMail} <br />

Phone : ${member.memPhone.memPhone1} - ${member.memPhone.memPhone2} - ${member.memPhone.memPhone3}<br />

 

cs

posted by DevMoomin
: