JavaWeb期末考试题必过宝典.docx

上传人:b****5 文档编号:29964948 上传时间:2023-08-03 格式:DOCX 页数:67 大小:59.59KB
下载 相关 举报
JavaWeb期末考试题必过宝典.docx_第1页
第1页 / 共67页
JavaWeb期末考试题必过宝典.docx_第2页
第2页 / 共67页
JavaWeb期末考试题必过宝典.docx_第3页
第3页 / 共67页
JavaWeb期末考试题必过宝典.docx_第4页
第4页 / 共67页
JavaWeb期末考试题必过宝典.docx_第5页
第5页 / 共67页
点击查看更多>>
下载资源
资源描述

JavaWeb期末考试题必过宝典.docx

《JavaWeb期末考试题必过宝典.docx》由会员分享,可在线阅读,更多相关《JavaWeb期末考试题必过宝典.docx(67页珍藏版)》请在冰豆网上搜索。

JavaWeb期末考试题必过宝典.docx

JavaWeb期末考试题必过宝典

 

JAVAWEB

期末考试必过宝典

版权所有·简圣光

JavaWeb考试题

1、说出Servlet的生命周期,并说出Servlet和CGI的区别?

【基础】

答:

Web容器加载Servlet并将其实例化后,Servlet生命周期开始,容器运行

其init方法进行Servlet的初始化,请求到达时运行其service方法,service

方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决

定将实例销毁的时候调用其destroy方法。

与cgi的区别在于servlet处于服务

器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请

求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后

就销毁,所以效率上低于servlet。

2、Servlet的基本架构。

【基础】

答:

publicclassServletNameextendsHttpServlet{

publicvoiddoPost(HttpServletRequestrequest,

HttpServletResponseresponse)

throwsServletException,IOException{

}

publicvoiddoGet(HttpServletRequestrequest,

HttpServletResponseresponse)

throwsServletException,IOException{

}

4、JSP中动态INCLUDE与静态INCLUDE的区别?

【基础】

答:

动态INCLUDE用jsp:

include动作实现〈jsp:

includepage="included.jsp”

flush="true"/〉它总是会检查所含文件中的变化,适合用于包含动态页面,并

且可以带参数;静态INCLUDE用include伪码实现,它不会检查所含文件的变化,

适用于包含静态页面<%@includefile="included。

htm”%>

6、JSP的内置对象及方法?

【基础】

答:

request表示HttpServletRequest对象。

它包含了有关浏览器请求的信息,

并且提供了几个用于获取cookie,header和session数据的有用的方法.

response表示HttpServletResponse对象,并提供了几个用于设置送回浏

览器的响应的方法(如cookies,头信息等)。

out对象是javax.jsp。

JspWriter的一个实例,并提供了几个方法使你能用

于向浏览器回送输出结果.

pageContext表示一个javax。

servlet。

jsp.PageContext对象.它是用于方

便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的

servlet相关功能的方法。

session表示一个请求的javax。

servlet。

http。

HttpSession对象.Session

可以存贮用户的状态信息。

application表示一个javax.servle.ServletContext对象.这有助于查找

有关servlet引擎和servlet环境的信息。

config表示一个javax.servlet。

ServletConfig对象。

该对象用于存取

servlet实例的初始化参数.

page表示从该页面产生的一个servlet实例。

7、JSP的常用指令?

【基础】

答:

<%@pagelanguage=”java"contenType=”text/html;charset=gb2312”

session=”true”buffer="64kb”autoFlush=”true”isThreadSafe=”true”

info=”text”errorPage=”error。

jsp”isErrorPage=”true”isELIgnored=”

true"pageEncoding=”gb2312”import=”java.sql.*"%>

isErrorPage:

是否能使用Exception对象;isELIgnored:

是否忽略EL表达式;

〈%@includefile="filename”%>

〈%@taglibprefix=”c”uri=”http:

//……"%>

8、jsp有哪些动作?

作用分别是什么?

【基础】

答:

JSP共有以下6种基本动作:

jsp:

include:

在页面被请求的时候引入一个文件;

jsp:

useBean:

寻找或者实例化一个JavaBean。

;

jsp:

setProperty:

设置JavaBean的属性。

jsp:

getProperty:

输出某个JavaBean的属性;

jsp:

forward:

把请求转到一个新的页面;

jsp:

plugin:

根据浏览器类型为Java插件生成OBJECT或EMBED标记.

9、jsp有哪些内置对象?

作用分别是什么?

【基础】

答:

JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应):

