//1) @RequestMapping(value="login.do",method=RequestMethod.POST) public ModelAndView loginProc(HttpServletRequest req) { String id=req.getParameter("id"); String pw=req.getParameter("pw"); }//loginProc() end
//2) @RequestMapping(value="login.do",method=RequestMethod.POST) public ModelAndView loginProc(@RequestParam("id") String id, @RequestParam("pw") String pw) { }//loginProc() end
//3) @RequestMapping(value="login.do",method=RequestMethod.POST) public ModelAndView loginProc( String id,String pw) { }//loginProc() end
//4)DTO(VO) 객체가 오면 반드시 getter, setter 함수가 있어야 한다 @RequestMapping(value="login.do",method=RequestMethod.POST) public ModelAndView loginProc(LoginVO vo) {
}//loginProc() end
▲ 이전 게시물에서 배웠던 저 4가지의 처리방법 말고 한꺼번에 처리하는 방식도 존재한다
요청한 정보 동시 처리 방식
package kr.co.basicspring.test03;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
@Controller //URL에서 요청한 명령어를 처리하는 클래스
//<-스프링컨테이너(서버)에 의해서 자동으로 객체 생성된다.
public class LoginCont {
public LoginCont() {
System.out.println("-------------------------------LoginCont() 객체생성됨");
}//LoginCont end
//결과확인
//http://localhost:8090/basicspring/login.do
@RequestMapping(value="login.do",method=RequestMethod.GET)
public String loginForm() {
// /WEB-INF/views/login/loginForm.jsp
return "login/loginForm";
}//loginForm() end
@RequestMapping(value="login.do",method=RequestMethod.POST)
public ModelAndView loginProc(LoginVO vo,HttpServletRequest req,HttpSession session){
String id=vo.getId();
String pw=vo.getPw();
ModelAndView mav=new ModelAndView();
if(id.equals("겨울밤")&&pw.equals("1234")) {
//로그인 성공
mav.setViewName("login/loginResult");
session.setAttribute("s_id", id);
session.setAttribute("s_pw", pw);
req.setAttribute("msg", "로그인이 되었다~~~~!!!");
}else {
//로그인 실패
mav.setViewName("login/msgView");
mav.addObject("msg", "<p>아이디와 비번이 일치하지 않습니다.</p>");
mav.addObject("link","<a href='javascript:history.back()'>[다시시도]</a>");
}
return mav;
}//loginProc() end
}
▲ 30 line 함수 매개변수를 (LoginVO vo,HttpServletRequest req,HttpSession session) 한꺼번에 올리는 것이 가능하다 ModelAndView 로 이동할 페이지 loginResult 와 msgView 를 만들어 이동을 하자