Javaweb面试题
重定向与转发的区别?
- 转发:转发是在同一台服务器中完成。
- 重定向:可以将请求转接到其他服务器。可以访问互联网上任何资源。
- 重定向浏览器地址栏发生变化,而转发地址栏不变化
如何防止表单重复提交?
1、 利用 JavaScript 防止表表单重复提交:
定义一个表单是否已经提交的标识,默认值为 false,第一次点击提交后就将标识改为 true,只有标识为 false 才可 以提交,为 true 则阻止表单提交。
2、 设置按钮不可用:
也可以在第一次点击提交按钮后将提交按钮改为不可用状态,就不可以再次点击该按钮了。但是当刷新页面时还是 可以再次提交。
Ajax 的请求流程
原生:
- 创建异步对象
- 设置 请求行 open(请求方式,请求url):
- 设置请求(GET方式忽略此步骤)头:setRequestHeader()
- 设置请求体 send()
- 让异步对象接收服务器的响应数据
Post 和 Get 请求
- 传送方式:get 通过地址栏传输,post 通过报文传输。
- 传送长度:get 参数有长度限制(受限于 url 长度),而 post 无限制。
- get 和 post 还有一个重大区别,简单的说:get 产生一个 tcp 数据包;post 产生
Servlet 生命周期
- Servlet 初始化后调用 init () 方法
- Servlet 调用 service() 方法来处理客户端的请求
- Servlet 销毁前调用 destroy() 方法
- Servlet 是由 JVM 的垃圾回收器进行垃圾回收的
Cookie和Session的区别
- Cookie保存在浏览器中,不安全,只能保存少量字符串。
- Session保存在服务器中,安全,可以保持对象数据,大小无限制。
- 浏览器发送请求服务器端会生成一个SessionId,浏览器端会保存在Cookie中,Session的数据默认保存半小时。
- Cookie如果被禁用,可以使用URL地址重写,将SessionId信息保存在URL地址中。
- 应用:用户在不同页面选择的商品,我们可以保存在Cookie中在结算时从Cookie中获取。
TCP协议HTTP协议和UDP协议
- HTTP协议基于TCP协议
- TCP协议是一个面向连接的协议,客户端和服务端必须建立连接才可以通讯,比较安全。
- UDP不需要建立连接,不安全相当于写信。
- HTTP协议是超文本传输协议,规定了数据传输的格式,请求头请求行,请求体。