《JavaWeb编程技术》课后习题答案.docx
- 文档编号:1694868
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:20
- 大小:144.61KB
《JavaWeb编程技术》课后习题答案.docx
《《JavaWeb编程技术》课后习题答案.docx》由会员分享,可在线阅读,更多相关《《JavaWeb编程技术》课后习题答案.docx(20页珍藏版)》请在冰豆网上搜索。
JavaWeb编程习题解析
第1章习题解析
1.略。
什么是URL,什么是URI,它们都由哪几个部分组成,URL和URI之间有什么关系?
2.答:
URL称为统一资源定位符,URL通常由4部分组成:
协议名称、页面所在主机的DNS名、可选的端口号和资源的名称。
URI称为统一资源标识符,是以特定语法标识一个资源的字符串。
URI由模式和模式特有的部分组成,它们之间用冒号隔开,一般格式如下:
schema:
schema-specific-part
URI是URL和URN的超集。
3.答:
①是URL,①和②都是URI,③是URN
动态web文档技术有哪些?
服务器端动态文档技术的客户端动态文档技术有何不同?
4.答:
动态Web文档技术包括服务器端动态文档技术和客户端动态文档技术,前者包括CGI技术、服务器扩展技术和HTML页面中嵌入脚本技术。
其中HTML页面中嵌入脚本技术包括ASP、PHP和JSP技术。
最流行的客户端动态文档技术是在HTML页面中嵌入JavaScript脚本代码。
使用JavaScript可以设计交互式页面。
与服务器端动态文档不同,JavaScript脚本是在客户端执行的。
什么是Servlet?
什么是Servlet容器?
它的主要作用是什么?
5.答:
Servlet是用ServletAPI开发的Java程序,它运行在Servlet容器中。
Servlet容器是运行Servlet的软件,主要用来扩展Web服务器的功能。
简述开发一个Servlet的上体步骤
6.答:
开发Servlet的一般步骤包括:
(1)编写Servlet源程序;
(2)编译;(3)将Servlet部署到Servlet容器中;(4)访问执行Servlet。
要使一个Servlet能够正确编译的运行,应该将什么文件加到CLASSPATH环境变量中?
7.答:
web应用程序的部署描述文件名是什么?
它是什么类型的文件?
应该存放在什么目录中?
8.答:
部署描述文件名是web.xml,它是XML文件,应该存放在Web应用程序的\WEB-INF目录中。
什么是404错误?
9.答:
当服务器找不到用户请求的资源时将发生404错误。
什么是JSP页面?
它与HTML页面有什么关系?
10.答:
JSP页面是嵌入了Java脚本元素的HTML页面。
Servlet与JSP各适用于什么场合?
11.答:
Servlet主要用来实现业务逻辑和控制逻辑,JSP页面主要用来实现表示逻辑。
第2章习题解析
Servlet接口中定义了哪几个方法?
1.答:
Servlet接口定义了下面5个方法:
publicvoidinit(ServletConfigconfig)
publicvoidservice(ServletRequestrequest,ServletResponseresponse)
throwsServletException,IOException
publicvoiddestroy()
publicServletConfiggetServletConfig()
publicStringgetServletInfo()
简述Servlet的生命周期,生命周期方法有哪几个?
2.答:
Servlet是在容器中运行的组件,有一个从创建到销毁的过程,其中包括加载和实例化、初始化、提供服务以及销毁几个阶段。
其中生命周期方法有init()、service()和destroy()等3个。
发生哪些事件,浏览器会向服务器发出请求?
3.答:
发生下列事件,浏览器向服务器发出请求。
(1)用户点击了HTML页面中的超链接;
(2)用户在HTML页面中填写一个表单并点击提交按钮;
(3)用户在浏览器的地址栏中输入URL并按回车键。
4.答:
查询串
5.答:
HTTP请求结构由请求行、请求头、空行和请求数据组成。
请求行由方法名、请求资源的URI和使用的HTTP版本3部分组成。
6.答:
HTTP响应结构由状态行、响应头和响应数据3部分组成。
状态行由HTTP版本、状态码和简短描述3部分组成。
7.答:
GET请求主要用来从服务器检索资源,POST请求主要用来向服务器发送数据。
它们的详细比较请参阅教材的表2.8。
8.答:
在ServletRequet接口中定义了setAttribute()、getAttribute()、getAttributeNames()和removeAttribute()方法来处理请求作用域的属性。
9.答:
forward()方法转发请求是服务器端控制权的转向,客户端地址栏中不显示转发后的资源地址。
sendRedirect()方法是服务器向浏览器发送302状态码,它使浏览器连接到新的位置,浏览器地址栏可看到地址的变化。
使用重定向,资源不能位于WEB-INF目录中。
10.答:
可先通过请求对象的getParameterNames()方法得到Enumeration对象,然后在其上得到每个请求参数名,再通过getParameter()得到请求参数值。
11.答:
A12.答:
B13.答:
E
14.答:
action="courseServlet.do"
HttpServlet
com.demo.CourseServlet
courseServlet
15.答:
①E②D③C④B⑤A
第3章习题解析
1.答:
Web应用程序是运行在应用服务器之中的。
应用服务器为Web应用程序提供一种简单的和可管理的对系统资源的访问机制。
2.答:
web.xmlbankapp\WEB-INF
3.答:
D4.答:
A5.答:
D
6.答:
F7.答:
E8.答:
D
9.答:
getServletConfig().getServletContext()或getServletContext()
10.答:
B11.答:
B12.答:
D
13.答:
因为Applet只能运行在客户端,所以可以将它放在Web应用程序的文档根目录的任何位置,但不能将其放在WEB-INF目录或其子目录中。
14.答:
不能这样做,至少不能直接这样。
部署描述文件不允许为一个名称指定多个参数,所以必须像下面这样:
然后在Servlet中解析param-value串的值并解释字符串中列出的多个值。
15.答:
packagecom.demo;
importjavax.servlet.*;
importjavax.servlet.http.*;
importjava.io.*;
publicclassHelloCounterServletextendsHttpServlet{
privateIntegervisits=0;
publicvoiddoGet(HttpServletRequestrequest,
HttpServletResponseresponse)
throwsIOException,ServletException{
response.setContentType("text/html;charset=gb2312");
PrintWriterout=response.getWriter();
visits=visits+1;
try{
Thread.sleep(2000);
}catch(InterruptedExceptione){
log("Exceptionduringsleeping.");
}
out.println("
");out.println("欢迎您!
"+"该Servlet已被访问"+visits+"次。
");
out.println("");
}
}
修改后的Servlet如下:
packagecom.demo;
importjavax.servlet.*;
importjavax.servlet.http.*;
importjava.io.*;
publicclassHelloCounterServletextendsHttpServlet{
privateIntegervisits=0;
privateStringdbPath=null;
publicvoidinit(){
try{
dbPath=getServletContext().getRealPath("/WEB-INF/counter.db");
FileInputStreamfis=newFileInputStream(dbPath);
DataInputStreamdis=newDataInputStream(fis);
visits=dis.readInt();
dis.close();
}catch(Exceptione){
log("Errorloadingpersistentcounter",e);
}
}
publicvoiddoGet(HttpServletRequestrequest,
HttpServletResponseresponse)
throwsIOException,ServletException{
response.setContentType("text/html;charset=gb2312");
PrintWriterout=response.getWriter();
synchronized(this){
visits=visits+1;
out.println("
");out.println("欢迎您!
"+"该Servlet已被访问"+visits+"次。
");
out.println("");
}
}
publicvoiddestroy(){
try{
FileOutputStreamfos=newFileOutputStream(dbPath);
DataOutputStreamdos=newDataOutputStream(fos);
dos.writeInt(visits);
dos.close();
}catch(Exceptione){
log("Er
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JavaWeb编程技术 JavaWeb 编程 技术 课后 习题 答案