JavaWeb 是Java技术在Web开发中的应用,主要涉及服务器端编程和交互。本考试文档主要涵盖了JavaWeb的基础知识,包括J2EE组件、MVC架构、JSP语法、Servlet生命周期、JavaBean、JDBC API以及Web应用的不同架构模式。下面我们将逐一详细讨论这些知识点。
1. **J2EE组件与MVC架构**:
- J2EE组件在MVC(Model-View-Controller)架构中的角色:
- **Servlet** 作为Controller,负责接收和处理用户请求,控制业务流程。
- **Bean** 作为Model,实现了业务逻辑和数据模型。
- **JSP** 作为View,用于呈现数据,展示给用户。
- **Applet** 和JSP在Web层实现View部分,提供面向浏览器的数据表现。
- **Application Client** 不是MVC的一部分,它实现的是桌面应用的数据逻辑。
2. **JSP语法与异常处理**:
- JSP页面可以使用`exception`对象,但需设置`isErrorPage`属性为`true`,表示当前页面是一个错误处理页面。
3. **Servlet处理流程**:
- 错误步骤是B:Servlet引擎调用Servlet的`service()`方法,而不是ejb容器。ejb容器是处理EJB(Enterprise JavaBeans)的,而Servlet引擎负责Servlet的管理。
4. **JSP表达式**:
- JSP表达式中不能直接混合变量类型,如整型与字符串,所以选项B和C都是错误的。选项A `<%=str;%>`会直接输出字符串对象,但不推荐这样写,因为会输出对象的内存地址,而非字符串内容。因此,正确的表述是D:以上都不对。
5. **JavaBean方法签名**:
- `getTotalScore()`应该返回浮点数(float),因为分数可能包含小数,所以正确声明是选项B:`public float getTotalScore()`。
6. **Servlet生命周期方法**:
- Servlet的三个主要方法是初始化(`init()`)、服务(`service()`)和销毁(`destroy()`)。
7. **Java Servlet API**:
- javax.servlet包并不提供对除HTTP之外其他协议的支持。它是为HTTP服务设计的,而javax.servlet.http提供了HTTP协议的特殊支持。
8. **JDBC API**:
- 执行SQL语句的对象是`Statement`或`PreparedStatement`。选项C的`java.sql.Statement`是正确的。
9. **Session对象**:
- `session.invalidate()`方法使得Session失效,清除Session中的所有数据。
10. **JSP注释**:
- JSP的注释语法是`<%-- 注释内容 --%>`,选项B是正确的。
11. **C/S与B/S结构**:
- C/S结构需要客户端安装特定应用程序,而B/S结构只需要浏览器即可访问应用。错误的说法是D,因为B/S结构中客户端不需要运行额外的客户端应用程序。
这些知识点构成了JavaWeb开发的基础,包括组件交互、错误处理、数据访问以及架构模式的理解。对于JavaWeb开发者来说,熟练掌握这些概念和技术是至关重要的。