01、jsp有哪些内置对象?作用分别是什么?
所谓内置对象就是不加声明就可以在JSP页面脚本中使用的成员变量。JSP总共9种内置对象,分别为:request、response、session、application、out、pageContext、config、page、exception。
request对象的作用是与客户端交互,获取客户端的from、cookies和超链接的信息,或者收集服务器端的环境变量信息。
response对象的主要作用是对客户的请求做出动态响应,向客户端发送数据。
out 对象用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。
session 对象是由服务器自动创建的与用户请求相关的对象, 用于保存该用户的信息,跟踪用户的操作状态。
application 对象可将信息保存在服务器中,直到服务器关闭;application 对象被所有客户共享,能让Servlet访问关于其环境的信息,实现客户间的数据共享。
page 对象是指向当前JSP程序本身的对象,是java.lang、Object类的实例对象,可以使用Object类的方法。
config 对象的主要作用是取得服务器的配置信息。
pageContext 对象的作用是取得任何范围的参数,通过它可以获取 JSP页面的out、request、reponse、session、application 等对象。
exception 对象的作用是显示异常信息,只有在包含 isErrorPage="true" 的页面中才可以被使用,在一般的JSP页面中使用该对象将无法编译JSP文件。
02、jsp有哪些动作?作用分别是什么?
JSP的基本动作包括:jsp:useBean、 jsp:include、jsp:setProperty、jsp:getProperty、jsp:forward、jsp:plugin、jsp:fallback、jsp:param。
<jsp:useBean>:寻或者实例化一个JavaBean。
<jsp:include>:在页面被请求的时候引入一个文件。
<jsp:setProperty>:设置JavaBean的属性。
<jsp:getProperty>:输出某个JavaBean的属性。
<jsp:forward>:把请求转到一个新的页面。
<jsp:plugin>:根据浏览器类型为Java插件生成OBJECT或EMBED标记。
<jsp:fallback>:用于Java插件不能启动时显示给用户的的信息弹出。
<jsp:param>:以 “名-值”的形式为其他标签提供附加信息。
03、简述JSP的处理过程。
(1)客户端通过浏览器向服务器发出请求,该请求中包含了请求的资源的路径。
(2)服务器根据被加载的客户端的请求加载被请求的JSP页面。
(3)Web服务器中的JSP引擎把被加载的JSP页面转换成servlet。
(4)JSP引擎把生成的JSP页面编译成class文件。
(5)服务器执行这个class文件。
(6)服务器把执行结果发送给浏览器显示。
04、在JSP中有哪几种注释的方法?
JSP中的注释一般分为两种:一种是JSP注释,是JSP本身的用于描述JSP程序的代码,它会被JSP容器忽略,不会出现在网页源代码中;另一种是HTML注释,用于描述JSP页面执行后的结果,这种注释会被客户端看到。
05、简述JSP页面中的组成元素。
JSP页面中的元素可分为脚本元素、指令元素、动作元素三种类型。脚本元素是嵌入到JSP页面中的Java代码;指令元素则是针对JSP引擎如何处理代码;动作元素主要用于连接所要使用的组件,另外还可以控制JSP引擎的动作。
06、Servlet的基本架构
SServlet的框架的核心是javax.Servlet.servlet接口,所有的servlet都必须实现这一接口。在
servlet接口中定义了5个方法,其中有3个方法代表servlet的生命周期:init方法,负责初始化对象;servlet方法负责相应客户的请求;destory方法,当servlet对象退出生命周期时,负责释放占有的资源。
07、Servlet执行时一般实现哪几个方法?
Servlet执行时一般实现init()方法、servlet()方法、destory()方法。Init()方法,负责初始化对象;servlet()方法负责相应客户的请求;destory()方法,当servlet对象退出生命周期时,负责释放占有的资源。
08、表单提交方式中的get和post有什么区别?
(1)get是从服务器上获取数据,post是向服务器传送数据。
(2)get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
(3)对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
(4)get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
(5)get安全性非常低,post安全性较高。
09、Java Servlet的主要功能和作用是什么?
Servlet通过创建一个框架来扩展服务器的能力,以提供在Web上进行请求和响应服务。当客户机发送请求至服务器时,服务器可以将请求信息发送给Servlet,并让Servlet建立起服务器返回给客户机的响应。当启动Web服务器或客户机第一次请求服务时,可以自动装入Servlet。装入后,Servlet继续运行直到其它客户机发出请求。
功能:
(1)创建并返回一个包含基于客户请求性质的动态内容的完整的HTML页面。
(2)创建可嵌入到现有HTML页面中的一部分HTML页面(HTML片段)。
(3)与其它服务器资源(包括数据库和基于Java的应用程序)进行通信。
(4)用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上。
(5)当允许在单连接方式下传送数据的情况下,在浏览器上打开服务器至applet的新连接,并将该连接保持在打开状态。
(6)对特殊的处理采用 MIME 类型过滤数据,例如图像转换和服务器端包括( SSI )。
(7)将定制的处理提供给所有服务器的标准例行程序。
10、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
Jsp和servlet的区别和联系:
(1)jsp经编译后就变成了浏览web是什么意思Servlet。(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)
(2)jsp更擅长表现于页面显示,servlet更擅长于逻辑控制。
(3)Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到。
Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。而Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。
联系:JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。
区别:Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。
11、HttpServletResponse类的sendRedirect方法(请求重定向)和RequestDispatcher类的forward方法(请求转发)有何不同?
HttpServletResponse类的sendRedirect方法可以把用户重新定向到其他页面或servlet,但是不能将用户对当前JSP页面或servlet的请求和响应 (HttpServletRequest对象和HttpServletResponse对象)传递给所重新定向JSP页面或servlet。
RequestDispatcher对象使用forward方法可以把用户对当前JSP页面或servle的 请求转发给另一个JSP页面或servlet,而且将用户对当前JSP页面或servlet的请 求和响应(HttpServletRequest对象和HttpServletResponse对象)传递给所转发的JSP页面或servlet。也就是说,当前页面所要转发的目标页面或servlet对象可以使用request获取用户提交的数据。
12、简述四种会作用域page/request/session/application。
到其他的资源后被删除。
。
范围内的对象。
。
13、简述Servlet的生命周期。
14、JSP中动态INCLUDE与静态INCLUDE的区别?
(1) 动态INCLUDE用jsp:include动作实现,它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。
(2) 静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面。
15、两种跳转方式分别是什么?有什么区别?
两种跳转方式分别是forward跳转:<jsp:forward page="跳转页面地址" />和response跳转:response.sendRedirect("跳转页面地址")。
前者页面不会转向include所指的页面,只是显示该页的结果,主页面还是原来的页面。执行完后还会回来,相当于函数调用。并且可以带参数。后者完全转向新页面,不会再回来。相当于go to 语句。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论