基础题四

1.JSP有哪几个内置对象,每个对象的作用是什么,并写出常用方法
JSP中有9个内置对象,依次是:
application对象:该实例对象代表JSP所属的Web应用本身,可用于JSP页面,或者在Servlet之间交换信息。常用的方法有getAttribute(String name)、setAttribute(String attName,Object object)、removeAtribute(String name)、getContextPath()等。
config对象:代表当前JSP的配置信息,但JSP页面通常无须配置,因此也就不存在配置信息。常用的方法有getInitParameter(String name)、getInitParameterNames()等。
exception对象:是Throwable的实例,代表JSP脚本中产生的错误和异常,是JSP页面异常机制的一部分。常用的方法有getMessage()。
out对象:代表一个页面的输出流,通常用于在页面上输出变量值及常量。常用的方法有print()、println()等。
pageContext对象:该对象代表上下文,该对象主要用于访问JSP之间的共享数据。常用的方法有getAttribute(String name)、setAttribute(String attName,Object object)等。
request对象:用于封装请求的客户端的请求信息。常用的方法有getAttribute(String name)、setAttribute(String attName,Object object)、getParameter(String name)等。
response对象:用于封装服务器对客户端的响应数据。常用的方法有sendRedirect(String path)、getWriter()、setHeader(String name, String value)等。
session对象:用于保存会话数据。从客户端浏览器连接服务器开始,到客户端浏览器与服务器断开为止,这个过程就是一次会话。常用的方法有getAttribute(String name)、setAttribute(String name, Object value)、removeAttribute(String name)、invalidate()等。
page对象:page对象有点类似于Java编程中的this指针,就是指当前JSP页面本身。page是java.lang.Object类的对象。page对象在实际开发过程中并不经常使用。常用的方法有 equals(Object ob)等。
2.什么是Cookie,有哪些常用方法? JSP中Session和Cookie的区别是什么,请详细阐述
Cookie是一种会话技术,用于存储会话数据,会话数据保存在浏览器客户端。
常用的方法有:
void setPath(java.lang.String uri) :设置cookie的有效访问路径
void setMaxAge(int expiry) :设置cookie的有效时间
void setValue(java.lang.String newValue) :设置cookie的值
session和cookie的区别:
a)cookie数据存放在客户的浏览器上,session数据放在服务器上。
b)cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗考虑到安全应当使用session。
c)session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用cookie。
d)单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

3.JSP中转发和重定向的区别是什么,请详细阐述
区别一:重定向时浏览器上的网址改变,转发是浏览器上的网址不变
区别二:重定向实际上产生了两次请求,转发只有一次请求
区别三:重定向时的网址可以是任何网址,转发的网址必须是本站点的网址
4.JSP与Servlet从编译的角度来看有什么区别?
JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。

5.html中form里action方法的get和post有什么区别?jQuery对象和dom对象是怎样转换的?
get和post的区别:
1)请求参数存放的位置不同,get方式放在url后面,post方式放在请求实体内容中
2)请求参数的长度限制不同,get方式有长度限制,post没有
3)安全性,post方式提交的数据更安全
4)get方式的url可以传播,post方式不可以

jQuery对象转成DOM对象:
两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index);
(1)jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。
如:var v = (“#v”) ; //jQuery对象
var v= v [ 0 ] ; / / D O M a l e r t ( v . c h e c k e d ) / / c h e c k b o x ( 2 ) j Q u e r y . g e t ( i n d e x ) D O M v a r v= (“#v”);  //jQuery对象  var v= v.get(0); //DOM对象
alert(v.checked) //检测这个checkbox是否被选中

DOM对象转成jQuery对象:
对于已经是一个DOM对象,只需要用 ( ) D O M j Q u e r y (DOM对象)
如:var v=document.getElementById(“v”); //DOM对象
var v = (v); //jQuery对象
转换后,就可以任意使用jQuery的方法了。

6.列出解析XML的常用技术,并阐述各自特点
1)DOM(Document Object Model)
文档对象模型分析方式。以层次结构(类似于树型)来组织节点和信息片段,映射XML文档的结构,允许获取和操作文档的任意部分。是W3C的官方标准。

优点:
1、允许应用程序对数据和结构做出更改。
2、访问是双向的,可以在任何时候在树中上下导航,获取和操作任意部分的数据。

缺点:通常需要加载整个XML文档来构造层次结构,消耗资源大

2)SAX(Simple API for XML)
通过事件驱动,每发现一个节点就引发一个事件,通过回调方法完成解析工作,解析XML文档的逻辑需要应用程序完成。

优点:
1、不需要等待所有数据都被处理,分析就能立即开始。
2、只在读取数据时检查数据,不需要保存在内存中。
3、可以在某个条件得到满足时停止解析,不必解析整个文档。
4、效率和性能较高,能解析大于系统内存的文档。

缺点:
1、需要应用程序自己负责TAG的处理逻辑(例如维护父/子关系等),使用麻烦。
2、单向导航,很难同时访问同一文档的不同部分数据,不支持XPath。

3)JDOM(Java-based Document Object Model)
Java特定的文档对象模型。自身不包含解析器,使用SAX。

优点:
1、使用具体类而不是接口,简化了DOM的API。
2、大量使用了Java集合类,方便了Java开发人员。

缺点:
1、没有较好的灵活性。
2、性能较差。

4)DOM4J(Document Object Model for Java)
简单易用,采用Java集合框架,并完全支持DOM、SAX和JAXP。

优点:
1、大量使用了Java集合类,方便Java开发人员,同时提供一些提高性能的替代方法。
2、支持XPath。
3、有很好的性能。

缺点:
1、大量使用了接口,API较为复杂。

猜你喜欢

转载自blog.csdn.net/weixin_42481081/article/details/82593577