request:

用户端请求,此请求会包含来自GET/POST请求的参数;

response:

网页传回用户端的回应;

pageContext:

网页的属性是在这里管理;

session:

与请求有关的会话期;

application:

servlet正在执行的内容;

out:

用来传送回应的输出;

config:

servlet的构架部件;

page:

JSP网页本身;

exception:

针对错误网页,未捕捉的例外.

10、get和post的区别?

【基础】

答:

Form中的get和post方法,在数据传输过程中分别对应了HTTP协议中的

GET和POST方法。

二者主要区别如下:

1)Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据;

2)Get将表单中数据按照variable=value的形式,添加到action所指向的

URL后面,并且两者使用“?

”连接,而各个变量之间使用“&”连接;Post是将

表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action

所指向URL;

3)Get是不安全的,因为在传输过程,数据被放在请求的URL中;Post的

所有操作对用户来说都是不可见的;

4)Get传输的数据量小,这主要是因为受URL长度限制;而Post可以传输

大量的数据,所以在上传文件只能使用Post;

5)Get限制Form表单的数据集必须为ASCII字符,而Post支持整个ISO10646

字符集;

6)Get是Form的默认方法。

11、什么情况下调用doGet()和doPost()?

【基础】

答:

Jsp页面中的form标签里的method属性为get时调用doGet(),为post

时调用doPost()。

12、如何从form表单中得取checkbox的值;【基础】

答:

可在页面把checkbox的name属性取同一个,value属性取每个条目的id,

后台用getParamter(“name”)能取到checkbox的一组值。

13、页面中有一个命名为bankNo的下拉列表,写脚本获取当前选项的索引值。

答:

用java或javaScript的处理方式分别如下:

Java:

