《JavaWeb编程技术》课后习题答案.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《《JavaWeb编程技术》课后习题答案.docx》由会员分享,可在线阅读,更多相关《《JavaWeb编程技术》课后习题答案.docx(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java Web编程习题解析 第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. 答
2、:动态Web文档技术包括服务器端动态文档技术和客户端动态文档技术,前者包括CGI技术、服务器扩展技术和HTML页面中嵌入脚本技术。其中HTML页面中嵌入脚本技术包括ASP、PHP和JSP技术。最流行的客户端动态文档技术是在HTML页面中嵌入JavaScript脚本代码。使用JavaScript可以设计交互式页面。与服务器端动态文档不同,JavaScript脚本是在客户端执行的。什么是Servlet?什么是Servlet容器?它的主要作用是什么?5. 答:Servlet是用Servlet API开发的Java程序,它运行在Servlet容器中。Servlet容器是运行Servlet的软件,主要用
3、来扩展Web服务器的功能。简述开发一个Servlet的上体步骤6. 答:开发Servlet的一般步骤包括:(1)编写Servlet源程序;(2)编译;(3)将Servlet部署到Servlet容器中;(4)访问执行Servlet。要使一个Servlet能够正确编译的运行,应该将什么文件加到CLASSPATH环境变量中?7. 答:libservlet-api.jar文件。应用程序的部署描述文件名是什么?它是什么类型的文件?应该存放在什么目录中?8. 答:部署描述文件名是web.xml,它是XML文件,应该存放在Web应用程序的WEB-INF目录中。什么是错误?9. 答:当服务器找不到用户请求的资
4、源时将发生404错误。什么是JSP页面?它与HTML页面有什么关系?10. 答:JSP页面是嵌入了Java脚本元素的HTML页面。Servlet与JSP各适用于什么场合?11. 答:Servlet主要用来实现业务逻辑和控制逻辑,JSP页面主要用来实现表示逻辑。 第2章习题解析Servlet接口中定义了哪几个方法?1. 答:Servlet接口定义了下面5个方法:public void init(ServletConfig config) public void service(ServletRequest request, ServletResponse response) throws Ser
5、vletException, IOException public void destroy() public ServletConfig getServletConfig() public String getServletInfo()简述Servlet的生命周期,生命周期方法有哪几个?2. 答:Servlet是在容器中运行的组件,有一个从创建到销毁的过程,其中包括加载和实例化、初始化、提供服务以及销毁几个阶段。其中生命周期方法有init()、service()和destroy()等3个。发生哪些事件,浏览器会向服务器发出请求?3. 答:发生下列事件,浏览器向服务器发出请求。(1)用户点击了
6、HTML页面中的超链接;(2)用户在HTML页面中填写一个表单并点击提交按钮;(3)用户在浏览器的地址栏中输入URL并按回车键。4. 答:查询串5. 答:HTTP请求结构由请求行、请求头、空行和请求数据组成。请求行由方法名、请求资源的URI和使用的HTTP版本3部分组成。6. 答:HTTP响应结构由状态行、响应头和响应数据3部分组成。状态行由HTTP版本、状态码和简短描述3部分组成。7. 答:GET请求主要用来从服务器检索资源,POST请求主要用来向服务器发送数据。它们的详细比较请参阅教材的表2.8。8. 答:在ServletRequet接口中定义了setAttribute()、getAttr
7、ibute()、getAttributeNames()和removeAttribute()方法来处理请求作用域的属性。9. 答:forward()方法转发请求是服务器端控制权的转向,客户端地址栏中不显示转发后的资源地址。sendRedirect()方法是服务器向浏览器发送302状态码,它使浏览器连接到新的位置,浏览器地址栏可看到地址的变化。使用重定向,资源不能位于WEB-INF目录中。10. 答:可先通过请求对象的getParameterNames()方法得到Enumeration对象,然后在其上得到每个请求参数名,再通过getParameter()得到请求参数值。11. 答:A 12. 答:
8、B 13. 答:E14. 答: action=courseServlet.do HttpServlet com.demo.CourseServlet courseServlet15. 答: E D C B A 第3章习题解析1. 答:Web应用程序是运行在应用服务器之中的。应用服务器为Web应用程序提供一种简单的和可管理的对系统资源的访问机制。2. 答:web.xml bankappWEB-INF3. 答:D 4. 答:A 5. 答:D6. 答:F 7. 答:E 8. 答:D9. 答:getServletConfig().getServletContext()或getServletContex
9、t()10. 答:B 11. 答:B 12. 答:D13. 答:因为Applet只能运行在客户端,所以可以将它放在Web应用程序的文档根目录的任何位置,但不能将其放在WEB-INF目录或其子目录中。14. 答:不能这样做,至少不能直接这样。部署描述文件不允许为一个名称指定多个参数,所以必须像下面这样:countriesAustralia,Brazil,India,UK,US 然后在Servlet中解析param-value串的值并解释字符串中列出的多个值。15. 答:package com.demo;import javax.servlet.*;import javax.servlet.htt
10、p.*;import java.io.*;public class HelloCounterServlet extends HttpServlet private Integer visits = 0; public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException response.setContentType(text/html;charset=gb2312); PrintWriter out = response.getWrite
11、r(); visits = visits +1; try Thread.sleep(2000); catch(InterruptedException e) log(Exception during sleeping.); out.println(); out.println(欢迎您! + 该Servlet已被访问 + visits + 次。); out.println(); 修改后的Servlet如下:package com.demo;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;public clas
12、s HelloCounterServlet extends HttpServlet private Integer visits = 0; private String dbPath = null; public void init() trydbPath = getServletContext().getRealPath(/WEB-INF/counter.db);FileInputStream fis = new FileInputStream(dbPath);DataInputStream dis = new DataInputStream(fis);visits = dis.readIn
13、t();dis.close();catch(Exception e)log(Error loading persistent counter, e); public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException response.setContentType(text/html;charset=gb2312); PrintWriter out = response.getWriter(); synchronized(this) vi
14、sits = visits +1; out.println(); out.println(欢迎您! +该Servlet已被访问 + visits + 次。); out.println(); public void destroy()tryFileOutputStream fos = new FileOutputStream(dbPath);DataOutputStream dos = new DataOutputStream(fos);dos.writeInt(visits);dos.close();catch(Exception e)log(Error storing persistent
15、counter, e); 第4章习题解析1. 答:使用请求对象(即HttpServletRequest接口)的getSession()方法。2. 答:如果客户在指定时间内没有访问服务器,则该会话超时。对超时的会话对象,服务器使其失效。通过会话对象的setMaxInactiveInterval()方法设置会话最大超时时间。web.xml文件使用元素的子元素设置最大超时时间,如下所示。20这里的最大超时时间是对整个应用程序的所有会话有效,元素指定的时间单位是分钟。setMaxInactiveInterval()方法参数单位是秒。3. 答:有些客户浏览器可能不支持Cookie或用户阻止所有的Cook
16、ie,此时不能用Cookie实现会话。4. 答:使用响应对象(即HttpServletResponse接口)的encodeURL()方法或encodeRedirectURL()方法。5. 答:不能。因为许多用户是通过代理服务器访问Internet的,此时服务器得到的是代理服务器的IP地址而不是实际用户的IP地址,因此这些用户的IP地址不唯一。6. 答:D 7. 答:A, B 8. 答:A, D9. 答:C 10. 答:A,C 11. 答:C12. 答:C, D 13. 答:B,C 14. 答:C15. 答:B 16. 答:A 17. 答:C18. 答:A,B,D,F 19. 答:具有很大的影响
17、。该应用程序将不能维护用户的状态。Servlet容器将为每个客户的每次请求都创建一个新的会话。修改这个问题的唯一方法是修改Servlet代码加入URL重写功能。 第5章习题解析1. 答:包含JSP指令、JSP小脚本和JSP表达式。2. 答:合法的JSP表达式:不合法的JSP表达式:3. 答:C4. 答:正确声明应为:5. 答:B是合法的。解析:JSP表达式中百分号和等号之间不能有空格。6. 答:D。解析:A中import的属性值中应该有等号。B的import属性值应该在一个字符串中指定。C,属性之间不允许有逗号。E,bgcolor不是合法的属性名。F,true不是buffer属性合法值。G,指
18、令名、属性名和值都是大小写敏感的,Page应为page。7. 答:B,CA.非法:等号表明它是表达式,但表达式不能以分号结束,产生的Servlet代码将发生语法错误。out.print(myObj.m1(););B.合法:将被转换成:out.print(x=y); / y的值5赋给x并将其打印输出C. 合法:这是合法的小脚本,因为在方法调用语句的后面有分号。即使该方法返回一个值,它也是合法的,因为返回的值将被忽略。8. 答:不能在小脚本中定义方法。上面代码一旦被转换成Servlet,_jspService()方法就会像下面这样:public void _jspService(.)/ 其他代码i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JavaWeb编程技术 JavaWeb 编程 技术 课后 习题 答案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内