JavaWeb程序设计习题参考答案第16章资料.docx
- 文档编号:23826684
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:7
- 大小:18.11KB
JavaWeb程序设计习题参考答案第16章资料.docx
《JavaWeb程序设计习题参考答案第16章资料.docx》由会员分享,可在线阅读,更多相关《JavaWeb程序设计习题参考答案第16章资料.docx(7页珍藏版)》请在冰豆网上搜索。
JavaWeb程序设计习题参考答案第16章资料
JavaWeb-程序设计-习题参考答案(第1-6章)资料
《JavaWeb程序设计》练习题参考答案
第一章:
Servlet基础
1、下列选项中属于动态网站技术的是_________(多选)答:
PHP/ASP/JSP
A、PHPB、ASP
C、JavaScriptD、JSP
参考答案:
PHP(HypertextPreprocessor):
超文本预处理器,其语法大量借鉴C、Java、Perl等语言,只需要很少的编程知识就能使用PHP建立一个真正交互的Web站点,由于PHP开放源代码,并且是免费的,所以非常流行,是当今Inter上最为火热的脚本语言之一。
ASP(ActiveServerPages):
是一种类似、Script与CGI结合体的技术,他没有提供自己专门的编程语言,允许用户使用许多已有的脚本语言编写ASP应用程序局限于微软的IIS,般只适用于中小型站点,但目前ASP升级演变而来的ASP.支持大型网站的开发。
JSP(JavaServerPages):
是基于JavaServlet以及Java体系的Web开发技术。
能在大部分服务器上运行,而且易于维护和管理,安全性能方面也被认为是三种基本动态网站技术中最好的。
2、下列关于Servlet的说法正确的是_______(多选)
A、Servlet是一种动态网站技术B、Servlet运行在服务端
C、Servlet针对每个请求使用一个进程来处理
D、Servlet与普通的Java类一样,可以直接运行,不需要环境支持参考答案:
Servlet是一种动态网站技术,是运行在服务器端,Servlet针对每个请求使用一个线程来处理,而不是启动一个进程,传统的CGI为每次请求启动一个进程来处理。
所以Servlet的效率更高
3、下列关于Servlet的编写方式正确的是______(多选)
A、必须是Servlet的子类
B、通常需要覆盖doGet()和doPost()方法或其一C、通常需要覆盖service()方法
D、通常要在web.xml文件中声明和两个元素参考答案:
A、B、D
必须继承servlet类,不需要覆盖servlce()方法,service()方法是Servlet接口中的方法,Servlet是Servlet的父类,该方法会根据请求类型选择执行doGet()或doPost()方法。
所以通常需要覆盖doGet()和doPost()方法或其一。
4、下列关于Servlet生命周期的说法正确的是____(多选)A、构造方法只会调用一次B、init()方法只会调用一次
C、service()方法在每次请求此Servlet时都会被调用D、destroy()方法在每次请求完毕时会被调用。
1
参考答案:
B、C
Servlet生命周期由servlet接口定义,
每次请求会生成一个对象,所以构造方法会调用多次Init():
publicvoidinit(ServletConfigconfig)throwsServletException;
Servlet引擎会在Servlet实例化之后,置入服务之前精确地调用init方法。
在调用service方法之前,init方法必须成功退出。
如果init方法抛出一个ServletException,你不能将这个Servlet置入服务中,如果init方法在超时范围内没完成,我们也可以假定这个Servlet是不具备功能的,也不能置入服务中。
Service()
:
publicvoidservice(ServletRequestrequest,ServletResponseresponse)throwsServletException,IOException;
Servlet引擎调用这个方法以允许Servlet响应请求。
这个方法在Servlet未成功初始化之前无法调用。
在Servlet被初始化之前,Servlet引擎能够封锁未决的请求。
在一个Servlet对象被卸载后,直到一个新的Servelt被初始化,Servlet引擎不能调用这个方法
每次请求都会被调用但是不会被覆盖,覆盖的是相应的do方法Destroy():
publicvoiddestroy();
当一个Servlet被从服务中去除时,Servlet引擎调用这个方法。
在这个对象的service方法所有线程未全部退出或者没被引擎认为发生超时操作时,destroy方法不能被调用。
这个方法给servlet释放占用的资源的机会,通常用来执行一些清理任务。
服务器关闭时才销毁这个Servlet对象
5、下列方式中可以执行TestServlet(路径为/test)的doPost()方法是____(多选)
A、在IE中直接访问:
//localhost:
8080/网站名/testB、提交表单
C、提交表单D、在JavaScript中执行下述代码:
Document.getElementById(“form1”).action=”/网站名/test”;Document.getElementById(“form1”).method=”post”;Document.getElementById(“form1”).submit;参考答案:
C、D
A.在地址栏上访问是get方式
B.在表单里如果不写method,默认也是get方式
6、针对下述JSP页面,在Servlet中需要得到用户选择的爱好的数量,最合适的代码时____
1
标签配置该Servlet的加载方式,可选值为0和1,如果配置为1.Tomcat会在启动时候加载该Servlet,否则,Tomcat会在有人第一次请求该Servlet时才加载该Servlet2、加载成功后,Servlet容器便可以创建一个Servlet实例。
Servlet加载并实例化后,在处
理客户端请求前,容器必须通过调用它的init方法进行初始化
3、实例创建好后,就要对其初始化。
Servlet的init()方法的主要任务就是完成初始化工作。
该方法由Servlet容器调用完成。
对于每一个Servlet实例,该方法只允许被调用一次。
4、利用service处理请求
在Servlet被成功初始化后容器就可以使用它去处理客户端发来的请求了。
在使用协议发送请求时,容器必须提供代表请求和回应的ServletRequest对象和ServlerRespons
5、利用destroy()方法终止服务
在Servlet执行完毕或是在处理请求过程中出现UnavailiableException异常,需要移除Servlet,在移除之前,Servlet会调用destroy()方法让Servlet自动释放占用的资源。
?
第一次访问时会执行init()方法,第二次访问不会执行init()方法。
9、简述转发和重定向跳转方式的区别,在Servlet中分别使用什么方法实现?
重定向跳转方式的区别:
转发和重定向都可以使浏览器获得另外一个URL所指向的资源,区别是转发共享同一个请求对象,而重定向不共享同一个请求对象。
在Servlet中分别使用什么方法实现?
在Servlet中转发使用RequestDispatcher接口的forward()方法实现。
重定向由ServletResponse接口的sendRedirect()方法实现。
第二章Servlet会话跟踪
1、下列关于Cookie的说法正确的是_____.(多选)A、Cookie保存在客户端
3
B、Cookie可以被服务器修改
C、Cookie中可以保存任意长度的文本D、浏览器可以关闭Cookie功能参考答案:
A、B、D
Cookie是保存在客户端的,也可以被服务器修改,但是Cookie的长度是有限的,浏览器可以关闭Cookie功能。
2、写入和读取Cookie的代码分别是_______
A、request.addCookies()和response.getCookies();B、response.addCookie()和request.getCookie();C、response.addCookies()和request.getCookies();D、response.addCookie()和request.getCookies();参考答案:
D
3、Tomcat的默认端口是______A、80B、8080C、8088D、8000参考答案:
B
4、ServletRequest的____方法可以得到会话(多选)
A、getSession()
B、getSession(Boolean)C、getRequestSession();D、getSession();
参考答案:
A、B(参看p38)
5、下列选项中可以关闭会话的是______(多选)A、调用Session的close方法
B、调用Session的invalidate()方法C、等待Session超时
D、调用ServletRequest的getSession(false)方法参考答案:
A、B、C、D
Session的invalidate()方法,使得回话失效,同时删除属性对象等待Session超时Session失效。
publicSessiongetSession();
返回与这个请求关联的当前的有效的session。
如果调用这个方法时没带参数,那么在没有session与这个请求关联的情况下,将会新建一个session。
publicSessiongetSession(booleancreate);调用这个方法时带入了一个布尔型的参数,只有当这个参数为真时,session才会被建立。
ServletRequest的getSession(false)方法
为了确保session能够被完全维持。
Servlet开发者必须在响应被提交之前调用该方法。
如果带入的参数为假,而且没有session与这个请求关联。
这个方法会返回空值。
6、在Session中写入和读取数据的方法是_____A、setParameter()和getParameter()B、setAttributer()和getAttribute()
4
C、addAttributer()和getAttribute()D、set()个get()参考答案:
B
getParameter()是获取参数,addAttributer()是保存Cookie到客户端set()和get()是一对修改属性的方法,
7、下列关于ServletContext的说法正确的是_____(多选)
A、一个应用对应一个ServletContext
B、ServletContext的范围比Session的范围要大。
C、第一个会话在ServletContext中保存了数据,第二个会话读取不到这些数据D、ServletContext使用setAttributer()和getAttribute()方法操作数据。
参考答案:
A、B、D
Servlet上下文是运行Servlet的逻辑容器,同一个上下文中共享存有其中的信息和属性,在Servlet中定义了一个ServletContext接口,用于存取Servlet运行的环境或者上下文信息。
ServletContext对象可以通过使用ServletConfig对象的getServletContext()方法获得,在Servlet中提供的getServletContext()方法也可是直接获得ServletContext对象。
?
getServletContext:
publicServletContextgetServletContext();返回这个Servlet的ServletContext对象。
8、关于Session的getAttibute()和setAttribute()方法,正确的说法是_____(多选)
A、getAttributer()方法返回类型是StringB、getAttributer()方法返回类型是Object
C、setAttributer()方法保存数据时如果名字重复会抛出异常
D、setAttributer()方法保存数据时如果名字重复会覆盖以前的数据参考答案:
B、D
ServletAPI解释如下:
getAttribute(java.lang.Stringname)
Returnstheobjectboundwiththespecifiednameinthissession,ornullifnoobjectisboundunderthename.
可以运行以下代码测试:
Sessionsession=request.getSession();session.setAttribute(\session.setAttribute(\
out.print(\));
9、使得Session失效的三种方式是______、_______、和_________
参考答案:
关闭浏览器、调用session的invalidate方法和等待session超时10、测试在其他浏览器下Session的生命周期,如:
Firefox、Chrome等。
略。
第三章JSP基础
1、下列关于JSP执行过程的说法正确的是____(多选)
A、JSP在容器启动时会被翻译成Servlet,并编译为字节码文件。
5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JavaWeb 程序设计 习题 参考答案 16 资料
![提示](https://static.bdocx.com/images/bang_tan.gif)