처음에는 View의 ajax에서 컨트롤러로 데이터는 넘어가는걸 확인했었다.
ㅇㅇㅇ.do URL을 제대로 잡아냈고, ajax에서 보내는 JSON 데이터를 올바르게 읽어오는걸 확인했었는데,
컨트롤러의 return 값을 ajax에서 받지 못하고 URL과 함께 404 에러를 뱉어냈다.
@ResponseBody
@RequestMapping(value="/Result.do", method=RequestMethod.POST)
public String Result(Model model, HttpServletRequest request) {
logger.info("Welcome Result {}");
.
.
.
return "test"
}
위의 상태였는데, 도무지 문제가 될만한 코드를 확인하지 못했다.
이상한건, request에서 파라메터로 ajax에서 보낸 값을 잘 받아내고도 404 에러가 났다는거였는데
도무지, 이해가 안되서 그날은 머리를 쥐어뜯으며 작업을 포기했더랬다.
이후, 알아낸 문제는
JACKON 의 부재
였다..... = _=;;
평소 작업 시, 대부분 라이브러리가 완비되어있는 상태다보니, 이런 경우를 생각하지 못했다.
pom.xml에 아래 내용을 추가하여 에러를 해결 할 수 있었다.
<!-- JACKSON -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
그러고나서 이번에는 ajax에서 보낸 값이 컨트롤러에 안찍히는 문제가 발생했다...
이거완전.........
그나마 이번에는 쉽게 잡을 수 있었는데,
ajax 소스에서 dataType과, contentType를 명시해줘서 해결 할 수 있었다.
$.ajax({
url: "/Result.do",
data: senddata,
dataType: "json", //중요
type: "POST",
contentType : 'application/x-www-form-urlencoded; charset=UTF-8', //중요
success : function(data){
alert("성공")
console.log(data);
},
error : function(){
alert("에러")
}
});
오늘의 삽질은 여기까지....ㅎㅎㅎ
이전에 타이젠 웹 프로젝트를 개발하면서
PL님이 javascript만 사용하셨었는데,
가끔 jquery가 쉬워서? 코드를 집어넣으면
"jquery 를 나보다 많이 알면 써도 된다. 이 코드로 인해 에러나면 니가 책임지실?"
이 말에 입도뻥끗 못하고 작성했던 코드를 싹다 javascript로 바꿧던적이 있다.
덕분에 javascript랑 div 다루는건 정말 많이 배웠고,
지금까지도 그 PL님에게는 고맙고 감사하게 생각한다.
요즘은... 필요하면 넣고~ javascript로 코드 길어진다~ 싶으면 jquery로 다 때려넣는다.
javascript가 좋긴한데, 분명 한계는 존재한다고 생각한다.
단적인 예로, 비동기통신....
처음에 javascript로 새창 띄웠다가 데이터 보내고, 닫는 형식으로 개발해놓고 보여줬다가
jquery로 다시 넣었던 기억이 난다.
'Dev's > Web' 카테고리의 다른 글
[Dev's]Spring 에서 SQL 로그를 확인할 수 있는 환경 만들기 (0) | 2020.12.24 |
---|---|
[Dev's]톰캣7 war 배포 시, Unsupported major.minor version 52.0 에러 (0) | 2020.12.23 |
[Dev's]시놀로지에 내 웹 프로젝트 배포해보기(3) (0) | 2020.12.17 |
[Dev's]시놀로지에 내 웹 프로젝트 배포해보기(2) (0) | 2020.12.16 |
[Dev's]내 PC를 SVN 호스트로 만들어서 팀원들과 사용하기 (0) | 2020.12.08 |