主要是ssm整合配置文件,以及Jar的问题
1.前提条件
ssm相关整合文件没问题,包扫描的路径都没问题,注解驱动也启动了
SpringMvc 管理Controller的包
Spring 管理非Controller的包(个人习惯,也可以Mybatis管理Dao包)
2.在SpringMvc配置文件中加入
<!-- 支持返回json(避免IE在ajax请求时,返回json出现下载),@responseBody-(数据绑定)-messageConverters -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="mappingJacksonHttpMessageConverter"/>
</list>
</property>
</bean>
<!-- 前端Json转换器 -->
<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<bean class="org.springframework.http.MediaType">
<constructor-arg index="0" value="text"/>
<constructor-arg index="1" value="plain"/>
<constructor-arg index="2" value="UTF-8"/>
</bean>
<bean class="org.springframework.http.MediaType">
<constructor-arg index="0" value="*"/>
<constructor-arg index="1" value="*"/>
<constructor-arg index="2" value="UTF-8"/>
</bean>
<bean class="org.springframework.http.MediaType">
<constructor-arg index="0" value="text"/>
<constructor-arg index="1" value="*"/>
<constructor-arg index="2" value="UTF-8"/>
</bean>
<bean class="org.springframework.http.MediaType">
<constructor-arg index="0" value="application"/>
<constructor-arg index="1" value="json"/>
<constructor-arg index="2" value="UTF-8"/>
</bean>
</list>
</property>
</bean>
3.增加相应的MappingJackson2HttpMessageConverter的三个jackson依赖包
注意:我的Spring是 4.X版本的
<!-- Jackson fastjson-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.5.2</version>
</dependency>
4.xxxController.java
请看清楚下面的的注解是否都有写了
@Controller
@RequestMapping("/xxx")
@RequestMapping(value = "/xxx", method = RequestMethod.GET)
@ResponseBody
例子:
@Controller
@RequestMapping("/xxx")
public class CklController {
@Autowired
private UserService userService;
@RequestMapping(value = "/list", method = RequestMethod.GET)
@ResponseBody
private Map<String, List<User>> list() {
Map<String, List<User>> map = new HashMap<String, List<User>>();
map = this.userService.getAllUser();
return map;
}
}