每日练习|Day019

来源:互联网 发布:新加坡移民 知乎 编辑:程序博客网 时间:2024/05/17 22:46

JSP 简答题

JSP 中动态 include 与静态 include 的区别?

1.动态包含用的元素是page,而且有两种形式。静态包含用的是file,只有一种形式。
2.生成的文件不同,静态的包含是将两个jsp文件二合一,生成一个以包含页面命名的servlet和class文件,动3.态包含的两个jsp文件各自生成自己的servlet和class文件。
4.传参方式一:时被包含的jsp页面是可以访问该参数的。
传参方式二:

<jsp:include page=“a.jsp”><jsp:param name=“” value=“”><jsp:param name=“” value=“”></ jsp:include >

5.在客户端访问包含页面时地址栏后面直接加上参数后传递,这种形式的传参是客户端送来的,但是这两个页面的request对象不是同一个,因为3中已经说了包含的页面可以向被包含的页面传递参数,所以被包含的request对象含的参数个数应该大于等于包含页面的参数个数的。所以它们各有各的request对象。而且被包含的jsp页面可以访问传到包含页面的参数。
6.动态包含只有在执行到它的时候才加载,所以它才叫动态包含。

另一种简答说法:

动态INCLUDE用jsp:include动作实现 “true”>它总会检查所含文件中的变化,适用于动态页面并且可以带参数。
静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面<%@include
file=included.html%>


Java 简答题

什么是数据库连接池?

像打开关闭数据库连接这种和数据库的交互可能是很费时的,尤其是当客户端数量增加的时候,会消耗大量的资源,成本是非常高的。可以在应用服务器启动的时候建立很多个数据库连接并维护在一个池中。连接请求由池中的连接提供。在连接使用完毕以后,把连接归还到池中,以用于满足将来更多的请求。


Java 简答题

HashMap 和 Hashtable 的区别?

HashMap不是线程安全的。HashMap是map接口的子类,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许null key和null value,而hashtable不允许。

HashTable是线程安全。HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。

HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map
interface的一个实现。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供外同步。
Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差。