1、JavaWeb期末考试题必过宝典JAVAWEB期末考试必过宝典版权所有简圣光JavaWeb考试题1、说出Servlet 的生命周期,并说出Servlet 和CGI 的区别? 【基础】答:Web 容器加载Servlet 并将其实例化后,Servlet 生命周期开始,容器运行其init 方法进行Servlet 的初始化,请求到达时运行其service 方法,service方法自动派遣运行与请求对应的doXXX 方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy 方法。与cgi 的区别在于servlet 处于服务器进程中,它通过多线程方式运行其service 方法,
2、一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI 对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。2、Servlet 的基本架构。【基础】答:public class ServletName extends HttpServlet public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException public void doGet(HttpServletRequest request,HttpServ
3、letResponse response)throws ServletException, IOException 4、JSP 中动态INCLUDE 与静态INCLUDE 的区别?【基础】答:动态INCLUDE 用jsp:include 动作实现jsp:include page=included.jsp”flush=true /它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数;静态INCLUDE 用include 伪码实现,它不会检查所含文件的变化,适用于包含静态页面6、JSP 的内置对象及方法?【基础】答:request 表示HttpServletRequest 对象。它包
4、含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header 和session 数据的有用的方法.response 表示HttpServletResponse 对象,并提供了几个用于设置送回浏览器的响应的方法(如cookies,头信息等)。out 对象是javax.jsp。JspWriter 的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果.pageContext 表示一个javax。servlet。jsp.PageContext 对象.它是用于方便存取各种范围的名字空间、servlet 相关的对象的API,并且包装了通用的servlet 相关功能的方法。sessio
5、n 表示一个请求的javax。servlet。http。HttpSession 对象.Session可以存贮用户的状态信息。application 表示一个javax.servle.ServletContext 对象.这有助于查找有关servlet 引擎和servlet 环境的信息。config 表示一个javax.servlet。ServletConfig 对象。该对象用于存取servlet 实例的初始化参数.page 表示从该页面产生的一个servlet 实例。7、JSP 的常用指令?【基础】答:isErrorPage:是否能使用Exception 对象;isELIgnored:是否忽略E
6、L 表达式;%include file=filename”taglib prefix=”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 有
7、哪些内置对象?作用分别是什么? 【基础】答:JSP 共有以下9 种基本内置组件(可与ASP 的6 种内部组件相对应):request:用户端请求,此请求会包含来自GET/POST 请求的参数;response:网页传回用户端的回应;pageContext:网页的属性是在这里管理;session:与请求有关的会话期;application:servlet 正在执行的内容;out:用来传送回应的输出;config:servlet 的构架部件;page:JSP 网页本身;exception:针对错误网页,未捕捉的例外.10、get 和post 的区别?【基础】答:Form 中的get 和post 方
8、法,在数据传输过程中分别对应了HTTP 协议中的GET 和POST 方法。二者主要区别如下:1)Get 是用来从服务器上获得数据,而Post 是用来向服务器上传递数据;2)Get 将表单中数据按照variable=value 的形式,添加到action 所指向的URL 后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post 是将表单中的数据放在form 的数据体中,按照变量和值相对应的方式,传递到action所指向URL;3)Get 是不安全的,因为在传输过程,数据被放在请求的URL 中;Post 的所有操作对用户来说都是不可见的;4)Get 传输的数据量小,这主要是因为受URL
9、 长度限制;而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”
10、)能取到checkbox 的一组值。13、页面中有一个命名为bank No 的下拉列表,写脚本获取当前选项的索引值。答:用java 或javaScript 的处理方式分别如下:Java: request.getParameter(“bank No);javaScript:var selectItems = document。getElementsByName(“bank No”);selectItems0。value;14、javascript 常用的方面;【基础】答:常用于数据输入校验和页面特殊效果等。15、常用的web 容器和开发工具;【基础】答:最常用的容器包括:tomcat、weblo
11、gic;开发工具有:eclipse,jbuilder。16、请画出Servlet 2.2 以上Web Application 的基本目录结构(2 分钟)答:目录结构如下图所示:webappsApplocation|_| JSP 页面WEB-INF|_ classes lib web.xml1.17、JSP 和Servlet 有哪些相同点和不同点,他们之间的联系是什么?有servlet为什么还要jsp?答:JSP 是Servlet 技术的扩展,本质上是Servlet 的简易方式,更强调应用的外表表达。JSP 编译后是”类servlet。Servlet 和JSP 最主要的不同点在于,Servlet
12、 的应用逻辑是在Java 文件中,并且完全从表示层中的HTML 里分离开来。而JSP 的情况是Java 和HTML 可以组合成一个扩展名为.jsp 的文件。JSP 侧重于视图,Servlet 主要用于控制逻辑。 jsp在其内容显示上更好,servlet在逻辑处理更据优越性,JSP是显示层的。重在显示.Servelt 是控制层的,重在业务逻辑。可以降低耦合、有利于分工。18、jsp 的四种范围?【基础】答:a.page 是代表与一个页面相关的对象和属性.一个页面由一个编译好的Java servlet 类(可以带有任何的include 指令,但是没有include 动作)表示。这既包括servle
13、t 又包括被编译成servlet 的JSP 页面b.request 是代表与Web 客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个Web 组件(由于forward 指令和include 动作的关系)c.session 是代表与用于某个Web 客户机的一个用户体验相关的对象和属性。一个Web 会话可以也经常会跨越多个客户机请求d。application 是代表与整个Web 应用程序相关的对象和属性。这实质上是跨越整个Web 应用程序,包括多个页面、请求和会话的一个全局作用域.19、Request 对象的主要方法? 【基础】答:setAttribute(String na
14、me,Object):设置名字为name 的属性值getAttribute(String name):返回由name 指定的属性值getAttributeNames():返回request 对象所有属性的名字集合(枚举)getCookies():返回客户端的所有Cookie 对象,结果是一个Cookie 数组getCharacterEncoding():返回请求中的字符编码方式getContentLength():返回请求的Body 的长度getHeader(String name):获得HTTP 协议定义的文件头信息getHeaders(String name):返回指定名的request
15、Header 的所有值(枚举)getHeaderNames():返回所有request Header 的名字(枚举)getInputStream():返回请求的输入流,用于获得请求中的数据getMethod():获得客户端向服务器端传送数据的方法getParameter(String name):获得客户端请求中传送的name 指定的参数值getParameterNames():获得客户端传送给服务器端的所有参数的名字(枚举)getParameterValues(String name):获得有name 指定的参数的所有值getProtocol():获取客户端向服务器端传送数据所依据的协议名称
16、getQueryString():获得查询字符串getRequestURI():获取发出请求字符串的客户端地址getRemoteAddr():获取客户端的IP 地址getRemoteHost():获取客户端的名字getSession(Boolean create):返回和请求相关SessiongetServerName():获取服务器的名字getServletPath():获取客户端所请求的脚本文件的路径getServerPort():获取服务器的端口号removeAttribute(String name):删除请求中的一个属性20、如何实现servlet 的单线程模式?【基础】答:page
17、 isThreadSafe=”false”%21、页面间对象传递的方法.【基础】答:request,session,application,cookie 等。22、详细描述MVC。【基础】答:基于Java 的Web 应用系统采用MVC 架构模式,即model(模型)、view(视图)、control(控制)分离设计;这是目前WEB 应用服务系统的主流设计方向.Model:即处理业务逻辑的模块,每一种处理一个模块;View:负责页面显示,显示MODEL 处理结果给用户,主要实现数据到页面转换过程;Control:负责每个请求的分发,把FORM 数据传递给MODEL 处理,把处理结果的数据传递给V
18、IEW 显示。23、MVC 的各个部分都有那些技术来实现?如何实现? 【基础】答:MVC 是ModelViewController 的简写。Model” 代表的是应用的业务逻辑(通过JavaBean,EJB 组件实现), View 是应用的表示面(由JSP 页面产生),Controller” 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。24、应用服务器有那些?【基础】答:BEA WebLogic Server, IBM WebSphere Application Server, Oracle
19、9iApplication Server, JBoss, Tomcat。25、Servlet 执行时一般实现哪几个方法?【基础】答:public void init(ServletConfig config)public ServletConfig getServletConfig()public String getServletInfo()public void service(ServletRequest request,ServletResponseresponse)public void destroy()28、几种会话跟踪技术?【基础】答:cookie、URL 重写、设置表单隐藏域
20、。29、BS 与CS 的联系与区别?【基础】答:C/S 是Client/Server 的缩写,是客户机与服务器结构的应用程序,服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix 或SQL Server.客户端需要安装专用的客户端软件。B/是Brower/Server 的缩写,是浏览器和服务器结构的应用程序,即Web 应用程序,客户机上只要安装一个浏览器(Browser),如Netscape Navigator 或InternetExplorer,服务器安装Oracle、Sybase、Informix 或SQL Server 等数据库
21、。在这种结构下,用户界面完全通过WWW 浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现.浏览器通过eb Server 同数据库进行数据交互。C/S 与B/S 区别:1)硬件环境不同:C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务;B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租用设备. 信息自己管理。 有比C/S 更强的适应范围, 一般只要有操作系统和浏览器就行;2)对安全要求不同:C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强。 一般高度机密的信息系统采用C/S 结构适宜。
22、 可以通过B/S 发布部分可公开信息;B/S 建立在广域网之上, 对安全的控制能力相对弱, 可能面向不可知的用户;3)对程序架构不同:C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑;B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上。比C/S 有更高的要求B/S 结构的程序架构是发展的趋势, 从MS 的。Net 系列的BizTalk 2000 Exchange 2000 等, 全面支持网络的构件搭建的系统. SUN 和IBM 推的JavaBean 构件技术等,使B/S 更加成熟;4)软件重用不同:C/S 程序可以不可避免的整体性考虑, 构
23、件的重用性不如在B/S 要求下的构件的重用性好;B/S 对的多重结构,要求构件相对独立的功能。 能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子;5)系统维护不同:C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级。 升级难。 可能是再做一个全新的系统;B/S 构件组成,方面构件个别的更换,实现系统的无缝升级。 系统维护开销减到最小。用户从网上自己下载安装就可以实现升级;6)处理问题不同:C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关。 应该都是相同的系统;B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这
24、是C/S 无法作到的。 与操作系统平台关系最小;7)用户接口不同:C/S 多是建立的Window 平台上,表现方法有限,对程序员普遍要求较高;B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流。 并且大部分难度减低,减低开发成本;8)信息流不同:C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低;B/S 信息流向可变化, BB B-C BG 等信息、流向的变化, 更像交易中心。30、过滤器有哪些作用?【基础】答:可以验证客户是否来自可信的网络,可以对客户提交的数据进行重新编码,可以从系统里获得配置的信息,可以过滤掉客户的某些不应该出现的词汇,可以验证用户是否登录,可以验证
25、客户的浏览器是否支持当前的应用,可以记录系统的日志等等。31、过滤器的用法?(对客户端的请求统一编码和对客户端进行认证)【基础】答:首先要实现(implements)Filter 接口,同时覆盖Filter 接口的三个方法:init(FilterConfig config) /用于获得FilterConfig 对象;doFilter(ServletRequest request, ServletResponse response,FilterChain chain) /进行过滤处理一些业务;destroy() /销毁Filter.32、简述HttpSession 的作用、使用方法,可用代码说明
26、。(3 分钟)【基础】答:HttpSession 中可以跟踪并储存用户信息,把值设置到属性中,有2 个方法:setAttribute(),getAttrribute();例如:在一个方法中用session。setAttribute(“student”,student);在session 中设置一个属性名为student,值为一个名为student 的对象。而后可在同一session 范围内用getAttribute(“student”)取出该属性,得到student对象。33、介绍在JSP 中如何使用JavaBeans?【基础】答:在JSP 中使用JavaBean 常用的动作有:1):用来创建
27、和查找bean 对象;2)jsp:setProperty /:用来设置bean 的属性,即调用其setXxx()方法;3)jsp:getProperty /:用来获得bean 的属性,即调用其getXxx()方法.34、JSP 和Servlet 中的请求转发分别如何实现?【基础】答:JSP 中的请求转发可利用forward 动作实现:、c:choose、c: when、c: otherwise、.38、JSP 标签的作用?如何定义?【中等难度】答:作用:分离jsp 页面的内容和逻辑;业务逻辑开发者可以创建自定义标签;封装业务逻辑;可重用并且易维护;易于手工修改、易于工具维护;提供简洁的语法;定
28、义:写标签处理器;写tld 文件;讲标签处理器和tld 文件放到同一个包里面;把jsp 页面和标签库配置部署在一起。39、写一个自定义标签;【中等难度】答:代码如下:import javax。servlet。jsp。tagext。*;import javax。servlet.jsp。*;import java.io.;public class TimeTag extends SimpleTagSupportprivate boolean isServer = true;public void setServer(boolean isServer)this。isServer = isServer
29、;public void doTag() throws JspException, IOExceptionJspWriter out = getJspContext().getOut();if(isServer) out。println(new java.util.Date();elseout.println(”script language=javascript);out。println(document.write(new Date());”);out。println(”/script);40、javascript 的优缺点和内置对象;【中等难度】答:1)优点:简单易用,与Java 有类似的语法,可以使用任何文本编辑工具编写,只需要浏览器就可执行程序,并且事先不用编译,逐行执行,无
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1