全球观天下!框架128:springMVC最后一天
今天是刘小爱自学Java的第128天。感谢你的观看,谢谢你。学习内容安排如下:Jstl标签的使用,既然又提到了,还是学一学好了,反正也不要太多时
今天是刘小爱自学Java的第128天。
(资料图片仅供参考)
感谢你的观看,谢谢你。
学习内容安排如下:
Jstl标签的使用,既然又提到了,还是学一学好了,反正也不要太多时间。
写了一个文件上传的案例。
最后关于转发和重定向在springMVC中的使用,以及这两者之间的区别。
拦截器的使用。
自此SSM框架也就告一段落了。
一、Jstl标签的使用
这个Jstl是当初学jsp时的知识点,因为动不动就有人说Jsp技术被淘汰了,所以就没学。
但既然在框架中再次用到了Jstl,那还是学下吧,知道怎么用它肯定是没坏处的。
1Controller方法
对应的访问路径为show15。
其中利用for循环创建了10个User对象,再放入集合中作为返回值。
本来这里正确的流程是要去数据库查询数据的,不过比较麻烦,我们只是学Jstl标签这个知识点,用for循环做做假数据就好了。
2user.jsp中标签的使用
引入核心标签库
c:foreach标签
该标签和Java中的增强for循环非常类似,就好比:for(User user : userList){};
items中利$取的值就是我们前面创建的那个User对象集合。
$就是去除user对象中的id属性,其它的属性取值都是类似。
代码测试
输入访问路径,可以发现数据完成了渲染。
JSON数据格式
Json是最为常见的一种数据格式,所以springMVC提供了一种更为简便的方式传递数据。
当@ResponseBody放在处理请求的方法上时,表示方法返回值会自动转换成JSON。
此外还有两个注解,一起做一个小结:
@ResponseBody是把Controller方法返回值转化为JSON,称为序列化。
@RequestBody是把接收到的JSON数据转化为实体类对象,称为反序列化。
@RestController将当前处理器中所有方法的返回值都转换成json数据。
三、文件上传
SpringMVC的文件上传,底层也是使用的Apache的Commons-fileupload。
我们写一个文件上传的例子:
引入依赖
在pom文件中引入依赖,很多时候这个步骤我都没有说明,但依赖一般来说都是首要步骤。
定义文件上传解析器
defaultEncoding:设定编码表为utf-8。
maxUploadSize:设定文件上传的最大值,例子中也就是5M。
Controller中的方法
请求中上传的文件可以作为一个参数被获取,参数类型为MultipartFile,通过注解@RequestParam即可完成。
通过transferTo()方法可以将上传的文件存到对应的文件路径中。
通过getOriginalFilename()方法可以获取上传的文件名称。
例子中是放在D盘,用系统时间戳+文件名称的格式给上传的文件命名。
其中@ResponseStatus可以自行设定响应状态,这里为了测试直接设成响应成功。
代码写完,做一个测试:
这里使用的一个插件,完成上传文件的请求。
关于这个插件,后续会做一个插件合集说明。
请求路径
也就相当于以前在浏览器地址栏上输入路径,与@RequestMapping中的参数保持一致。
上传文件
在Files选项栏中可以选择文件上传,其中名称要与@RequestParam中的参数名称一致。
代码测试
点击发送请求,处理器将上传的文件获取,再利用transferTo方法保存到对应的路径中。
例子中就是D盘,所以D盘中出现了一个以系统时间戳+文件名称命名的新文件。
三、转发及重定向
返回值为字符串时,默认为视图名称,比如“hello”即对应hello.jsp这个文件。
当返回值字符串是以”forward:”或者”redirect:”开头,则表示是转发或者重定向。
转发
forward:show21.do?type=forword
使用“forward:”开头说明是转发,后面跟转发跳转的请求路径。
重定向
redirect:show21.do?type=redirect
使用“redirect:”开头说明是重定向,后面跟重定向的路径。
测试,同时回顾下转发与重定向的区别
转发:forword
show19.do即为转发,跳转到show21.do对应页面,同时浏览器路径没有变化。
重定向:redirect
show20.do即为重定向,也跳转到show21.do对应页面,但是注意浏览器路径变化了。
转发和重定向的区别在于:
转发是服务器内部完成跳转,是同一个请求,正因为如此,所以数据能共享。
重定向是浏览器完成跳转,是产生了一个新的请求了,数据不能共享了
四、拦截器
前天我们学习过springMVC的流程:
当请求到达控制器时,控制器根据请求路径到映射器中查询具体用什么处理器。
映射器会将查询结果返回给控制器,返回结果就包含了一个拦截器集合。
1自定义一个拦截器
实现HandlerInterceptor接口,Interceptor,本身也就是拦截器的意思。
preHandle方法
preHandle调用Handler之前执行,称为前置方法,关于其返回值:
true表示放行,后续业务逻辑继续执行。
false表示被拦截,后续业务逻辑不再执行,但之前返回true的拦截器的完成方法会倒叙执行。
postHandle方法
postHandle调用Handler之后执行,称为后置方法。
afterCompletion方法
afterCompletion在视图渲染完成之后执行,也称之为完成方法。
2拦截器配置
interceptors标签里面放interceptor标签,说明拦截器是可以配置多个的。
例子中只配置了一个。
mapping path:表示拦截的请求,两个*号代表0个或者多个路径,这个昨天也详讲过。
再将拦截器类配置成一个springBean。
3测试
我们设置的是所有路径都拦截,那么随便找一个我们以前写的例子就好了。
浏览器中输入的是show1,在其对应的处理器中我们输入一条语句作为测试。
根据结果我们能发现,如果请求被拦截了:
先执行拦截器前置方法。
然后才执行该路径本身对应的处理器。
再执行拦截器后置方法。
最后执行拦截器完成方法。
其中如果有多个拦截器,时间有限,就不测试了,直接说结论:
拦截器的前置方法依次执行。
后置方法和完成方法倒序执行。
当前置方法返回false时,请求被拦截,后续的拦截器以及处理器方法不再执行,但它前面请求没被拦截的拦截器的完成方法会倒续执行。
完成方法在视图渲染之后才去执行。
最后
谢谢你的观看。
如果可以的话,麻烦帮忙点个赞,谢谢你。
关键词: springMVC
今天是刘小爱自学Java的第128天。感谢你的观看,谢谢你。学习内容安排如下:Jstl标签的使用,既然又提到了,还是学一学好了,反正也不要太多时
中秋节始于唐朝初年,盛行于宋朝,至明清时,已与元旦齐名而成为中国的主要节日之一。受中华文化的影响,中秋节也是东亚和东南亚一些国家尤其
加利福尼亚州帕萨迪纳市的玫瑰花车游行是最广为人知的游行之一。游行中的花车是特定主题的,必须用鲜花和植物材料覆盖。在玫瑰花
父亲节已广泛流传于世界各地,节日的日期因地域的不同而产生差异,但大部分国家都是通过赠送礼物、家族聚餐等活动来庆祝这一节日。下面小编给
1、链接:提取码:wi58导演:山户结希编剧:山户结希 井土纪州 乔治朝仓主演:小松菜奈 菅田
手机铃声日渐成为一种具有商品属性的特殊产品,下面学习啦小编和大家一起来分享最新安卓手机铃声。希望你喜欢!最新安卓手机铃声一1)等咱有了钱C
今天早上一觉醒来卢伟冰的一条微博可以说是在手机圈子里炸开了锅,主要内容就是官宣了红米K60的512GB版本降价300元。这其中包括12+512GB和16+5
近年来,越来越多人出于提升工作能力和寻求更广阔发展空间等原因参加职业资格考试,相应的考试培训也持续升温。有些培训机构宣称“包过,不过
火灾自救逃生知识为了您的安全,呈请学习和掌握火灾自救逃生知识!下面是小编为大家整理的关于火灾自救逃生知识,希望大家喜欢!
60岁生日礼物,可以是很重要的,你可以送一些比较有意义的礼物,比如一些字画等等,这样的礼物,这样的礼物还可以让他感受到你
23西江SCP002发布发行公告
1、意思是:农历二月,村子前后青草渐渐发芽生长,黄莺飞来飞去。2、杨柳的枝条轻拂着堤岸,在水泽和草木间蒸发的水汽,烟雾般
商铺布局的风水常识注意事项如果你打算开一家店铺经营,首先就要把店铺的风水做好。以下是小编为你整理的90%。商铺风水布局的
在这样的情况下,现任亚运会主帅扬科维奇将是唯一的人选,而这次会议也确定了主要目标是塞尔维亚人。当然,足协在这次会议上也引进了一些其他
我市举办促进民族经济电商直播培训班提升各族群众就业创业能力
一、萌新回坑指南我的所有角色是清一色的攻速出血流。如果要问装备怎么搭配才好,那当前版本的主流玩法我只推荐“攻速空血流”(高生存高性能
1、除了汉口火车站向右拐,就能看到长途及车站。2、很近的。3、告诉你个常识,一般火车站和长途汽车站离得都很近。本文到此分
情人节的时候男朋友要给我送礼物。他是一个木讷,平常挺喜欢吃巧克力的,这样的女朋友会觉得很浪漫的,情人节又不能过了。我想在
金刚川在哪儿拍摄的,《金刚川》在辽宁省丹东市凤城市鸡冠山镇的白菜地村,宽甸县黄椅山、青椅山,以及振安区汤山城镇等地拍摄,这部电影是为
我觉得送巧克力比较好,可以送巧克力,巧克力的,可以代表爱情的。这种巧克力是心型男生的最好时机送礼物,也可以刻字的,写上
茶的种类,茶的种类分有:乌龙茶、黄茶、白茶、黑茶、绿茶,红茶,花茶,茉莉花,铁观音,素茶,普洱茶,苦丁茶、还有大红袍、熊旦茶、参茶、
联合光电12月16日在互动平台表示,公司的AR VR产品是根据客户的订单需求进行相应规划及安排,目前公司AR VR产品产
证券时报e公司讯,华统股份(002840)2月13日晚间公告,1月份,公司生猪销售数量161,735头,环比增长26 28%,同比增长643 68%。1月份,公司生猪
2022年,人民银行石家庄中心支行立足央行职责,有效执行稳健的货币政策,聚焦全省经济社会发展的重点领域和薄弱环节,不断加大对实体经济的支
以下是返利科技在北京时间2月13日14:40分盘口异动快照:2月13日,返利科技盘中快速上涨,5分钟内涨幅超过2%,截至14点40分,报8 11元,成交280
Copyright 2015-2022 东方酒业网 版权所有 备案号:沪ICP备2020036824号-8 联系邮箱:562 66 29@qq.com