Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- JSTL
- xml
- Servlet
- 스프링프레임워크
- java annotation
- Database
- 프로그래밍용어
- JSP
- XML DOM
- 카카오APi
- 데이터베이스
- 반응형웹
- Request/Response Header
- 자바
- HTTP
- java컴파일
- Session
- 데이터규정
- 세션
- 데이터포맷
- 자바스크립트
- Ajax
- Multipart
- 웹프로그래밍
- JavaScript
- 공문서작성규정
- Java
- 데이터문서포맷
- XML Core
- xml mapping
Archives
- Today
- Total
KyungHwan's etc.
스프링프레임워크 - View에서 Parameter 값 받기(@RequestBody, HttpServletRequest request) 본문
Java/스프링프레임워크
스프링프레임워크 - View에서 Parameter 값 받기(@RequestBody, HttpServletRequest request)
KyungHwan_0 2018. 6. 21. 09:47View에서 파라미터 값을 컨트롤러로 받아오는 방법중에 두가지 방법이 있는데,
@RequestBody 어노테이션을 이용하여 가져오거나 HttpServletRequest 객체를 이용하여 가져오는 방법이 있다. 두가지 차이점이 있는데,
@RequestBody -> POST 방식
HttpServletRequest -> GET 방식
@RequestBody 어노테이션은 HTTP헤더 바디에 있는 데이터를 가져오기 때문에, POST 방식에서 파라미터값을 받아올때 사용된다.
HttpServletRequest객체에 request로 는 URL에 파라미터값을 가져와서 GET방식에서 사용된다. HttpServletRequest객체를 사용해 POST 방식으로도 사용할수 있으나, form 태그를 사용해야 하기 때문에, 보통 @RequestBody 어노테이션을 이용하여 간편하게 가져온다.
1. @RequestBody
var logincheck = {
"id": $("#--id").val().trim(),
"pass": $("#--pass").val().trim(),
};
$.ajax({
url : 'logincheck', //내가 보내는 서버주소(컨트롤러)
dataType : 'text', //내가 서버로 부터 리턴받는 데이터 형태
type : 'POST',
contentType : 'application/json; charset=UTF-8', //보내는 데이터 형태
data : JSON.stringify(logincheck), //내가 서버로 보내는 데이터
success: function (data) {
if (data == "OK") {
location.replace("main");
View에서 AJAX를 통해 컨트롤러로 파라미터값을 전송한다.
("/logincheck")
public String logincheck(Model model, HttpSession session, String paramData) throws ParseException{
// @RequestBody을 이용하여 paramData 스트링값으로 파라미터값을 가져온다
System.out.println("로그인체크창 접속");
System.out.println("반응:"+paramData);
JSONParser parser = new JSONParser(); //–JSON Parser 생성
JSONObject jsonObj = (JSONObject)parser.parse(paramData); //– 넘어온 문자열을 JSON 객체로 변환
컨트롤러에서 @RequestBody String paramData 을 선언하여, 파라미터를 가져올 인자를 설정하고, 가져올 인자를 토대로 파라미터값을 가져온다.
2. HttpServletRequest
<a href="delete?num=${dto.num}">삭제</a></div>
<a href="wwritereupdate?num=${dto.num}">수정</a></div>
View상에서 URL을 통해 파라미터를 넘긴다. 여기서 주목해야 할점은 delete?num=${dto.num} URL 에서 ?(물음표) 앞인 delete 로 컨트롤러는 매핑된다는 점이다.
("/delete")
public String delete(HttpServletRequest request, Model model){
IDao dao = sqlSession.getMapper(IDao.class);
dao.deletelist(request.getParameter("num"));
//URL로 넘어온 num값인 ${dto.num} 파라미터를 가져온다
return "redirect:main";
}
컨트롤러에서 HttpServletRequest 객체에서 request.getParameter("num")을 이용해 num에 파라미터 값을 가져와서 사용한다.
'Java > 스프링프레임워크' 카테고리의 다른 글
스프링프레임워크 - ModelAndView (0) | 2018.06.21 |
---|---|
스프링프레임워크 - 디스패처(Dispatcher)가 뷰(View)를 찾는 방법 (0) | 2018.06.21 |
스프링프레임워크(@RequestBody 와 @ResponseBody 및 AJAX & JSON 연동) (0) | 2018.06.12 |
스프링프레임워크 - Spring Framework: annotation 정리 (0) | 2018.06.01 |
스프링프레임워크 -Mybatis (0) | 2018.05.31 |
Comments