08-JavaWEB面试题(19题)-新增.pdf
Java WEB 面试题汇总 本文档总结了 Java WEB 面试题,涵盖了 JDBC 操作数据库流程、PreparedStatement 的使用、关系数据库中连接池的机制、HTTP 协议中长连接和短连接的区别、HTTP/1.1 和 HTTP/1.0 的区别等方面。 一、JDBC 操作数据库流程 1. Class.forName() 加载数据库连接驱动 2. DriverManager.getConnection() 获取数据连接对象 3. 根据 SQL 获取 sql 会话对象,有两种方式:Statement 和 PreparedStatement 4. 执行 SQL 处理结果集,执行 SQL 前如果有参数值就设置参数值 setXXX() 5. 关闭结果集、关闭会话、关闭连接 二、PreparedStatement 的使用 1. PreparedStatement 接口继承 Statement,PreparedStatement 实例包含已编译的 SQL 语句,因此其执行速度要快于 Statement 对象。 2. 作为 Statement 的子类,PreparedStatement 继承了 Statement 的所有功能。 3. 在 JDBC 应用中,不要使用 Statement,原因是: * 代码的可读性和可维护性。Statement 需要不断地拼接,而 PreparedStatement 不会。 * PreparedStatement 尽最大可能提高性能。DB 有缓存机制,相同的预编译语句再次被调用不会再次需要编译。 * 最重要的一点是极大地提高了安全性。Statement 容易被 SQL 注入,而 PreparedStatement 传入的内容不会和 SQL 语句发生任何匹配关系。 三、关系数据库中连接池的机制 1. 为数据库连接建立一个缓冲池。 2. 从连接池获取或创建可用连接。 3. 使用完毕之后,把连接返回给连接池。 4. 在系统关闭前,断开所有连接并释放连接占用的系统资源。 5. 能够处理无效连接,限制连接池中的连接总数不低于或者不超过某个限定值。 其中有几个概念需要大家理解: * 最小连接数是连接池一直保持的数据连接。 * 最大连接数是连接池能申请的最大连接数。 四、HTTP 协议中长连接和短连接 1. HTTP/1.0 版本默认使用短连接,在每个请求中建立连接,任务结束就中断连接。 2. HTTP/1.1 版本默认使用长连接(HTTP persistent connection),数据传输完成了保持 TCP 连接不断开,等待在同域名下继续用这个通道传输数据。 五、HTTP/1.1 与 HTTP/1.0 的区别 1. 可扩展性 * HTTP/1.1 在消息中增加版本号,用于兼容性判断。 * HTTP/1.1 增加了 OPTIONS 方法,它允许客户端获取一个服务器支持的方法列表。 * 为了与未来的协议规范兼容,HTTP/1.1 在请求消息中包含了 Upgrade 头域,通过该头域,客户端可以让服务器知道它能够支持的其它备用通信协议,服务器可以据此进行协议切换,使用备用协议与客户端进行通信。 2. 缓存在 HTTP/1.0 中,使用 Expire 头域来判断资源的 fresh 或 stale,并使用条件请求(conditional request)来判断资源是否仍有效。 * HTTP/1.1 在 1.0 的基础上加入了一些 cache 的新特性,当缓存对象的 Age 超过 Expire 时变 stale 对象,cache 不需要直接抛弃 stale 对象,而是与源服务器进行重新激活(revalidation)。 3. 带宽优化 * HTTP/1.0 中,存在一些浪费带宽的现象,例如客户端只是需要某个对象的一部分,但却需要从服务器获取整个对象。 * HTTP/1.1 中,引入了 Range 头域,可以指定某个对象的一部分,减少了带宽的浪费。
剩余10页未读,继续阅读
- 粉丝: 39
- 资源: 39
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (GUI框架)Matlab设计_的答题纸答题卡识别.zip
- (GUI框架)Matlab设计_的路牌交通牌照识别.zip
- 计算机物联网专业毕业设计的研究成果与实践过程报告模板
- MATLAB:考虑齿面接触变形量,基于石川算法求解齿轮时变啮合刚度,齿轮动力学时域图、相图、分岔图、庞加莱图,可用于参考学习齿轮动力学复现学习,程序内注释解答清晰,便于学习 附赠齿轮系统的非线性动力
- 数据库课程设计《SQL Server图书馆管理系统》(完整版)
- Spark 执行流程.xmind
- (GUI框架)Matlab设计_的车道线标定.zip
- (GUI框架)Matlab设计_的人脸+指纹融合系统.zip
- (GUI框架)Matlab设计_的人脸识别设计.zip
- Linux命令行核心命令详解与应用场景
- (GUI框架)Matlab设计_的人脸门禁预警.zip
- (GUI框架)Matlab设计_的手写汉字识别.zip
- (GUI框架)Matlab设计_的手写字符识别.zip
- MATLAB Simukink基于下垂控制的光储直流微电网离网运行控制 关键字:离网;直流下垂;交流负载;V f
- (GUI框架)Matlab设计_的视频图像去雾.zip
- (GUI框架)Matlab设计_的小波变换dwt数字水印.zip