### Servlet与JSP知识点总结 #### 一、Servlet概述及基本使用 - **Servlet定义**:Servlet是一种服务器端的小程序,用于处理来自Web浏览器或其他HTTP客户端的请求,并返回响应。Servlet通常作为MVC架构模式中的控制器组件来使用。 - **Servlet的三个要素**: 1. **继承关系**:所有Servlet都必须继承自`javax.servlet.http.HttpServlet`类,这样就可以直接处理HTTP请求和响应。 2. **方法实现**:必须实现`doGet()`或`doPost()`方法(或两者都实现),这两个方法分别处理HTTP GET和POST请求。 3. **配置信息**:必须在部署描述文件`web.xml`中进行配置,指定Servlet的名称和实现类。配置示例: ```xml <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>com.example.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/myservlet</url-pattern> </servlet-mapping> ``` - **请求对象**:`HttpServletRequest`对象代表客户端发送给服务器的请求,常用方法包括: - `getParameter(String name)`:获取表单元素的值。 - `getAttribute(String name)`:获取存储在`HttpServletRequest`对象中的属性值。 - `setAttribute(String name, Object value)`:将一个对象与指定名称关联后存储到请求对象中。 - `setCharacterEncoding(String charset)`:设置请求的字符编码。 - **响应对象**:`HttpServletResponse`对象代表服务器对客户端的响应,常用方法包括: - `sendRedirect(String location)`:使客户端重新向新的URL发起请求,实现页面重定向。 - `getWriter()`:获取`PrintWriter`对象,用于向客户端输出文本内容。 - `setContentType(String type)`:设置响应的内容类型和编码方式。 #### 二、会话跟踪技术 - **四种主要的会话跟踪方式**: 1. **Session**:通过`HttpServletRequest`对象的`getSession()`方法创建或获取`HttpSession`对象,然后通过`setAttribute()`和`getAttribute()`等方法来管理会话数据。 2. **Cookie**:通过`response.addCookie(Cookie cookie)`方法向客户端发送Cookie;通过`request.getCookies()`方法获取客户端发送的所有Cookie对象。 3. **隐藏表单域**:在HTML表单中添加隐藏字段,用于保存会话数据。 4. **URL重写**:通过在URL后面添加参数来传递会话数据。 - **内部跳转与外部跳转**: - **内部跳转**:通过`RequestDispatcher.forward(request, response)`方法实现,只涉及一次请求和一次响应。 - **外部跳转**:通过`response.sendRedirect(url)`方法实现,涉及到两次请求和两次响应。 #### 三、ServletContext - **Servlet上下文对象**:`ServletContext`对象是一个公共区域,可以被所有的客户端共享,常用于跨多个请求间的数据共享。 - `setAttribute(String name, Object obj)`:向公共区域内存储数据。 - `getAttribute(String name)`:从公共区域内获取数据。 #### 四、隐式对象 - **隐式对象分类**: 1. **输入输出对象**:`HttpServletRequest`, `HttpServletResponse`, `JspWriter`等,主要用于处理输入输出操作。 2. **作用域通信对象**:`PageContext`, `HttpServletRequest`, `HttpSession`, `ServletContext`等,用于不同作用域间的通信。 3. **Servlet对象**:`Page` (即当前JSP页面对应的`Servlet`对象), `Config` (`ServletConfig`)等,提供了一些关于Servlet的信息。 4. **错误对象**:`Exception`,用于捕获并处理异常信息。 #### 五、EL (Expression Language) - **EL语法格式**:`${expression}`,用于在JSP页面中动态计算表达式的值。 - **运算符**:除了标准的算术和逻辑运算符外,还支持`empty`运算符。 - **操作数**: - **常量**:包括布尔值、整数、浮点数、字符串等。 - **变量**:指的是存储在四个标准作用域(`page`, `request`, `session`, `application`)中的属性。 通过上述知识点的梳理,我们可以更深入地理解Servlet和JSP的工作原理以及如何有效地利用它们构建Web应用程序。
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助