面试题---WEB阶段

一.Cookie和Session区别?
Cookie在客户端保持状态的方案,主要包括名字、值、过期时间、路径和域,session是存在服务器的用来存放用户数据的类HashTable结构。
区别:
1.session能存储任意的java对象,cookie只能存储String类型的对象。
2.cookie在客户端,session在服务端。
3.Session过多时会消耗服务器资源,大型网站会有专门的session服务器,cookie存在客户端没问题。
4.域的支持范围不一样:比方说 a.com的 Cookie 在 a.com 下都能用,而 www.a.com的 Session 在 api.a.com 下都不能用,解决这个问题的办法是 JSONP 或者跨域资源共享。
单点登录问题如果禁用Cookie,怎么办
单点登录的原理是后端生成一个session ID,设置到cookie,后面所有请求浏览器都会带上cookie,然后服务端从cookie获取session ID,查询到用户信息。保持登录的关键不是cookie,而是通过cookie保存和传输的session ID,本质是能获取用户信息的数据。除了cookie,还常用HTTP请求头来传输。但这个请求头浏览器不会像cookie一样自动携带,需手工处理。

二、Jsp的九大内置对象
1.PageContext ,JSP的页面容器,提供了对jsp页面所有对象及命名空间的访问。
2.request 封装了来自客户端、浏览器的各种信息。
3.response 封装服务器的响应信息。
4.session,保存会话信息。可以实现在同一用户的不同请求之间共享数据。
5.application 代表了当前应用程序的上下文。可以在不同的用户之间共享信息。
6.config 服务器配置信息,可以取得初始化参数。
7.out 用于向客户端、浏览器输出数据。
8.page 指向当前jsp程序本身。
9.exception 封装了jsp程序执行过程中发生的异常和错误信息。

三、转发和重定向
Servlet的两种跳转方式。
转发:服务器内部进行的页面跳转
重定向:是浏览器页面进行的跳转
在这里插入图片描述
四、JQuery常见的选择器
1.标签选择器: ( “ 标 签 名 ” ) ; 2. i d 选 择 器 : (“标签名”); 2.id选择器: ()2.id(“#id”);
3.类选择器:$(".class");
4.层级选择器;
5.属性选择器

五、拦截器和过滤器的区别?
1.拦截器是基于java的反射机制的,而过滤器是基于函数的回调。
2.拦截器不依赖于servlet容器,过滤器依赖于servlet容器。
3.拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。
4.拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问;
5.在action声明周期中,拦截器可以拦截多次,而过滤器只能在容器初始化时呗调用一次;
6.拦截器可以获取IOC容器中的各个bean,而过滤器不行,这点很重要,在拦截器里注入一个service,可以调用业务逻辑。
7.触发时机不同:过滤器是在请求进入容器后,但请求进入servlet之前进行预处理。请求结束返回也是,是在servlet处理完后,返回给前端之前。过滤器的触发时机是容器后,servlet之前。

六、Vue生命周期?
1.beforeCreate 创建前 这时的数据还没进行初始化,所以不能对数据进行操作
2.created 创建后 这时数据已经初始化完成,可以对数据进行相应的操作了
3.beforeMount 挂载前 这时的页面还没进行显示,所以还不能对DOM进行操作。
4.mounted 挂载后 这时页面已经能够正常显示,可以操作DOM
5.beforeUpate 更新前 数据进行了更新但是页面还没进行相应的更新
6.updated 更新后 页面也已经进行了相应的数据更新
7.beforeDestroy 销毁前 页面还没进行销毁,还可以进行正常的操作
8.destroyed 销毁后 页面已经销毁

七、TCP和UDP的理解?

在现实生活中,“要想富,先修路”;同时人总要“居有定所”,于是盖起了N多的房子。但是当你和同事商量好去做客的时候却发现,兜了半天就是找不到他家的房子。原因是路上没有指示牌,且所有的房子都没有门牌号码。所以你一怒之下,将有关部门举报了。几天过后门牌号码都钉在了房子的显著位置上。于是你再次和同事约定,按照朋友给的地址,顺利找到他家。可是,当你到了他家门口又遇到问题了:他家的房子非常的大,所以四处都装了门,有N个,你不知敲哪个门。
上面的比喻里:道路就不要说了,都是指网络中的硬件,光线、海底电缆…,路由器做指示牌,地址有现实中的xx省xx市xx路xxx号xx楼统一变为xxx.xxx.xxx.xxx的IP地址了;而那房子就是计算机/服务器,房子的N个门就是计算机的65535个端口。
说到你问的TCP,你不能单纯的去用TCP连接理解网络实际工作过程。在我上面的例子中,代表“TCP连接”的是”你和朋友面对面接触并商量好”这个过程而已。如果你换个方式:你没见到他本人,只是给他留个便条,说你要去做客,然后你就去了,那这个过程就是一个UDP的过程,因为你到了他的办公桌前,留下了纸条,就视作建立了“UDP连接”。
TCP是可靠的连接,因为你和他当面锣对面鼓的商定了那件事情;而UDP是不可靠连接,因为你只是留了个便条给他,你不知道他是否收到了你的便条,天知道纸条是否被风扇吹到垃圾篓去了:))。但是显而易见的是,UDP更便当而TCP很麻烦。
说到这些就不能不提到SOCKET这个重要的概念。一个著名的比喻是:你要打电话,首先必须要先把电话线接到电话插槽。然后你拿起电话给朋友打电话,电话通了,你问:“你是赵二吗?”,对方回答“是”,这样你们就建立了一次可靠连接;然后你说:“周六我去你家做客,准备好酒菜”;赵二回答:“好的”,这样你们就建立了三次可靠的连接—事情敲定!这就是TCP连接(三次握手)。然而当你拿起电话给朋友打电话,电话通了但一直没人接,几声之后转到录音电话上,你只好留言说我要去做客了云云,然后就挂断电话了。你也并不知道赵二是否听到了你的录音留言,这就是UDP的不可靠连接。
————————————————
版权声明:本文为CSDN博主「shawnMMM」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mjl960108/article/details/53956481

1.TCP基于连接、UDP基于无连接。
2.对系统资源的要求(TCP较多,UDP少)。
3.UDP程序结构简单。
4.流模式与数据报模式。
5.TCP保证数据准确性,UDP可能丢包;TCP保证数据顺序,UDP不保证。

八、如何实现跨域请求?

跨域是由于浏览器端的同源策略限制所得来。
同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制。

**JSONP(JSON with Padding)**是数据格式 JSON 的一种“使用模式”,可以让网页从别的网域要数据。根据 XmlHttpRequest 对象受到同源策略的影响,而利用 《script》 元素的这个开放策略,网页可以得到从其他来源动态产生的JSON数据,而这种使用模式就是所谓的 JSONP。用JSONP抓到的数据并不是JSON,而是任意的JavaScript,用 JavaScript解释器运行而不是用JSON解析器解析。所有,通过Chrome查看所有JSONP发送的Get请求都是js类型,而非 XHR。
------缺点:
只能使用Get请求
不能注册 success、error 等事件监听函数,不能很容易的确定 JSONP 请求是否失败
JSONP 是从其他域中加载代码执行,容易受到跨站请求伪造的攻击,其安全性无法确保
WebSocket
WebSocket protocol 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信,同时允许跨域通讯,是server push技术的一种很棒的实现。相关文章,请查看:WebSocket、WebSocket-SockJS
需要注意:WebSocket对象不支持DOM 2级事件侦听器,必须使用DOM 0级语法分别定义各个事件。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值