(Java - 一次简单的请求)长见识了

(Java - 一次简单的请求)长见识了

前一阵子研究过一下'Java的cookie与session机制'。但是理解的太浅显了,发表了一篇博文虽然总体感觉不错但是有些地方描述的还是不是特别严谨。今天特此借助这个小Demo聊一聊真正的请求应该是一个什么样的以及我们的cookie与session机制。


先来说一说我们平时的请求都是:

jsp -> controller -> service -> dao -> 数据库

这种格式的。

不管我们使用了什么框架总体上的方向是这样的没错,其实这样并没有错,有问题的地方就是对待事物的严谨性,这是一种态度。对待编程尤为重要。我们平时便是缺乏了这样一种态度至少我是如此!

这就导致了:

-1)我每次写Demo涉及到发送请求的时候都是发送出去了就不管了,半路上遇上抢劫的与我都没关系了。

-2).对待数据的不严密,前后端数据交互的时候是最容易发生抢劫的时候这个时候如果不保护好数据后果可想而知。

-3).忽视日志的重要性,记得打印语句对我来说都是在开发的时候、调试的时候才会用到,活一干完就删掉所有的打印,殊不知我们写完的程序在我们的手上运行千万次都正常谁也不能说就一定不会有bug就一定不会抛出异常。所以必要的打印语句可以帮助我们检测程序运行的完整性、流畅性。

...

鉴于这几点我就有了一个想法:

-1).我的主要请求在前台要进行一次数据的校验,数据到了后台要再进行校验。保障后面程序用到的数据都是可以信任的数据。这样设计的原因就是因为在数据传输的过程中有可能被恶意更改。

-2).我们请求中的数据在后台进行验证一定不能在controller层中去做,因为三层架构每层都有各自的分工,作为controller层仅仅是收发请求即可,如果它拥有了过多不属于它职责的事情会影响性能。可能会对用户体验产生影响!所以我们可将这个事情放到拦截器中去做。

-3).关于我们的日志管理我们可以在每一个方法中添加,这显然不是我想看到的因为难免的冗余代码过多,如果你了解过动态代理的话spring中的切面(aspect)是一个不错的实现方式。

-4).在写项目的时候我们最好还是贴近实际。例如不是随便什么商品我们都可以购买,最常见的场景就是jd、taobao中购买商品有的也是需要用户权限的,权限不够是不允许你进行操作的。所以我们在接收用户某些目的性需求的时候要做出必要的权限划分。处理这种事情我们也选择了Spring中的切面来做。

-5).在很多人看来都是异常神秘的cookie与session(其实在网上你可以看到大部分都是人云亦云、以讹传讹但是不乏有真正见地的文章那叫一个爽)。

相信这五点说完一定会给大家一个惊喜吧!没错严谨的请求绝对不是简单传来传去,一定是经历了层层筛选、精益求精才会最终被使用。

来用图简单表述一下:

这次就先介绍这个小概念,是自己悟出来的。对错看者自有定论!欢迎评论!

如果想了解关于Spring中的面向面的知识(该系列博文正在创作中)

想了解Cookie与Session机制就请观看我的和下面两位博友的博文

本人的这篇博文阐述了什么是cookie与session以及具体在计算机中是怎样的存在!

第二篇是介绍cookie与session的用法

第三篇就是解惑了。

相信看完本篇博文对大家的思想多少会有些帮助吧!嘿嘿,谢谢大家的支持!

最后附上一份本人写的Demo -> 就是验证上面所阐述的。

涉及到的比较简单:前端数据校验 -> 后台拦截器拦截请求获取参数再进行校验 -> 相关切面进行权限划分

以及通过cookie与session机制实现二次登录自动登录与注销登录的功能!

传送门 -> myGitHub

猜你喜欢

转载自blog.csdn.net/qq_39872652/article/details/82825742
今日推荐