文章目录
- 配置注解需要扫描的位置 <context:component-scan base-package="org.djd.Controller"/> 配置处理器映射 <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> 配置注解适配器 调用被注解的controller <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/> 处理器映射和注解适配器 注册一行代替 <mvc:annotation-driven/> <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd"> <!--配置注解扫描位置--> <context:component-scan base-package="org.djd.Controller"/> <!--等同以下注册--> <mvc:annotation-driven/> <!--<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>--> <!--<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>--> <!--配置springmvc视图--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views"/> <property name="suffix" value=".jsp"/> </bean></beans>
- 将Controller类注解 相当于Spring配置文件bean
- 配置在class上可以用于自定义访问根路径 其次配置在方法上 @RequestMapping(“list”)@RequestMapping(“/list.do”)@RequestMapping(value=”/list.do”)@RequestMapping(value = "/list3",method=RequestMethod.POST) 只能使用POST方法@RequestMapping(value = "/list3",method=RequestMethod.Get) 只能使用GET方法
- 如果使用url传参 可以使用?追加到url之后 也可以使用{}匹配 使用@PathVariable注解方法的参数 <a href="${pageContext.request.contextPath}/user/update/${user.userid}">修改</a> @RequestMapping("update/{userid}")public String update(@PathVariable Integer userid){ return "/user/success";} 后缀不加do 在web.xml文件中配置rest路径 访问路径添加rest <a href="${pageContext.request.contextPath}/rest/user/update/${user.userid}">修改</a>
- 用于规定参数默认值 public String update(@RequestParam(value = "userid",required = true,defaultValue = "1") Integer userid){ return "/user/success"; } RequestParam 参数描述 value 参数名称 defaultValue 默认值 required 参数是否必须有值 如果为true 参数又为空 会报错
- RequestBody 注解 将前端传来的json数据转化为pojo对象 ResponseBody注解 将后端返回的json数据自动封装为javaBean 1,导入json处理的相关jar包jackson-core-asl.jar和jackson-mapper-asl.jar 2,在SpringMvc配置文件中配置json转换器 <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"> <property name="messageConverters"> <!--配置json转换器--> <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/> </property> </bean> 3,使用jquery ajax上传json数据到后端 4,后端使用注解接收json数据封装返回 @Controller@RequestMapping("/user")public class Controller01 { @RequestMapping("test") public @ResponseBody User test(@RequestBody User user){ /* * 首先前端传来的json数据自动封装为User对象 * retun user时 ResponseBody注解会将user转为json数据返回 */ return user; }} 注:一般情况下 直接使用表单提交不需要使用RequestBody注解 SpringMVC会自动封装对象。但常使用ResponseBody注解返回json数据
配置注解需要扫描的位置
<context:component-scan base-package="org.djd.Controller"/>
配置处理器映射
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
配置注解适配器 调用被注解的controller
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
处理器映射和注解适配器 注册一行代替
<mvc:annotation-driven/>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
<!--配置注解扫描位置-->
<context:component-scan base-package="org.djd.Controller"/>
<!--等同以下注册-->
<mvc:annotation-driven/>
<!--<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>-->
<!--<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>-->
<!--配置springmvc视图-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
将Controller类注解 相当于Spring配置文件bean
将Controller类注解 相当于Spring配置文件bean
配置在class上可以用于自定义访问根路径
其次配置在方法上
@RequestMapping(“list”)
@RequestMapping(“/list.do”)
@RequestMapping(value=”/list.do”)
@RequestMapping(value = "/list3",method=RequestMethod.POST) 只能使用POST方法
@RequestMapping(value = "/list3",method=RequestMethod.Get) 只能使用GET方法
如果使用url传参
可以使用?追加到url之后
也可以使用{}匹配 使用@PathVariable注解方法的参数
<a href="${pageContext.request.contextPath}/user/update/${user.userid}">修改</a>
@RequestMapping("update/{userid}")
public String update(@PathVariable Integer userid){
return "/user/success";
}

后缀不加do 在web.xml文件中配置rest路径
访问路径添加rest
<a href="${pageContext.request.contextPath}/rest/user/update/${user.userid}">修改</a>

用于规定参数默认值
public String update(@RequestParam(value = "userid",required = true,defaultValue = "1") Integer userid){
return "/user/success";
}
RequestParam 参数描述
value 参数名称
defaultValue 默认值
required 参数是否必须有值 如果为true 参数又为空 会报错
RequestBody 注解 将前端传来的json数据转化为pojo对象
ResponseBody注解 将后端返回的json数据自动封装为javaBean
RequestBody 注解 将前端传来的json数据转化为pojo对象
ResponseBody注解 将后端返回的json数据自动封装为javaBean
1,导入json处理的相关jar包jackson-core-asl.jar和jackson-mapper-asl.jar
2,在SpringMvc配置文件中配置json转换器
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<!--配置json转换器-->
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
</property>
</bean>
3,使用jquery ajax上传json数据到后端

4,后端使用注解接收json数据封装返回
@Controller
@RequestMapping("/user")
public class Controller01 {
@RequestMapping("test")
public @ResponseBody User test(@RequestBody User user){
/*
* 首先前端传来的json数据自动封装为User对象
* retun user时 ResponseBody注解会将user转为json数据返回
*/
return user;
}
}
注:一般情况下 直接使用表单提交不需要使用RequestBody注解 SpringMVC会自动封装对象。但常使用ResponseBody注解返回json数据
© 版权声明
文章版权归作者所有,未经允许请勿转载。