티스토리 뷰
1. HttpServletRequest Class
- HttpServletRequest는 사용자가 요청한 데이터 들이 들어있음
- Model 객체는 데이터를 담아서 View쪽으로 넘길때 사용하는것
Ex)
localhost:3000/board/write/confirmId?id=kgh&pw=1234 라고 클라이언트 측에서 요청을 하였을 경우
id,pw의 정보가 HttpServletRequest로 넘어오게 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | @RequestMapping("board/confirmId") public String confirmId(HttpServletRequest httpSetvletRequest,Model model){ String id = httpServletRequest.getParameter("id"); String pw = httpServletRequest.getparameter("pw"); model.addAttribute("identify",id); model.addAttribute("password",pw); return "board/confirmId"; } | cs |
마찬가지로 jsp파일에서
id:${id}
pw:${pw} 이런식으로 사용을 할 수 있음.
이때, 클라이언트 요청 파라미터를 직접 주지않으면 값이 넘어 오지않는것을 알수 있다.
그래서, localhost:3000/board/write/confirmId?id=kgh&pw=1234 이런식으로 해야 값이 넘어온다.
2. RequestParam 어노테이션 활용하기
위의 방식과 유사하나 쓰이는 방법이 좀 다르다.
예제를 보도록 하자.
1 2 3 4 5 6 7 8 9 10 | @RequestMapping("/board/checkId") // Requestparam을 사용하게되면 값을 바로 받을 수 있다. 따라서 위와 다르게 파라미터에서 바로 처리할 수 있으므로, checkId안에다가 getParameter를 사용하여 지정해줄 필요가 없다 public String checkId(@RequestParam("id") String id,@RequestParam("pw") int pw,Model model){ model.addAttribute("Identify",id); model.addAttribute("password",pw); return "/board/checkId"; } | cs |
=> 위에는 파라미터가 없어도 화면이 나오게되었지만, RequestParam의 경우 계속 파라미터를 받기위한 대기를 하고 있으므로, 404 에러를 띄우게 된다. 결국 , 파라미터를 지정해주어야지 바로 나타날 수 있다.
3. Data Command Object
위의 방법대로 하면 파라미터수가 엄청많이 증가하게된다면 되게 코드양이 길어지게 되는데 이것의 해결책은? 데이터 커멘트 객체를 사용하면 된다.
예제를 통해 알아 보자(단, Member Class 이름,아이디,패스워드,이메일의 setter,getter가 정의 되어있다고 가정)
1 2 3 4 5 6 | @RequestMapping("join/form") public String join(@RequestParam(Member member){ return "member/form"; // member 클래스의 객체를 return Value 로 넘겨주게 한다. } | cs |
=>이런식으로 Member클래스의 객체를 넘겨주게 되면, Member의 선언된 필드의 이름과 동일 해야한다!
.jsp 파일에서는
1 2 3 4 | name :${member.name} <br /> id :${member.id} <br /> pw :${member.pw}<br /> email:${member.id}<br /> | cs |
이런식으로 사용할 수 있게된다. 1,2번 처럼 복잡하게 사용하던것들을 간단하게 처리할 수 있다는 장점이 있으므로, 현업에서 자주 쓰이는 방식이다.
4. PathVariable 어노테이션
PathVariable 어노테이션을 사용하게 될경우 경로(path)에 변수를 넣어 요청메소드에서 파라미터로 이용할 수 있음.
잘쓰이지는 않으나 한번 써보기는 해보자
예제)
1 2 3 4 5 6 7 8 9 10 | @RequestMapping("/student/studentId") public String getStudent(@PathVariable String studentId,Model model){ model.addAttribute("studentId",studentId"); return "/student/studentId"; } Request path : localhost:3000/ex/student/studentId/10 Result : student : 10 | cs |
이런식으로 결과가 나오는것을 알 수 있음.
Request path값이 RequestMapping 으로 들어 가는것을 확인 할 수 있음.
따라서, 그값을 반환하면서 View Page에서 값을 출력 하는 결과이다.
'Spring' 카테고리의 다른 글
[Spring] Cannot load JDBC driver class 'com.mysql.jdbc.Driver / tomcat 404 error(spring - No mapping found for HTTP request with URI)해결하기 (0) | 2018.03.13 |
---|---|
[Spring] MVC - 게시판 만들기 2(게시판 기본 설계) (0) | 2018.03.12 |
[Spring] Form data value validation (0) | 2018.03.05 |
[Spring] RequestMapping Parameter (0) | 2018.03.05 |
[Spring] Controller and Mapping (0) | 2018.03.05 |
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 복습
- Algorigm
- TensorFlow
- BFS
- 텐서플로우
- 리버싱
- db
- node
- C langauge
- 초보자를 위한 C언어 300제
- 감자코딩
- programming
- Spring
- C언어
- 안드로이드
- 알고리즘
- Controller
- MVC
- 개발하는 관광이
- 학교
- 머신러닝
- Android
- 백준알고리즘
- 감자개발자
- 스프링
- 코드엔진
- node.js
- 프로그래밍
- 백준
- 노드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함