request.getParameter(“bankNo");

javaScript:

varselectItems=document。

getElementsByName(“bankNo”);

selectItems[0]。

value;

14、javascript常用的方面;【基础】

答:

常用于数据输入校验和页面特殊效果等。

15、常用的web容器和开发工具;【基础】

答:

最常用的容器包括:

tomcat、weblogic;

开发工具有:

eclipse,jbuilder。

16、请画出Servlet2.2以上WebApplication的基本目录结构(2分钟)

答:

目录结构如下图所示:

webapps

Applocation

|

__________________

||

JSP页面WEB-INF

|

___________________

|||

classeslibweb.xml

1.17、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?

有servlet为什么还要jsp?

答:

JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的

外表表达。

JSP编译后是”类servlet"。

Servlet和JSP最主要的不同点在于,

Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。

而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。

JSP侧重于

视图,Servlet主要用于控制逻辑。

jsp在其内容显示上更好,servlet在逻辑处理更据优越性,JSP是显示层的。

重在显示.Servelt是控制层的,重在业务逻辑。

可以降低耦合、有利于分工。

18、jsp的四种范围?

【基础】

答:

a.page是代表与一个页面相关的对象和属性.一个页面由一个编译好的

Javaservlet类(可以带有任何的include指令,但是没有include动作)

表示。

这既包括servlet又包括被编译成servlet的JSP页面

b.request是代表与Web客户机发出的一个请求相关的对象和属性。

一个

请求可能跨越多个页面,涉及多个Web组件(由于forward指令和include动

作的关系)

c.session是代表与用于某个Web客户机的一个用户体验相关的对象和属

性。

一个Web会话可以也经常会跨越多个客户机请求

d。

application是代表与整个Web应用程序相关的对象和属性。

这实质上

是跨越整个Web应用程序,包括多个页面、请求和会话的一个全局作用域.

19、Request对象的主要方法?

【基础】

答:

setAttribute(Stringname,Object):

设置名字为name的属性值

getAttribute(Stringname):

返回由name指定的属性值

getAttributeNames():

返回request对象所有属性的名字集合(枚举)

getCookies():

返回客户端的所有Cookie对象,结果是一个Cookie数组

getCharacterEncoding():

返回请求中的字符编码方式

getContentLength():

返回请求的Body的长度

getHeader(Stringname):

获得HTTP协议定义的文件头信息

getHeaders(Stringname):

返回指定名的requestHeader的所有值(枚举)

getHeaderNames():

返回所有requestHeader的名字(枚举)

getInputStream():

返回请求的输入流,用于获得请求中的数据

getMethod():

获得客户端向服务器端传送数据的方法

getParameter(Stringname):

获得客户端请求中传送的name指定的参数值

getParameterNames():

获得客户端传送给服务器端的所有参数的名字(枚

举)

getParameterValues(Stringname):

获得有name指定的参数的所有值

getProtocol():

获取客户端向服务器端传送数据所依据的协议名称

getQueryString():

获得查询字符串

getRequestURI():

获取发出请求字符串的客户端地址

getRemoteAddr():

获取客户端的IP地址

getRemoteHost():

获取客户端的名字

getSession([Booleancreate]):

返回和请求相关Session

getServerName():

获取服务器的名字

getServletPath():

获取客户端所请求的脚本文件的路径

getServerPort():

获取服务器的端口号

removeAttribute(Stringname):

删除请求中的一个属性

20、如何实现servlet的单线程模式?

【基础】

答:

<%@pageisThreadSafe=”false”%〉

21、页面间对象传递的方法.【基础】

答:

request,session,application,cookie等。

22、详细描述MVC。

【基础】

答:

基于Java的Web应用系统采用MVC架构模式,即model(模型)、view(视

图)、control(控制)分离设计;这是目前WEB应用服务系统的主流设计方向.

Model:

即处理业务逻辑的模块,每一种处理一个模块;

View:

负责页面显示,显示MODEL处理结果给用户,主要实现数据到页面转

换过程;

Control:

负责每个请求的分发,把FORM数据传递给MODEL处理,把处理结

果的数据传递给VIEW显示。

23、MVC的各个部分都有那些技术来实现?

如何实现?

【基础】

答:

MVC是Model-View-Controller的简写。

"Model”代表的是应用的业务逻

辑(通过JavaBean,EJB组件实现),"View"是应用的表示面(由JSP页面产

生),"Controller”是提供应用的处理过程控制(一般是一个Servlet),通

过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。

这些组

件可以进行交互和重用。

24、应用服务器有那些?

【基础】

答:

BEAWebLogicServer,IBMWebSphereApplicationServer,Oracle9i

ApplicationServer,JBoss,Tomcat。

25、Servlet执行时一般实现哪几个方法?

【基础】

答:

publicvoidinit(ServletConfigconfig)

publicServletConfiggetServletConfig()

publicStringgetServletInfo()

publicvoidservice(ServletRequestrequest,ServletResponse

response)

publicvoiddestroy()

28、几种会话跟踪技术?

【基础】

答:

cookie、URL重写、设置表单隐藏域。

29、BS与CS的联系与区别?

【基础】

答:

C/S是Client/Server的缩写,是客户机与服务器结构的应用程序,服务器

通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、

Sybase、Informix或SQLServer.客户端需要安装专用的客户端软件。

B/S是

Brower/Server的缩写,是浏览器和服务器结构的应用程序,即Web应用程序,

客户机上只要安装一个浏览器(Browser),如NetscapeNavigator或Internet

Explorer,服务器安装Oracle、Sybase、Informix或SQLServer等数据库。

在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,

但是主要事务逻辑在服务器端实现.浏览器通过WebServer同数据库进行数据

交互。

C/S与B/S区别:

1)硬件环境不同:

C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过

专门服务器提供连接和数据交换服务;

B/S建立在广域网之上的,不必是专门的网络硬件环境,例与电话上网,租

用设备.信息自己管理。

有比C/S更强的适应范围,一般只要有操作系统和浏

览器就行;

2)对安全要求不同:

C/S一般面向相对固定的用户群,对信息安全的控制能力很强。

一般高度

机密的信息系统采用C/S结构适宜。

可以通过B/S发布部分可公开信息;

B/S建立在广域网之上,对安全的控制能力相对弱,可能面向不可知的用

户;

3)对程序架构不同:

C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可

以较少考虑;

B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上。

比C/S有更高的要求B/S结构的程序架构是发展的趋势,从MS的。

Net系列的

BizTalk2000Exchange2000等,全面支持网络的构件搭建的系统.SUN和

IBM推的JavaBean构件技术等,使B/S更加成熟;

4)软件重用不同:

C/S程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的

构件的重用性好;

B/S对的多重结构,要求构件相对独立的功能。

能够相对较好的重用.就入

买来的餐桌可以再利用,而不是做在墙上的石头桌子;

