-
@Controller 객체를 생성하는 경우에는 @RequestMapping을 사용하므로 쌍으로 기억해두자
이 @RequestMapping에서 맵핑해주는 것을 정확히 이해해야한다.
중복되거나 값이 추가될 때 복잡해질 수 있기에 주의하자.
일단 login이라는 html을 만들어준다.
form 태그를 많이 사용하기에
<form action="/login/member/memLogin" method="post>
ID: <input type=text" name="memId"><br>
PW: <input type="password" name="memPw"><br>
<input type="submit value="Login>
</form>
<a href="/login/resources/html/memlogin.html">JOIN</a>
으로 로그인 창을 만들면
이 사용자의 요청을 받는 것을 만들어야한다.
@Controller를 입력하고
@RequestMapping(value="memLogin", method=RequestMethod.Post)
public String memLogin(Model model, HttpServletRequest request){
String memId = request.getParameter("memId");
String memPw = request.getParameter("memPw");
Member member = service.memberSearch(memId, memPw);
try{
model.addAttribute("memId", member.getMemId());
model.addAttribute("memPw", member.getMemPw());
{catch(Exception e){
e.printStackTrace();
}
return "memLoginOk";
}
}
}
getParameter() 메서드로 받거나
어노테이션을 이용해서 @RequestParam("memId") String memId 로
아예 getParameter() 메서드를 생략하고 @RequestParam이라는 어노테이션으로 form 요소의 name 속성값을 갖고와서 직접 사용할 수 있다.
또한, @RequestParam(value="memPw", required=false, defaultValue="1234") String memPw);
처럼 비밀번호가 필수이냐에따라서 필수일 경우 true를 입력할 수 있다.
만약 데이터가 제대로 넘어오지 않을 경우 defaultValue를 입력하면 디폴트 값이 저장된다.
아예 객체들이 담긴 하나의 클래스를 객체로 받아 올 수도 있다.
public String memJion(Member member){
//member 클래스안에 객체들이 모여있다. //
service.memberRegister(member.getMemId(),member.getMemPw(),member.getMemMail());
//addAttribute가 생략될 수 있다.//
}
으로 직접 커맨드 객체를 사용하여 get으로 받아와서 코드량을 줄일 수 있다.
이렇게 커맨드 클래스를 객체로 받으면 JSP파일에서 ${클래스명.memId} 같이 addAttribute로 생략할 수 있는 것들을 직접 JSP에서 받아올 수 있다.
'JSP&스프링 > 스프링 키포인트' 카테고리의 다른 글
[스프링] 리다이렉트 & 인터셉트의 정의와 예시문 만들기 (0) 2023.01.31 [스프링] 클라이언트와 서버와의 관계에서 쿠키와 세션의 정의와 쿠키와 세션에 관련된 어노테이션 예시문으로 정리하기 (0) 2023.01.30 [스프링] Service 와 DAO 객체를 만들고 어노테이션으로 사용해보는 예시문 만들기 (0) 2023.01.30 [스프링] Controller와 view를 사용하여 로그인 key- value 값 연동하는 연습문 만들기 (0) 2023.01.29 [스프링] 스프링 MVC의 정의와 순서 그리고 Controller와 view의 설정 방식 정리하기 (0) 2023.01.29 댓글