框架 --- springmvc

SpringMVC 框架:不是理论性知识。纯粹的工具。提升生产力工具。

历史上:spring -> springmvc(struts1,struts2)
基本原理:

  1. 反射。
  2. 依赖spring,实现控制反转和依赖注入。

如何引入springmvc?

  1. 在pom文件中引入springmvc的库。
  2. 在web.xml中配置springmvc。配置一个DispatchServlet,指定spirngmvc配置文件位
  3. 配置springmvc配置文件。
    @RequestMapping 如果设置到类上,表示整个类的所有方法的请求路径的前缀
    设置到方法上,表示该方法所处理的请求路径。
    @Getmapping:表示仅接受get请求
    @PostMapping:表示仅接受post请求。

关于参数:
参数:控制器handler,方法中如果定义了Map或者ModelMap,那么向这个Map实例或
ModelMap实例中存储的数据都会自动设置到request域中。
如果是基本数据类型作参数,则会将请求中的参数自动映射到对应的参数上,根据名称
匹配,自动类型转换。
如果请求中的参数和方法的中的参数名称不一致的话,可以使用@RequstParam注解,
来进行配置。
方法的参数中,如果有bean类,springmvc会自动将参数中的值,通过反射设置到bean
中。
方法的参数中,如果有bean类,springmvc在反射时,会级联设置。
方法的参数中,如果有Map类型,并且设置了@RequestParam注解,则springmvc会自
动将请求中的所有参数存储到map中
在方法中,可以定义HttpServletRequest、HttpServletResponse,HttpSession对象,
springmvc会自动注入。

关于返回值:
1.如果是返回String类型,表示存储转发到某个页面。
1.1 直接返回一个字符串名称,名称即视图名(去掉前缀和后缀)。
1.2 返回 “forward:/path”,path表示请求的路径。存储转发。
1.3 返回 “redirect:/path”,path表示请求的路径。重定向。
2. ModelAndView类型:ModelAndView类型,可以指定视图名称,也可以存储数据。
ajax操作需要引入json相关的库。

中文乱码
1.解决请求过程中的乱码问题。配置CharacterEncoding中文编码过滤器。
2. springmvc的路径参数。可以在请求路径上设置参数格式,并指定参数,在controller方
法中,使用@PathVariable注解来标识路径参数。
3. Restful 格式请求:
网络上所有的请求(动词),都是资源(事物,名词)的操作。
http协议:GET/POST/PUT/DELETE/OPTIONS
GET:获取资源
POST:新增资源,创建资源
PUT/PATCH:修改资源
DELETE:删除资源
OPTIONS:获取资源相关数据

文件上传:
1.form 要添加属性。表单的method必须是post,添加属性enctype=“multipart/form-data”
2.在表单中添加文件域。
3.在sprinvmvc配置文件中配置文件解析器。mulitpartResolver
4.下载依赖包。commons-fileupload -> commons-io
5.在springmvc方法中,定义参数MultipartFile,用于接受文件。注意:必须使用post请
求。
6.第一种:使用相对路径(相对于当前项目)存储上传的文件,缺点:某些servlet容器不
支持。
7.第二种:使用绝对路径,将文件上传到到指定的位置,然后通过serlvet容器设置外部路
径映射。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A little sea pig

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值