您的位置:首页 > 编程语言 > Java开发

java(jsp)中各种概念的比较

2010-10-04 11:20 281 查看
分类: jsp
2006-05-09 21:52
混淆概念和用法是我们经常犯的错误,我将我自己以前用到过的一些容易引起混淆的知识总结了一下,希望对大家有所帮助

1、两种getRequestDispatcher的区别
(1)ServletContext.getRequestDispatcher(String path) ;
其中这里的path必须开始为"/",即这里的path必须相对于context的root.
(2)ServeltRequest.getRequestDispatcher(String path) ;
这里的path可以为相对路径,如果path开始为"/",则也认为是从context的root开始的。

2、forward与redirect的区别
(1)forward共亨Request范围内的对象,而redirect则不行,即:如果一个javabean被声明为request范围的话,则被forward到的资源也可以访问这个javabean,而redriect则不行。
(2)forward与include基本上都是转发到context内部的资源,而redirect可以重定向到外部的资源,如: req.sendRedriect("http://www.dhc.com");

3、@include与jsp:include的区别
(1)<jsp:include page="included.jsp" flush="true"/>适合用于包含动态页面,并且可以带参数,先将包含的动态页面进行编译后加载到当前页面。
(2) <%@ include file="included.htm" %>适用于包含静态页面,也可包含动态页面时,但和jsp:include的区别是将动态页面代码加载到当前页面,然后编译当前页面。

4、数据库操作语句delete table与 truncate table的区别
truncate 语句执行速度快,占资源少,并且只记录页删除的日志;
delete 对每条记录的删除均需要记录日志

5、ArrayList与Vector的区别
(1) Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的
(2) 当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半

6、HashMap与HashTable的区别
(1)Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现
(2)Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的
(3)只有HashMap可以让你将空值作为一个表的条目的key或value
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: