jquery를 이용한 ajax을 통해 controller을 호출해서 return 값을 json으로변경해서 뿌릴려고 하는데요
- 작성자 :
- 박*환
- 작성일 :
- 2012-04-09 16:03:02
- 조회수 :
- 2,641
- 구분 :
- 모바일
- 진행상태 :
- 완료
Q
jquery를 이용한 ajax을 통해 controller을 호출해서 return 값을 json으로변경해서 뿌릴려고 하는데요
일단 메이븐에
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.6</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.6</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
를 추가 하구요
Model 하나 추가 하구요
package com.mkyong.common.model;
public class Shop {
String name;
String staffName[];
//getter and setter methods
}
Controller를 추가합니다.
package com.mkyong.common.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.mkyong.common.model.Shop;
@Controller
@RequestMapping("/kfc/brands")
public class JSONController {
@RequestMapping(value="jsonTest", method = RequestMethod.GET)
public @ResponseBody Shop getShopInJSON(@PathVariable String name) {
Shop shop = new Shop();
shop.setName(name);
shop.setStaffName(new String[]{"mkyong1", "mkyong2"});
return shop;
}
}
이렇게 하면 Controller가 등록 하기 위해서
<context:component-scan base-package="com.mkyong.common.controller" />
xml을 추가 하면 controller가 등록을 하는데
이상하게 controller가 호출이 안됩니다.
아주 기초적인 코드인데 안되는거 같아서 아마 xml 설정 부분에 먼가 안맞아서 그런거 같은데 도저히 어떤건지 모르겠어요
전자정부프레임워크 관련 내용이 아닌거 같지만 안에 설정이랑 얶혀이있는거 같아 질문 올립니다.
한번 확인 부탁 드릴게요
해당 소스 링크도 올리겠습니다.
http://blog.naver.com/hun229?Redirect=Log&logNo=150134538838
일단 메이븐에
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.6</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.6</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
를 추가 하구요
Model 하나 추가 하구요
package com.mkyong.common.model;
public class Shop {
String name;
String staffName[];
//getter and setter methods
}
Controller를 추가합니다.
package com.mkyong.common.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.mkyong.common.model.Shop;
@Controller
@RequestMapping("/kfc/brands")
public class JSONController {
@RequestMapping(value="jsonTest", method = RequestMethod.GET)
public @ResponseBody Shop getShopInJSON(@PathVariable String name) {
Shop shop = new Shop();
shop.setName(name);
shop.setStaffName(new String[]{"mkyong1", "mkyong2"});
return shop;
}
}
이렇게 하면 Controller가 등록 하기 위해서
<context:component-scan base-package="com.mkyong.common.controller" />
xml을 추가 하면 controller가 등록을 하는데
이상하게 controller가 호출이 안됩니다.
아주 기초적인 코드인데 안되는거 같아서 아마 xml 설정 부분에 먼가 안맞아서 그런거 같은데 도저히 어떤건지 모르겠어요
전자정부프레임워크 관련 내용이 아닌거 같지만 안에 설정이랑 얶혀이있는거 같아 질문 올립니다.
한번 확인 부탁 드릴게요
해당 소스 링크도 올리겠습니다.
http://blog.naver.com/hun229?Redirect=Log&logNo=150134538838
A
안녕하세요.. 박기환님..
아마도 <context:component-scan base-package="com.mkyong.common.controller" /> 설정 부분이 Spring container에 의해 지정된 설정 파일 상에 포함되어 있지 않은 것 같습니다.
web.xml에 보시면.. contextConfigLocation로 지정된 xml 파일이 두 곳 있습니다.
이 xml 파일 중에.. 위 component-scan 설정이 포함되어 있는지 확인하시면 되실 것 같습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.
아마도 <context:component-scan base-package="com.mkyong.common.controller" /> 설정 부분이 Spring container에 의해 지정된 설정 파일 상에 포함되어 있지 않은 것 같습니다.
web.xml에 보시면.. contextConfigLocation로 지정된 xml 파일이 두 곳 있습니다.
이 xml 파일 중에.. 위 component-scan 설정이 포함되어 있는지 확인하시면 되실 것 같습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.