写点什么

JavaEE 框架学习笔记——SpringMVC 篇,java 集合详解和集合面试题目

  • 2022 年 4 月 13 日
  • 本文字数:3678 字

    阅读完需:约 12 分钟

前言

我想对所有程序员说:除了看视频、做项目来提高自身的技术之外,还有一种提升自己的专业技能就是:多!看!书!(本文内提到的书单笔者整理出了一份电子档作为分享,文末有免费获取方式)


网络框架、中间件、容器、并发编程、虚拟机等最近几年在互联网行业是越来越火热,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+题)



用户头像

还未添加个人签名 2022.04.13 加入

还未添加个人简介

评论

发布
暂无评论
JavaEE框架学习笔记——SpringMVC篇,java集合详解和集合面试题目_Java_爱好编程进阶_InfoQ写作平台