### JSP与Servlet复习知识点详解 #### 一、JSP与Servlet基础知识 **1. JSP简介** - **定义**: Java Server Pages (JSP) 是一种基于Java技术的服务器端脚本语言,用于创建动态网页。 - **特点**: JSP页面可以将静态HTML标记与动态生成的内容混合在一起,通过内置对象(如`request`、`response`等)访问客户端请求数据及发送响应数据。 **2. Servlet简介** - **定义**: Servlet是Java Web应用的核心技术之一,它是一种运行在服务器端的小程序,用于处理来自客户端的HTTP请求,并返回HTTP响应。 - **生命周期**: 包括初始化(`init()`方法)、服务(`service()`方法)和销毁(`destroy()`方法)三个阶段。 - **实现方式**: 继承`HttpServlet`类是最常见的实现方式,需重写`doGet()`和`doPost()`方法来处理不同的HTTP请求。 #### 二、配置与部署 **1. Tomcat服务器配置** - **bin目录**: 包含启动 (`startup.bat`) 和关闭 (`shutdown.bat`) 脚本。 - **conf目录**: 包含配置文件 (`server.xml`, `tomcat-users.xml`, `web.xml` 等)。 - **server.xml**: 定义了Tomcat的运行环境和服务设置。 - **web.xml**: Servlet容器启动时读取的应用程序配置文件,包含Servlet的映射关系。 - **lib目录**: 存放JAR包 (`servlet-api.jar` 等),支持Servlet的运行。 - **webapps目录**: 部署Web应用程序的地方。 **2. Servlet配置示例** - 在`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> ``` **3. 请求处理** - **HttpServletRequest接口**: - `getParameter(String name)`: 获取指定名称的参数值。 - `getParameterValues(String name)`: 获取指定名称的所有参数值数组。 - `setAttribute(String name, Object value)`: 设置属性。 - `getAttribute(String name)`: 获取属性。 - `removeAttribute(String name)`: 移除属性。 - `setCharacterEncoding(String charset)`: 设置字符编码。 - `getSession(boolean create)`: 获取或创建Session对象。 - **HttpServletResponse接口**: - `sendRedirect(String location)`: 发送重定向响应。 - `getWriter()`: 获取输出流对象。 - `setContentType(String type)`: 设置响应的内容类型。 - `setCharacterEncoding(String charset)`: 设置字符编码。 - `setHeader(String name, String value)`: 设置HTTP响应头。 #### 三、会话管理 **1. HttpSession** - 使用`request.getSession()`获取当前会话对象。 - `setAttribute(String name, Object value)`和`getAttribute(String name)`用于设置和获取会话属性。 - 示例: ```java HttpSession session = request.getSession(); session.setAttribute("name", "zhangsan"); session.setAttribute("pwd", "aaa"); String name = (String) session.getAttribute("name"); ``` **2. Cookie** - 创建Cookie对象并设置最大存活时间: ```java Cookie cookie = new Cookie("name", "zhangsan"); cookie.setMaxAge(24 * 60 * 60); // 一天 response.addCookie(cookie); ``` - 获取Cookie: ```java Cookie[] cookies = request.getCookies(); for (Cookie temp : cookies) { String key = temp.getName(); String value = temp.getValue(); } ``` **3. 隐藏表单字段** - 使用`<input type="hidden">`标签传递值。 - 示例: ```html <input type="hidden" name="name" value="zhangsan"> String name = request.getParameter("name"); ``` **4. URL重写** - 示例: ```html LoginServlet?username=zhangsan&pwd=123 String name = request.getParameter("username"); String pwd = request.getParameter("pwd"); ``` #### 四、页面跳转与转发 **1. 页面转发 (`forward`)**: - 不改变浏览器地址栏中的URL。 - 示例: ```java RequestDispatcher dispatcher = request.getRequestDispatcher("index.jsp"); dispatcher.forward(request, response); ``` **2. 重定向 (`redirect`)**: - 改变浏览器地址栏中的URL。 - 示例: ```java response.sendRedirect("index.jsp"); ``` #### 五、上下文与共享数据 **1. ServletContext** - 代表整个Web应用程序的上下文。 - 可以通过`getServletContext()`方法获取。 - `setAttribute()`和`getAttribute()`用于设置和获取上下文范围内的属性。 #### 六、总结 JSP和Servlet是构建Java Web应用程序的重要组成部分。通过理解它们的基本概念、配置以及如何进行页面跳转、会话管理和共享数据的操作,开发者能够更好地设计和实现高效、稳定的Web应用。希望以上知识点能够帮助大家深入理解和掌握JSP与Servlet的相关知识。

















- 粉丝: 222
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 浅述计算机科学与技术的方法论.docx
- 遵义市运用大数据服务老干部.docx
- 浅析互联网思维下大学生创新创业意识培养路径.docx
- 物联网关键技术及应用.docx
- 图与网络分析研究例题解.doc
- 移动互联网网络融合策略控制研究.docx
- CAM技术应用现状、问题和发展趋势浅析《机械CAD与CAM》课程.doc
- 基于51单片机的电阻炉温度测量与控制系统方案设计书.doc
- 大型网络监控系统方案.doc
- 电子通信工程中解决电子干扰问题的对策探讨.docx
- 通信行业研究与发展专题报告-拥抱趋势-超配龙头.docx
- 通信管道施工及验收技术规范.doc
- 北京航空航天大学计算机应用技术考博参考书.doc
- 教育技术装备的管理信息化.docx
- android游戏设计方案单元教学方案设计方案.doc
- ThinkPadT60软件安装实用指南.doc


