JavaWeb期末考试攻略:Servlet生命周期与CGI对比

版权申诉
0 下载量 37 浏览量 更新于2024-07-03 收藏 72KB DOCX 举报
"JavaWeb期末考试题复习指南" 在JavaWeb开发中,了解核心概念和技术是至关重要的,尤其是在准备期末考试时。以下是一些关键知识点的详细解释: 1. **Servlet生命周期**: Servlet的生命周期包括三个主要阶段:初始化、服务和销毁。首先,Web容器(如Tomcat)在接收到第一次请求时加载Servlet类并创建一个或多个实例,调用`init()`方法进行初始化。接着,在每次请求到达时,容器会调用`service()`方法,该方法会根据HTTP请求类型(GET或POST)选择性地调用`doGet()`或`doPost()`等方法处理请求。最后,当服务器决定停止服务或者应用关闭时,会调用`destroy()`方法,释放Servlet占用的资源。 2. **Servlet与CGI的区别**: Servlet是在服务器进程中运行,支持多线程处理,一个Servlet实例可以服务于多个请求,提高了性能。而CGI(Common Gateway Interface)每次请求都会启动一个新的进程来处理,处理完就销毁,这导致了较大的系统开销,效率相对较低。 3. **Servlet的基本架构**: 一个标准的Servlet通常继承自`HttpServlet`类,覆盖`doGet()`和`doPost()`方法。这两个方法分别对应HTTP的GET和POST请求,用于处理客户端发来的数据。 4. **JSP中动态INCLUDE与静态INCLUDE**: - **动态INCLUDE**:使用`<jsp:include>`标签,如`<jsp:include page="included.jsp" flush="true"/>`,会在每次请求时检查并包含目标页面,适合包含动态内容,可以传递参数。 - **静态INCLUDE**:使用`<%@include file="included.htm"%>`,在编译JSP时就将包含的文件合并到主文件中,不会检查包含文件的更新,适用于包含静态内容。 5. **JSP的内置对象**: JSP提供了九个内置对象,其中`request`和`response`是最常用的两个: - **request对象**:代表`HttpServletRequest`,提供获取请求头、参数、cookies和session数据的方法,如`getParameter()`, `getHeader()`, `getSession()`等。 - **response对象**:代表`HttpServletResponse`,用于设置响应头和状态码,以及向客户端发送数据,如`setHeader()`, `setStatus()`, `getOutputStream()`等。 除了这些基本概念,JavaWeb还包括JDBC(Java Database Connectivity)用于数据库操作,MVC(Model-View-Controller)设计模式用于组织代码结构,以及JSP标签库(如JSTL)简化页面逻辑等。理解这些知识点,以及如何在实际项目中应用它们,是成为一名熟练的JavaWeb开发者的关键步骤。在复习时,建议通过编写小项目、做练习题和阅读相关文档来加深理解和记忆。