5)系统维护不同:

C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级。

级难。

可能是再做一个全新的系统;

B/S构件组成,方面构件个别的更换,实现系统的无缝升级。

系统维护开销

减到最小。

用户从网上自己下载安装就可以实现升级;

6)处理问题不同:

C/S程序可以处理用户面固定,并且在相同区域,安全要求高需求,与操

作系统相关。

应该都是相同的系统;

B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到

的。

与操作系统平台关系最小;

7)用户接口不同:

C/S多是建立的Window平台上,表现方法有限,对程序员普遍要求较高;

B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流。

并且大

部分难度减低,减低开发成本;

8)信息流不同:

C/S程序一般是典型的中央集权的机械式处理,交互性相对低;

B/S信息流向可变化,B—BB-CB—G等信息、流向的变化,更像交易中心。

30、过滤器有哪些作用?

【基础】

答:

可以验证客户是否来自可信的网络,可以对客户提交的数据进行重新编码,

可以从系统里获得配置的信息,可以过滤掉客户的某些不应该出现的词汇,可以

验证用户是否登录,可以验证客户的浏览器是否支持当前的应用,可以记录系统

的日志等等。

31、过滤器的用法?

(对客户端的请求统一编码和对客户端进行认证)【基础】

答:

首先要实现(implements)Filter接口,同时覆盖Filter接口的三个方法:

init(FilterConfigconfig)//用于获得FilterConfig对象;

doFilter(ServletRequestrequest,ServletResponseresponse,

FilterChainchain)//进行过滤处理一些业务;

destroy()//销毁Filter.

32、简述HttpSession的作用、使用方法,可用代码说明。

(3分钟)【基础】

答:

HttpSession中可以跟踪并储存用户信息,把值设置到属性中,有2个方法:

setAttribute(),getAttrribute();

例如:

在一个方法中用session。

setAttribute(“student”,student);在

session中设置一个属性名为student,值为一个名为student的对象。

而后可在

同一session范围内用getAttribute(“student”)取出该属性,得到student

对象。

33、介绍在JSP中如何使用JavaBeans?

【基础】

答:

在JSP中使用JavaBean常用的动作有:

1)

useBean/>:

用来创建和查找bean对象;

2)〈jsp:

setProperty/〉:

用来设置bean的属性,即调用其setXxx()方法;

3)〈jsp:

getProperty/>:

用来获得bean的属性,即调用其getXxx()方法.

34、JSP和Servlet中的请求转发分别如何实现?

【基础】

答:

JSP中的请求转发可利用forward动作实现:

forward/〉;

Serlvet中实现请求转发的方式为:

getServletContext().getRequestDispatcher(path)。

forward(req,res).

35、Web.Xml的作用?

【基础】

答:

用于配置web应用的信息;如listener、filter及servlet的配置信息等。

36、写出熟悉的JSTL标签。

【基础】

答:

〈c:

if>、〈c:

choose>、〈c:

when>、〈c:

otherwise〉、

forEach>、

set>.

38、JSP标签的作用?

如何定义?

【中等难度】

答:

作用:

分离jsp页面的内容和逻辑;

业务逻辑开发者可以创建自定义标签;

封装业务逻辑;

可重用并且易维护;

易于手工修改、易于工具维护;

提供简洁的语法;

定义:

写标签处理器;

写tld文件;

讲标签处理器和tld文件放到同一个包里面;

把jsp页面和标签库配置部署在一起。

39、写一个自定义标签;【中等难度】

答:

代码如下:

importjavax。

servlet。

jsp。

tagext。

*;

importjavax。

servlet.jsp。

*;

importjava.io.*;

publicclassTimeTagextendsSimpleTagSupport{

privatebooleanisServer=true;

publicvoidsetServer(booleanisServer){

this。

isServer=isServer;

}

publicvoiddoTag()throwsJspException,IOException{

JspWriterout=getJspContext().getOut();

if(isServer){

out。

println(newjava.util.Date());

}else{

out.println(”〈scriptlanguage=\"javascript\">");

out。

println("document.write(newDate());”);

out。

println(”

}

}

40、javascript的优缺点和内置对象;【中等难度】

答:

1)优点:

简单易用,与Java有类似的语法,可以使用任何文本编辑工具编

写,只需要浏览器就可执行程序,并且事先不用编译,逐行执行,无

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1