Javaweb复习题文档格式.doc
- 文档编号:6737619
- 上传时间:2023-05-07
- 格式:DOC
- 页数:6
- 大小:62KB
Javaweb复习题文档格式.doc
《Javaweb复习题文档格式.doc》由会员分享,可在线阅读,更多相关《Javaweb复习题文档格式.doc(6页珍藏版)》请在冰点文库上搜索。
getProperty、jsp:
forward、jsp:
plugin、jsp:
fallback、jsp:
param。
<
useBean>
:
寻找或者实例化一个JavaBean。
include>
在页面被请求的时候引入一个文件。
setProperty>
设置JavaBean的属性。
getProperty>
输出某个JavaBean的属性。
forward>
把请求转到一个新的页面。
plugin>
根据浏览器类型为Java插件生成OBJECT或EMBED标记。
fallback>
:
用于Java插件不能启动时显示给用户的的信息弹出。
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的基本架构
Servlet的基本框架是由两个Java包组成:
Javax.servlet和javax.servlet.http。
在javax.servlet包中定义了所有的servlet类都必须实现或扩展的通用接口和类,在javax.servlet.http包中定义了支持HTTPServlet类。
Servlet的框架的核心是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机制,将表单内各个字段与其内容放置在HTMLHEADER内一起传送到ACTION属性所指的URL地址。
用户看不到这个过程。
(3)对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
(4)get传送的数据量较小,不能大于2KB。
post传送的数据量较大,一般被默认为不受限制。
但理论上,IIS4中最大量为80KB,IIS5中为100KB。
(5)get安全性非常低,post安全性较高。
09、JavaServlet的主要功能和作用是什么?
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经编译后就变成了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。
(1)page范围:
具有page范围的对象被绑定到javax.servlet.jsp.PageContext对象中。
在这个范围内的对象,只能在创建对象的页面中访问。
可以调用pageContext这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象(pageContext对象还提供了访问其他范围对象的getAttribute方法),pageContext对象本身也属于page范围。
当Servlet类的_jspService()方法执行完毕,属于page范围的对象的引用将被丢弃。
page范围内的对象,在客户端每次请求JSP页面时创建,在页面向客户端发送回响应或请求被转发(forward)到其他的资源后被删除。
(2)request范围:
具有request范围的对象被绑定到javax.servlet.ServletRequest对象中,可以调用request这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象。
在调用forward()方法转向的页面或者调用include()方法包含的页面中,都可以访问这个范围内的对象。
要注意的是,因为请求对象对于每一个客户请求都是不同的,所以对于每一个新的请求,都要重新创建和删除这个范围内的对象。
(3)session范围:
具有session范围的对象被绑定到javax.servlet.http.HttpSession对象中,可以调用session这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象。
JSP容器为每一次会话,创建一个HttpSession对象,在会话期间,可以访问session范围内的对象。
(4)application范围:
具有application范围的对象被绑定到javax.servlet.ServletContext中,可以调用application这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象。
在Web应用程序运行期间,所有的页面都可以访问在这个范围内的对象。
13、简述Servlet的生命周期。
servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。
这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。
Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。
14、JSP中动态INCLUDE与静态INCLUDE的区别?
(1)动态INCLUDE用jsp:
include动作实现,它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。
(2)静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面。
15、两种跳转方式分别是什么?
有什么区别?
两种跳转方式分别是forward跳转:
forwardpage="
跳转页面地址"
/>
和response跳转:
response.sendRedirect("
前者页面不会转向include所指的页面,只是显示该页的结果,主页面还是原来的页面。
执行完后还会回来,相当于函数调用。
并且可以带参数。
后者完全转向新页面,不会再回来。
相当于goto语句。
16、简述请求转发和请求重定向的区别。
进行请求转发时,存储在request对象中的信息会被保留并带到目标页面中;
请求重定向是重新生成一个request请求,然后将该请求重定向到指定的URL,所以事先存储在request对象中的信息都不存在了。
17、JSP和Servlet中的请求转发分别如何实现?
JSP中的请求转发可利用forward动作实现:
;
Serlvet中实现请求转发的方式为:
getServletContext().getRequestDispatcher(path).forward(req,res)。
18、JSP中Model2的工作原理是什么?
JSP的Model2实际上就是引入了MVC设计模式,采用Servlet+JavaBean+JSP进行开发。
Model2采用Servlet作为控制器(Controller)负责接收客户端Web浏览器发送来的所有请求,并依据处理的不同结果,转发到对应的JSP页面(Viewer)实现在浏览器客户端的显示。
通常在Servlet中只包含了控制逻辑和一些简单的处理逻辑,更加复杂的业务处理逻辑则借助特定的JavaBean(Model)具体实现。
19、简述include指令标识和<
动作标识的差异。
(1)inlcude指令通过file属性来确定被包含的页面,将file属性值看做一个实际存在的文件路径,所以该指令不支持任何表达式;
动作标识通过page属性确定被包含的页面,支持JSP表达式。
(2)include指令包含的文件,内容会原封不动的插入到该指令的位置,与该指令合成进行编译,若改变了被包含文件,主文件要重新编译;
动作标识包含文件时,当该标识被执行时,程序会将请求转发到被包含的文件,并将执行结果输出到浏览器中,然后返回到包含文件继续执行后面的代码,JSP编译器对两个文件分别进行编译,被包含文件改动不会影响源文件。
20、简述内置对象session和application的区别。
Session对象和用户会话相关,不同用户的session是完全不同的对象,而用户的application对象都是相同的一个对象,即共享这个对象。
21、在Servlet的doGet()和doPost()方法中,如何得到与JSP内置对象out、request、rsponse、session、application分别对应的对象?
(1)可以通过以下代码获取out对象:
PrintWriterout=response.getWriter();
(2)Servlet直接继承了HttpServlet类,可以直接使用request和response对象
(3)可以通过以下代码获取session对象:
HttpSessionsession=request.getSession();
(4)application是javax.servlet.ServletContext类的对象,需要通过ServletConfig.getServletContext()来获取。
Servlet自动定义了ServletConfig对象。
故可以使用以下application对象
ServletContextapplication=this.getServletContext();
或者:
ServletConfigconfig=getServletConfig();
ServletContextapplication=config.getServletContext();
22、简述数据库连接池的实现原理。
(1)预先创建一定数量的连接,存放在连接池中。
(2)当程序请求一个连接时,连接池是为该请求分配一个空闲连接,而不是去重新建立一个连接;
当程序使用完连接后,该链接将重新回到连接池中,而不是直接将连接释放。
(3)当连接池中的空闲连接数量低于下限时,连接池将根据管理机制追加创建一定数量的连接;
当空线连接数量高于上限时,连接池将释放一定数量的连接。
23、forward和redirect的区别
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。
redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。
24、有两个页面a.jsp和b.jsp,要从a.jsp传值到b.jsp有几种方法?
分别是什么?
(1)最常用的方法是用form中的text、input然后在b.jsp页面中这样获取:
Stringusername=request.getParameter(参数名)
(2)直接在Url地址栏里面输入第一个页面的地址,在后加问号,然后把要传的参数及值写在后面,如有多个用&
隔开,然后在下一页面用:
request.getParameter(\参数名\)来获取。
(3)在form中放hidden,后在下一页面用:
25、JSP页面是如何被执行的?
JSP执行效率比Servlet低吗?
当客户端向一个JSP页面发出请求时,WebContainer将JSP转化成Servlet的源代码(只在第一次请求时),然后编译转化后的Servlet并加载到内存中执行,执行的结果Response到客户端。
JSP只在第一次执行的时候会转化为Servlet,以后每次执行Web容器都是直接执行编译后的Servlet,所以JSP和Servlet只是在第一次执行的时候不一样,JSP慢一点,以后的执行都是相同的。
26、HttpServlet类中的主要方法都有哪些?
HttpServlet的主要方法有doGet,doPost,doPut,doDelete,doTrace等等。
27、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。
JSP编译后是\类servlet\。
Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。
而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。
JSP侧重于视图,Servlet主要用于控制逻辑。
28、简述Java中异常处理的机制?
异常处理机制可以从两个方面来描述,当一个Java程序违反了Java语义规范时,JVM虚拟机就会抛出一个异常,比如说当遇到null时,会抛出一个NullPointerException,当遇到下标越界的时候回抛出一个IndexOutOfBroundsException,除此之外,程序员还可以自定义异常,去扩展这种语义的检查,并在合适的时机通过throw关键字抛出异常。
29、什么是继承?
继承,指一个对象直接使用另一对象的属性和方法。
30、请简述重载和重写的区别?
(1)方法重载是让类以统一的方式处理不同类型数据的一种手段。
多个同名函数同时存在,具有不同的参数个数/类型。
重载Overloading是一个类中多态性的一种表现。
(2)Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。
调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法,这就是多态性。
(3)重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。
无法以返回型别作为重载函数的区分标准。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Javaweb 复习题