SpringMVC注解开发

在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";
}

SpringMVC注解开发

后缀不加do 在web.xml文件中配置rest路径

访问路径添加rest

<a href="${pageContext.request.contextPath}/rest/user/update/${user.userid}">修改</a>

SpringMVC注解开发

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数据到后端

SpringMVC注解开发

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)

 免责声明:本站为个人博客,所有软件信息均来自网络 修改版软件,加群广告提示为修改者自留,非本站信息,注意鉴别

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年7月15日 下午1:51
下一篇 2023年7月15日 下午1:51