SpingMVC学习笔记(一)

springmvc入门

1.springmvc基本流程

当启动服务器时,因为配置了标签<load-on-startup></....>

所以会直接创建DispatcherServlet对象

紧接着加载springmvc的配置文件,配置文件的命名规则是:

[servlet名]-servlet.xml

 

请求到达SpringMVC的前端控制器DispatcherServlet进行注解扫描

根据配置@RequestMapping注解找到login请求所对应的具体执行方法

执行Controller中的逻辑

执行完,返回SpringMVC前端控制器,找配置的视图解析器

 

2.SpringMVC的基本配置

@Controller:标记在一个类上,使用它标记的类就是一个SpringMVC Controller对象,即处理器Handler。

 

@RequestMapping:指示spring用哪一个方法处理请求

value属性:用来映射一个请求,默认可省略

method属性:可以处理那些HTTP请求方式 比如post这类

consumes属性:指定处理请求时 提交 的内容类型

producess属性:指定返回的内容类型

params属性:指定请求时必须包含某个参数

header属性:指定请求时必须包含某个指定的header值

 

Model和ModelAndView:

对于SpringMVC,Controller执行业务逻辑,用于产生Model,而View用于渲染Model。SpringMVC提供了多种途径输出Model数据。

1.Model (底层会存到request域中)

@ModelAttribute(添加模型数据)先于@RequestMapping方法执行

addAttribute方法

 

2.ModelAndView:

Public ModelAndView login(ModelAndView mv) {

mv.addObject(“In”,”test”);   

Mv.setViewName(“welcome”); }

 

 

@RequestParam:

value属性:用来映射一个请求,默认可省略

required属性:指定参数是否为绑定

defaultValue属性:如果没有传参则使用默认值

@RequestParam(name = "page", defaultValue = "1") Integer page

 

@PathVariable:标记用于获取请求URL中的动态参数

@GetMapping("/notification/{id}")
public String profile(HttpServletRequest request,
       @PathVariable(name = "id") Long id) { ... }

将动态参数获取,一般会在其方法中,将获取到的参数用于业务逻辑编写

 

@RequestHeader

value属性:用来映射一个请求,默认可省略

required属性:指定参数是否为绑定

defaultValue属性:如果没有传参则使用默认值

 

@RequestBody:用于获取请求体内容。

value属性:用来映射一个请求,默认可省略

required属性:当取值为true时,get请求方式会报错。如果取值为false,get请求得到的是Null。

客户端提交post,带有参数username=xxx&password=123

然后@RequestBody(required=false)  String ua

则 ua存的值是 username=xxx&password=123

 

@CookieValue:标记用于获取请求的Cookie参数

value属性:用来映射一个请求,默认可省略

required属性:指定参数是否为绑定

defaultValue属性:如果没有传参则使用默认值

 

@SessionAttributes:用于标记在一个类上,SpringMVC执行完控制器逻辑后,将数据模型中对应的属性名称保存到session对象中。

 

@ModelAttributes:

用法1(优先执行)

用法2(优先执行并返回赋值给参数)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值