第一章 JavaEE 概述 1.使用 JSP 开发程序存在如下弊端。 由于大量的显示代码和业务逻辑混淆在一起,不利于程序的维护和扩展。 2.JavaEE 的体系结构:表示层、中间层、数据层,三层结构的好处如下。 2.1 一个组件的更改不会影响其他两个组件。 2.2 由于表示层和数据库层相互独立, 因而可以方便的扩充表示层, 使系统具有的 良好的可扩展性。 2.3 代码重复减少,在 3 个组件之间尽可能的共享代码。 2.4 良好的分工和协作。这将使不同的小组能够独立地开发应用程序的不同部分, 并充分发挥各自的长处和优势。 3.GET、POST 请求的区别如下。 3.1 GET 提交数据在地址栏内显示,不安全;而 POST 不显示,相对安全。 3.2 GET 提交数据量有限制,而 POST 没有。 3.3 GET 请求的页面可以设置为书签或使用邮件发送;而 POST 不可以。 4.HTTP 协议是无状态协议,当浏览器向服务器发送一个请求后,服务器对该请求作出 响应,当响应结束后,就断开连接,彼此不保存连接信息(一次请求有效) 。 第二章 Servlet 基础 1. 什么是 Servlet? 编程角度:实现了 Servlet 接口的 Java 对象; 功能角度:是在服务器上运行,以处理客户端请求,并作出响应的程序; 2. Servlet 的结构: Javax.servlet.* (跨协议的 Servlet) Javax.servlet.http.* (HTTP 协议) 3. Servlet 编程模式的步骤: a) 获取请求参数 b) 处理业务逻辑 c) 根据处理结果,返回响应 4. Servlet 的生命周期 a) 加载和实例化:Servlet 容器创建 Servlet 的实例 b) 初始化:该容器调用 init()方法 c) 服务:如果请求 Servlet,则容器调用 service()方法 d) 销毁:销毁实例之前调用 destory()方法 5. Request 的常用方法如下。 a) request.getParameter(“param”); 获取请求参数 b) request.setCharacterEncoding(“GBK”); 设置请求参数的字符编码格式 c) request.setArrtibute(“loginname”,user);在 request 作用域内保存数据的方法 6. response 的常用方法 a) response.setContentType(“text/html;charset=GBK”). //设置响应的编码格式 b) response.sendRedirect(“url”); //重定向 7. 实现页面的跳转有两种方式:转发和重定向。转发可以以 request 作用域进行数据 的传递;重定向将丢失 request 作用域内的数据。 8. Web.xml 是 Web 项目中的”调度员”,容器根据在 URL 中访问的 Servlet 在 web.xml 文件中进行查询 (查找方式:
中 -->
中
) ,并调用该 Servlet 以处理用户的请求。
的会话跟踪( 第三章 基于 Servlet 的会话跟踪(一) 1. 什么是 session? a) session 是指在一段时间内,单个客户与 Web 服务器的一连串的相关的交互过 程。 2. 为什么要使用 session? a) 在 Web 中使用
session,是为了跟踪用户状态,并区分不同的用户 3. 会话是 Web 容器创建的,而不是由程序员编码创建的。当客户端浏览器第一次访 问服务器的时候,服务器为客户创建一个 session。 4. 结束 session 有以下 3 种方式。 a) 关闭浏览器 b) 两次访问的间隔时间大于非活动时间 c) 调用 HttpSession 的 invalidate()方法 5. 使用 HttpSession 提供的 setAttribute()方法保存数据,而使用 getAttribute()方法获取 数据。 的会话跟踪( 第四章 基于 Servlet 的会话跟踪(二) 1. HttpSession 对象在 Web 程序中是很重要的一种技术,服务器可以使用它来区分不 同的用户,对其进行不同的操作,这种功能尤其体现在 Web 购物系统中,程序通 过对 HttpSession 对象的控制,从而区分用户的身份和状态。 2. 在 HttpSession 对象中进行存值和取值。 a) setAttribute(String name,Object value). b) getAttribute(String name). 3. 在 Java 中常用的集合接口有 List、Set 和 Map。 a) 常用的 List 接口的实现类有 ArrayList 类(查询、随机性能高) 、LinkedList 类。 b) 常用的 Set 接口的实现类有 HashSet 类。 c) 常用的 Map 接口的实现类