当前位置:首页 > JavaWeb编程技术(沈泽刚版)教材习题参考答案
Java实验指导与习题解析 web.xml文件使用
3. 答:有些客户浏览器可能不支持Cookie或用户阻止所有的Cookie,此时不能用Cookie实现会话。
4. 答:使用响应对象(即HttpServletResponse接口)的encodeURL()方法或encodeRedirectURL()方法。
5. 答:不能。因为许多用户是通过代理服务器访问Internet的,此时服务器得到的是代理服务器的IP地址而不是实际用户的IP地址,因此这些用户的IP地址不唯一。
6. 答:D 7. 答:A, B 8. 答:A, D 9. 答:C 10. 答:A,C 11. 答:C 12. 答:C, D 13. 答:B,C 14. 答:C 15. 答:B 16. 答:A 17. 答:C 18. 答:A,B,D,F
19. 答:具有很大的影响。该应用程序将不能维护用户的状态。Servlet容器将为每个客户的每次请求都创建一个新的会话。修改这个问题的唯一方法是修改Servlet代码加入URL重写功能。
4.5 第5章习题解析
1. 答:包含JSP指令、JSP小脚本和JSP表达式。 2. 答:合法的JSP表达式:
<%= 500 %>
<%= anInt*3.5/100-500 %> <%= aBool %> <%= false %> <%= !false %> <%= getChar() %>
<%= Math.random() %> <%= aFloatObj %>
<%= aFloatObj.floatValue() %> <%= aFloatObj.toString() %>
不合法的JSP表达式:
<%= aVector %> <%= aBool; %>
<%= int i = 20 %>
<%= sBuff.setLength(12); %>
3. 答:C
4. 答:正确声明应为:
<%! int i = 5; %>
<% !int getI() { return i; } %>
5. 答:B是合法的。解析:JSP表达式中百分号和等号之间不能有空格。
6. 答:D。解析:A中import的属性值中应该有等号。B的import属性值应该在一个字符串中指定。C,属性之间不允许有逗号。E,bgcolor不是合法的属性名。F,true不是buffer属性合法值。G,指令名、属性名和值都是大小写敏感的,Page应为page。
7. 答:B,C
A.非法:等号表明它是表达式,但表达式不能以分号结束,产生的Servlet代码将发生语法错误。
out.print(myObj.m1(););
B.合法:<%=x=y%>将被转换成:
out.print(x=y); // y的值5赋给x并将其打印输出
C. 合法:这是合法的小脚本,因为在方法调用语句的后面有分号。即使该方法返回一个值,它也是合法的,因为返回的值将被忽略。
8. 答:不能在小脚本中定义方法。上面代码一旦被转换成Servlet,_jspService()方法就会像下面这样:
public void _jspService(...){ // 其他代码 int x = 0;
int incr() { return ++x; }
out.write(\out.print(incr()); }
由于incr()方法定义在_jspService()方法内,所以代码不能编译。 9. 答:The value of i is 3
注意:如果代码写成下面形式:
<% int i; %>
<% for(i = 0; i<3; i++)%>The value of i is <%=i%>
输出结果将为:
The value of i is The value of i is The value of i is 3
10. 答:不能在japInit()方法中使用application对象。 11. 答:The sum of x and y is 9 变量x将被声明两次:一次是作为类的全局变量,因为使用了<%! int x = 5; %>语句,另一次是在_jspService()方法中声明的局部变量,因为使用的代码是<% int x = 3; %>。 12. 答:B 13. 答:C,E 97 第 4 章 Java Web编程习题解析 Java实验指导与习题解析 14. 答:②③⑥④①⑤ 15. 答: 98 out.write(\int count = 0 ; out.write(\out.print( ++count );
out.write(\
16. 答:
Page改为page
<%! int count = 0 %> // 声明缺少分号 <% count++; %> // 去掉分号
17. 答:D 18. 答:
<% Float one = new Float(88.88) %> 小脚本 <%! int y = 3; %> 声明 <%@ page import=\指令 19. 答:A,B,C,E 20. 答:A,B,C,D 21. 答:D 22. 答:C 23. 答: request (javax.servlet.http.HttpServletRequest) response (javax.servlet.http.HttpServletResponse) out (javax.servlet.jsp.JspWriter) session (javax.servlet.http.HttpSession) application (javax.servlet.ServletContext) config (javax.servlet.ServletConfig) exception (java.lang.Throwable ) pageContext (javax.servlet.jsp.PageContext) page (java.lang.Object) 24. 答:共有4个作用域对象:application、session、request和pageContext。用setAttribute()方法和getAttribute()方法在这些对象上设置和获得属性。在application作用域上的对象可以被Servlet容器的所有的Web应用程序访问。 25. 答:可以使用pageContext的findAttribute()方法,该方法将依次在页面作用域、请求作用域、会话作用域和应用作用域中查找指定名称的属性。 4.6 第6章习题解析 1. 答:B 2. 答:⑤ 3. 答:这两种表示等价,但第一种表示使用了JSP脚本元素,第二种表示使用的是动 作。它们的功能类似,但有一点细微的差别。pageContext.include()方法在包含其他组件之前总是刷新当前页面的输出,而 4. 答:请求对象的getParameter()方法的返回值类型是String,因此display.jsp中的Integer应改为String。使用 5. 答:D 6. 答:C 7. 答:B 8. 答:可以。页面customerDisplay.jsp文件可以使用 9. 答: <%@ page import=\ type=\ 10. 答:不能在同一个 11. 答:必须使用property指定bean的属性。param用来指定请求参数,并且不能在同一个 12. 答:使用代码段1是只有在指定作用域中找不到customer的bean对象时才执行标签体,使用代码段2在任何时候都执行属性设置标签。 13. 答:可以在一个动作中设置bean的全部属性: 但不能在一个动作中获得全部属性值。 14. 答:C 15. 答:MVC模式称为模型-视图-控制器模式。该模式将Web应用的组件分为模型、视图和控制器,每种组件完成各自的任务。该模型将业务逻辑和数据访问从表示层分离出来。实现MVC模式的一般步骤:(1)定义JavaBeans表示数据;(2)使用Servlet处理请求;(3)填写JavaBeans对象数据;(4)将结果存储在作用域对象中;(5)将请求转发到JSP页面;(6)最后在JSP页面中从JavaBeans中取出数据。 4.7 第7章习题解析 1. 答:两层模型即客户机/服务器模型,在两层模型中应用程序直接通过JDBC驱动程序访问数据库。三层模型是浏览器/应用服务器/数据库服务器结构,在该结构中浏览器向应用服务器发出请求,应用服务器通过JDBC驱动程序访问数据库。 Java Web编程习题解析 99 第 4 章
共分享92篇相关文档