JavaEE 框架学习笔记——SpringMVC 篇,java 集合详解和集合面试题目
前言
我想对所有程序员说:除了看视频、做项目来提高自身的技术之外,还有一种提升自己的专业技能就是:多!看!书!(本文内提到的书单笔者整理出了一份电子档作为分享,文末有免费获取方式)
网络框架、中间件、容器、并发编程、虚拟机等最近几年在互联网行业是越来越火热,Netty、Docker、并发编程、虚拟机也是程序员不得不掌握的技术点,掌握熟练这些技术点,必能让你在“互联网寒冬”的这场大战中立于不败之地!今天我们就来了解当下最流行的那些新兴技术。
2、接收 pojo 类型
<table border="1" cellpadding="1" cellspacing="1"><tbody><tr><td><p style="margin-left:0pt;"><span style="color:#f33b45;"><strong>创建一个 pojo User 类型</strong></span></p></td></tr><tr><td><p style="text-align:center;"><img alt="" height="196" src="https://img-blog.csdnimg.cn/20200321150822474.png" width="455"></p><p> </p></td></tr><tr><td><span style="color:#f33b45;"><strong>form 表单</strong></span></td></tr><tr><td><p style="text-align:center;"><img alt="" src="https://img-blog.csdnimg.cn/20200321150914856.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2gyNTAzNjUyNjQ2,size_16,color_FFFFFF,t_70"></p><p> </p></td></tr><tr><td><p style="margin-left:0pt;"><span style="color:#f33b45;"><strong>配置一个注册方法,表单参数将自动封装到 user 对象中</strong></span></p></td></tr><tr><td><p style="text-align:center;"><img alt="" height="129" src="https://img-blog.csdnimg.cn/20200321150949284.png" width="463"></p><p> </p></td></tr></tbody></table>
3、接收包装类型参数
<table border="1" cellpadding="1" cellspacing="1"><tbody><tr><td><p style="margin-left:0pt;"><span style="color:#f33b45;"><strong>把 User 写成一个类的属性(模型中有模型)</strong></span></p></td></tr><tr><td><p style="text-align:center;"><img alt="" height="248" src="https://img-blog.csdnimg.cn/20200321151334320.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2gyNTAzNjUyNjQ2,size_16,color_FFFFFF,t_70" width="300"></p><p> </p></td></tr><tr><td><p style="margin-left:0pt;"><span style="color:#f33b45;"><strong>添加一个注册方法</strong></span></p></td></tr><tr><td><p style="text-align:center;"><img alt="" height="126" src="https://img-blog.csdnimg.cn/20200321151409130.png" width="480"></p><p> </p></td></tr><tr><td><p style="margin-left:0pt;"><span style="color:#f33b45;"><strong>修改 form 表单</strong></span></p></td></tr><tr><td><p style="text-align:center;"><img alt="" height="178" src="https://img-blog.csdnimg.cn/20200321151421203.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2gyNTAzNjUyNjQ2,size_16,color_FFFFFF,t_70" width="600"></p><p> </p></td></tr></tbody></table>
4、接收集合 List 类型参数
<table border="1" cellpadding="1" cellspacing="1"><tbody><tr><td><p style="margin-left:0pt;"><span style="color:#f33b45;"><strong>在 UserExt 中添加一个集合</strong></span></p></td></tr><tr><td><p style="text-align:center;"><img alt="" height="199" src="https://img-blog.csdnimg.cn/2020032115294663.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2gyNTAzNjUyNjQ2,size_16,color_FFFFFF,t_70" width="600"></p></td></tr><tr><td><p style="margin-left:0pt;"><span style="color:#f33b45;"><strong>添加一个注册 的方法,参数写 UserExt</strong></span></p></td></tr><tr><td><p style="text-align:center;"><img alt="" height="134" src="https://img-blog.csdnimg.cn/20200321153023332.png" width="502"></p><p> </p></td></tr><tr><td><p style="margin-left:0pt;"><span style="color:#f33b45;"><strong>form 表单</strong></span></p></td></tr><tr><td><p style="text-align:center;"><img alt="" height="190" src="https://img-blog.csdnimg.cn/20200321153038970.png" width="1007"></p><p> </p></td></tr></tbody></table>
5、接收集合 Map 类型参数
<table border="1" cellpadding="1" cellspacing="1"><tbody><tr><td><p style="margin-left:0pt;"><span style="color:#f33b45;"><strong>UserExt 上添加一个 Map</strong></span></p></td></tr><tr><td><p style="text-align:center;"><img alt="" height="206" src="https://img-blog.csdnimg.cn/20200321153229580.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2gyNTAzNjUyNjQ2,size_16,color_FFFFFF,t_70" width="600"></p><p> </p></td></tr><tr><td><p style="margin-left:0pt;"><span style="color:#f33b45;"><strong>添加一个注册方法</strong></span></p></td></tr><tr><td><p style="text-align:center;"><img alt="" height="134" src="https://img-blog.csdnimg.cn/2020032115325051.png" width="474"></p><p> </p></td></tr><tr><td><p style="margin-left:0pt;"><span style="color:#f33b45;"><strong>form 表单</strong></span></p></td></tr><tr><td><p style="text-align:center;"><img alt="" height="186" src="https://img-blog.csdnimg.cn/20200321153302327.png" width="995"></p><p> </p></td></tr></tbody></table>
三、SpringMVC 和 Struts 的区别
1、实现机制:****
Struts2 是基于过滤器实现的。
SpringMVC 基于 servlet 实现。
2、运行速度:****
Servlet 比过滤器快。
Struts2 是多例。每一次请求,都会创建一个 Action 对象,请求来了以后,struts2 创建多个对象:ActionContext,valuestack,UAction,ActionSuport,ModelDriven。
SpringMVC 是单例。同一个 Controller 请求,只会创建一个 Controller。
四、转发和重定向
<table border="1" cellpadding="1" cellspacing="1"><tbody><tr><td><p><span style="color:#f33b45;"><strong><strong><strong>转发到同一个控制器的方法</strong></strong></strong></span></p></td></tr><tr><td><p style="text-align:center;"><img alt="" height="166" src="https://img-blog.csdnimg.cn/20200321164700506.png" width="417"></p></td></tr><tr><td><p><span style="color:#f33b45;"><strong><strong><strong>转发到不同一个控制器的方法</strong></strong></strong></span></p></td></tr><tr><td><p style="text-align:center;"><img alt="" height="233" src="https://img-blog.csdnimg.cn/2020032116471364.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2gyNTAzNjUyNjQ2,size_16,color_FFFFFF,t_70" width="500"></p></td></tr><tr><td><p><span style="color:#f33b45;"><strong><strong><strong>重定向,只需要把 forward 改成 redirect</strong></strong></strong></span></p></td></tr><tr><td><p style="text-align:center;"><img alt="" height="216" src="https://img-blog.csdnimg.cn/2020032116474231.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2gyNTAzNjUyNjQ2,size_16,color_FFFFFF,t_70" width="500"></p><p> </p></td></tr></tbody></table>
五、RequestParam 注解
RequestParam 参数描述:
?value:参数名称
?defaultValue:默认值
?required:参数是否必须有值,如果为 true,参数又为空,会报错
六、?ResponseBody 和 RequestBody****
@ResponseBody 把后台 pojo 转换 json 对象,返回到页面。
@RequestBody 接受前台 json 数据,把 json 数据自动封装 javaBean
七、Oscache 页面缓存
八、SpringMVC 的拦截器
Spring Web MVC 的处理器拦截器类似于 Servlet 开发中的过滤器 Filter,用于对处理器进行预处理和后处理。下面以登录拦截器为例。、
登录拦截器
《一线大厂 Java 面试真题解析+Java 核心总结学习笔记+最新全套讲解视频+实战项目源码》开源
Java 优秀开源项目:
ali1024.coding.net/public/P7/Java/git
那么如何才能正确的掌握 Redis 呢?
为了让大家能够在 Redis 上能够加深,所以这次给大家准备了一些 Redis 的学习资料,还有一些大厂的面试题,包括以下这些面试题
并发编程面试题汇总
JVM 面试题汇总
Netty 常被问到的那些面试题汇总
Tomcat 面试题整理汇总
Mysql 面试题汇总
Spring 源码深度解析
Mybatis 常见面试题汇总
Nginx 那些面试题汇总
Zookeeper 面试题汇总
RabbitMQ 常见面试题汇总
JVM 常频面试:
Mysql 面试题汇总(一)
Mysql 面试题汇总(二)
Redis 常见面试题汇总(300+题)
评论