日期:2014-05-16  浏览次数:20362 次

Jsp和Servlet总结
JSP方面:
1、jsp有哪些内置对象?作用分别是什么?
答:JSP共有以下9种基本内置组件:
request      用户端请求,此请求会包含来自GET/POST请求的参数
response        网页传回用户端的回应
pageContext        页面上下文,网页的属性是在这里管理
session         会话,跟浏览器相关,可跨越多个不同的请求保存数据
application servlet      应用程序上下文
out         用来传送回应的输出
config       servlet 的构架部件
page JSP      网页本身
exception        针对错误网页,未捕捉的例外 

2、jsp有哪些动作?作用分别是什么?

答:JSP共有以下6种基本动作
jsp:include:在页面被请求的时候引入一个文件。
jsp:useBean:寻找或者实例化一个JavaBean。
jsp:setProperty:设置JavaBean的属性。
jsp:getProperty:输出某个JavaBean的属性。
jsp:forward:把请求转到一个新的页面。
jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记

3、JSP中动态INCLUDE与静态INCLUDE的区别?
答:动态INCLUDE用jsp:include动作实现
<jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合
用于包含动态页面,并且可以带参数
静态INCLUDE用include伪码实现,不会检查所含文件的变化,适用于包含静态页面
<%@ include file="included.htm" %>

4、两种跳转方式分别是什么?有什么区别?
答:有两种,分别为:
<jsp:include page="included.jsp" flush="true">
<jsp:forward page= "nextpage.jsp"/>
前者页面不会转向 include 所指的页面,只是显示该页的结果,主页面还是原来的页面。执行完
后还会回来,相当于函数调用。并且可以带参数.后者完全转向新页面,不会再回来。相当于go to 语句。

Servlet方面:
1、Servlet的生命周期?
答:servlet 有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个
生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。

2、JAVA SERVLET API中forward() 与redirect()的区别?
答:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是
完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以
看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,
并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,
则必须使用sendRedirect()方法。