Java面试题之JavaWeb基础

一、JDBC技术,

                1.说下原生jdbc操作数据库流程?

                        第一个:Class.forName()。加载数据库的连接驱动

                        第二步:DriverManager.getConnection()获取数据连接对象

                        第三步:根据SQL获取sql会话对象。有两种方式,Statement,PreparedStatement;

                        第四步:执行SQL处理集,执行SQL前如果有参数值就设置参数值setXXX();

                        第五步:关闭结果集,关闭对话,关闭连接。

                2.为什么要使用ParparedStatement?

                            1.PreparedStatement接口继承Statement、PreparedStatement实例包含已编译的SQL语句,所以其执行速度

                                 要快于Satement

                            2。作为Statement的子类,PrepareStatement继承了Statement的所有功能,三种方法,                                 execute,executeQuery和executeUpdate已被更改以使之不再需要参数

                               3.在 JDBC应用中,在任何时候都不使用Statement,原因如下

                                    一。代码的可读性和可维护性,Statement需要不断拼接,而PreparedStatement不会。

                                    二。PreparedStatement尽最大可能提高性能,DB有缓存机制,相同的预编译语句再次被调用会不在需要编译

                                三,最重要的一点是极大地提高了安全性,Statement容易SQL注入,而PreparedStatement传入内容

                                            不会和sql语句发生任何匹配关系

                        3.关系数据库中连接池的机制是什么?                                                               

                        前提:为数据库连接建立一个缓冲池。

                            1.从连接池获取或创建可用连接

                            2.使用完毕之后,把连接返回给连接池

                            3.在系统关闭前。断开所有连接并释放连接占用的系统资源

                            4.能够处理无效链接,限制连接池中连接总数不低于或者不超过某个限定值。

                                    最小连接数是连接池一直保持的数据连接,如果应用程序对数据库连接的使用量不大,将会有大量

                                    的数据库连接资源被浪费掉

                            最大连接数是连接池能申请的最大连接数,如果数据连接请求超过了次数,后面的数据连接请求会被加入到等待队列中,这会影响之后的数据库操作        

            如果最小连接数与最大连接数相差太大,那么,最先的连接请求将会获利,之后超过,最小连接数量的连接请求等价于

            建立一个新的数据库连接,不过,这些大于最下连接数的数据库连接在使用完不会马上释放,它将会被放到连接池中等待重复使用或是空闲超时后被释放

二。Cookie和Session

1.Cookie和Session的区别

        Cookie是web服务器发送给浏览器的一块信息,浏览器会在本地一个文件中给每个web服务器存储cookie

        以后浏览器再给特定的web服务器发送请求时,同时会发送所有为该服务器存储的cookie.

        Session是存储在web服务器端的一块信息,session对象,存储特定用户会话所需的属性和配置信息,当用户在

        应用程序的Web页面之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去

    Cookie和session的不同点:

    1。无论客户端做怎样的设置,session都能够正常工作,当客户端禁用cookie时,将无法使用cookie

       2.在存储的数据方面,session能够存储任意的java对象,cookie只能存储String类型的对象

三,JSP技术

            1,什么事jsp,什么事servlet,jsp与Servlet有什么区别,

            jsp本质上就是一个Servlet,它是Servlet的一种特殊形式,每个jsp页面都是一个servlet

            实例。

            Servlet是由 Java提供用于开发 web服务器应用程序的一个组件,运行在服务端,由servlet 容器管理,用来生

            成动态内容。一个 servlet 实例是实现了特殊接口 Servlet 的 Java 类,所有自定义的 servlet 均必须实现 Servlet 接

            口

            区别:jsp侧重代码,servlet侧重控制。

            2. jsp有哪些域对象和内置对象及他们的作用?,这个不会就白学jsp了。。。。

四。XML技术

            1.什么是xml,使用xml的优缺点,xml的解释器有那几种,分别有什么区别?

                xml是一种扩展性标记语言,支持自定义标签(使用前必须预定义)使用DTD和XML Schema标准化XML结构

                优点:用于配置文件,格式统一,符合标准,用于互不兼容的系统间交互数据,共享数据方便

                缺点:xml文件格式复杂,数据传输占流量,服务端和客户端解析xml文件占用大量资源且不容易维护,

                Xml常用解释器有2种,分别是,DOM和SAX;(能力有限,这两个就不做过多解释)

    原文作者:年轻诠释我们的梦想_705b
    原文地址: https://www.jianshu.com/p/fdd8c42665ac
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