在SpringMVC配置文件中 配置注解开发设置
配置注解需要扫描的位置
<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
将Controller类注解 相当于Spring配置文件bean
@RequestMapping
配置在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 映射模板 @PathVariable
如果使用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>
RequestParam
用于规定参数默认值
public String update(@RequestParam(value = "userid",required = true,defaultValue = "1") Integer userid){
return "/user/success";
}
RequestParam 参数描述
value 参数名称
defaultValue 默认值
required 参数是否必须有值 如果为true 参数又为空 会报错
ResponseBody和RequestBody
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数据
文章版权声明
1 原创文章作者:竹本无心,如若转载,请注明出处: https://www.52hwl.com/38841.html
2 温馨提示:软件侵权请联系469472785#qq.com(三天内删除相关链接)资源失效请留言反馈
3 下载提示:如遇蓝奏云无法访问,请修改lanzous(把s修改成x)
4 免责声明:本站为个人博客,所有软件信息均来自网络 修改版软件,加群广告提示为修改者自留,非本站信息,注意鉴别