《JavaWeb编程技术》课后习题答案.docx

上传人:b****2 文档编号:1694868 上传时间:2022-10-23 格式:DOCX 页数:20 大小:144.61KB
下载 相关 举报
《JavaWeb编程技术》课后习题答案.docx_第1页
第1页 / 共20页
《JavaWeb编程技术》课后习题答案.docx_第2页
第2页 / 共20页
《JavaWeb编程技术》课后习题答案.docx_第3页
第3页 / 共20页
《JavaWeb编程技术》课后习题答案.docx_第4页
第4页 / 共20页
《JavaWeb编程技术》课后习题答案.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

《JavaWeb编程技术》课后习题答案.docx

《《JavaWeb编程技术》课后习题答案.docx》由会员分享,可在线阅读,更多相关《《JavaWeb编程技术》课后习题答案.docx(20页珍藏版)》请在冰豆网上搜索。

《JavaWeb编程技术》课后习题答案.docx

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.答:

\lib\servlet-api.jar文件。

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.答:

不能这样做,至少不能直接这样。

部署描述文件不允许为一个名称指定多个参数,所以必须像下面这样:

countries

Australia,Brazil,India,UK,US

然后在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

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

当前位置:首页 > 高中教育 > 英语

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

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