目标
明确 Web 开发常用的模式
使用 Cookie 完善登录功能
对比 Cookie 与 HttpSession 的区别
介绍 Servlet 开发中常用的对象
介绍 Servlet 中的过滤器
1、明确 Web 开发常用的模式
(1)所有的 Web 项目功能,都是从页面开始
(2)用户通过页面操作,提交请求给 后台 Servlet
(3)Servlet 调用 DAO 数据库访问代码修改数据,
并且控制页面跳转
(4)最终返回到页面,显示操作结果
从页面---->Servlet---->返回到页面
MVC
在 JUDE UML 建模工具中,用“时序图”描述每个功能
的编码运行过程:
2、使用 Cookie 完善登录功能
3、对比 Cookie 与 HttpSession 的区别
Cookie 作用:帮用户保存上次操作存储的信息。保存在
本地的用户电脑上,可以被用户禁用或删除。
不安全,不可控的。
HttpSession 作用:帮用户保存,登录过程中需要存储
的数据,退出后就不保存。数据保存在远程服务器上,用户
无法进行操作。
安全,可控,线程安全。推荐使用。
4、介绍 Servlet 开发中常用的对象
HttpServletRequest
代表通过 HTTP 协议发送的所有请求数据;
按照 HTTP 协议规定,数据包括:请求头信息、请求内容
Request Information Example
Method: request.getMethod());
Request URI: request.getRequestURI());
Protocol: request.getProtocol());
PathInfo: request.getPathInfo());
Remote Address: request.getRemoteAddr());
请求头信息
Enumeration e = request.getHeaderNames();
Request Parameters
String value = request.getParameter("name");
//跳转
//装卸数据
//得到 Session
HttpServletResponse
设置响应对象中的信息
设置响应内容类型
response.setContentType("text/html; charset=UTF-8");
设置响应字符编码
response.setCharacterEncoding("UTF-8");
设置响应输出对象
PrintWriter out = response.getWriter();
设置响应中的 Cookie
response.addCookie(cookie);
设置响应跳转路径
response.sendRedirect("url");
GenericServlet 中定义的下列对象:
ServletConfig
代表 在 Servlet 中读取的 web.xml 配置文件的对象
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>edu.hpu.vsts.control.servlet.LoginServlet</servlet-class>
<init-param>
<param-name>encodeing</param-name>
<param-value>UTF-8</param-value>
</init-param>
</servlet>
encodeing = config.getInitParameter("encodeing");
ServletContext
Servlet 上下文对象:
(1)代表访问一个 web 工程时 8080 后的项目名
http://localhost:8080/hpuvsts/login
context 指 /hpuvsts
(2)代表运输数据的终身制的包车
context.setAttribute("name",value);
(3)Tomcat 服务器给 webapps 目录中,每个工程
自动分配的一个公用的存储空间,一个工程一个,从 Tomcat
启动时分配,带服务器停止时销毁的存储数据对象
访问任何一个 Web 应用程序,都需要依赖于 HTTP 的特点:
(1)无连接
HTTP 协议规定浏览器从服务器取数据,每次都需要
建立新的连接,每个连接都是独立的,每次数据传输完毕,
连接立刻中断。
好处:节约服务器资源,使服务器能够同时处理多个
浏览器发出的响应。
(2)无状态
HTTP 协议在通过互联网传输数据的时候,不帮助
用户保存所传递的任何数据,每次都需要把数据保存在
浏览器端 或 服务器端,每次都重新传递一遍。
在浏览器端保存数据:Cookie
在服务器端保存数据:HttpSession
HttpServletRequest
ServletContext
分享到:
相关推荐
2_servlet4.zip
AJAX 的应用使请求的出现变得频繁,而 Comet 则会长时间占用一个连接,上述的服务器模型在新的应用背景下会变得非常低效,线程池里有限的线程数甚至可能会阻塞新的连接。Jetty 6 Web 服务器针对 AJAX、Comet 应用的...
它是Java Servlet和JavaServer Pages (JSP)技术的基础,提供了服务器端程序与Web客户端交互的能力。在这个压缩包中,包含的是对Servlet API的中文文档,可能是作者因为无法找到官方的源码和javadoc而自行整理的笔记...
赠送jar包:guice-servlet-4.0.jar; 赠送原API文档:guice-servlet-4.0-javadoc.jar; 赠送源代码:guice-servlet-4.0-sources.jar; 赠送Maven依赖信息文件:guice-servlet-4.0.pom; 包含翻译后的API文档:guice-...
赠送jar包:guice-servlet-4.0.jar; 赠送原API文档:guice-servlet-4.0-javadoc.jar; 赠送源代码:guice-servlet-4.0-sources.jar; 赠送Maven依赖信息文件:guice-servlet-4.0.pom; 包含翻译后的API文档:guice-...
赠送jar包:javax.servlet-api-4.0.0.jar; 赠送原API文档:javax.servlet-api-4.0.0-javadoc.jar; 赠送源代码:javax.servlet-api-4.0.0-sources.jar; 赠送Maven依赖信息文件:javax.servlet-api-4.0.0.pom; ...
4. **Servlet实例**:Servlet容器根据需要创建Servlet的实例。每个请求可能由同一个Servlet实例处理,也可能由不同的实例处理,这取决于容器的线程模型。 5. **请求/响应对象**(HttpServletRequest/...
本篇文章将围绕jakarta-servletapi-4-src.zip这个源码包,深入剖析Servlet API 4.0的关键特性与实现原理。 一、Servlet接口与生命周期 Servlet接口是所有Servlet的基础,它定义了Servlet的主要方法,如`init()`, `...
4. **如何引入javax.servlet.jar** - 在传统的Java Web项目中,通常将`javax.servlet.jar`和`javax.servlet.jsp.jar`添加到项目的类路径中,这可以通过在`WEB-INF/lib`目录下放置这两个jar包实现。 - 使用Maven或...
在本资源中,“韩顺平servlet 第4、5讲 事例代码”是一个关于Servlet技术的实战教学内容,由知名讲师韩顺平提供。Servlet是Java Web开发中的一个重要组件,用于扩展服务器的功能,处理HTTP请求。以下是这些课程中...
4. **HttpServletRequest** 和 **HttpServletResponse**:这两个接口分别代表了HTTP请求和响应对象,它们提供了处理HTTP请求头、获取请求参数、设置响应状态码和输出数据的方法。 5. **Servlet生命周期**:包括加载...
刚刚接触java时做的日志管理系统,做的很简单,适合初学着 servlet servlet servlet servlet servlet日志管理系统 servlet servlet servlet servlet servlet日志管理系统 servlet servlet servlet servlet servlet...
Servlet API还提供了Filter的概念,允许开发者在请求到达Servlet之前和响应离开Servlet之后对其进行拦截和处理。`javax.servlet.Filter`接口定义了`doFilter()`方法,这使得我们可以实现如认证、日志记录、数据过滤...
Servlet是Java Web开发中的核心组件,它是一种服务器端的接口,用于处理来自客户端(通常是Web浏览器)的请求并返回响应。在Java EE中,Servlet API是实现这些功能的基础框架。`javax.servlet.Servlet`是Servlet的...
4. 使用线程池:使用线程池,可以限制线程的数量,以避免过多的线程同时访问同一个 Servlet。 在编写 Servlet 程序时,需要非常细致地考虑多线程安全性问题,以避免难以发现的错误。同时,需要了解 Servlet 的多...
4. **Servlet生命周期**:Servlet的生命周期包括加载和初始化、服务、销毁三个阶段。Servlet容器(如Tomcat)会在第一次请求时加载Servlet并调用init()方法,之后每次请求都会调用service()方法,最后在容器关闭或...
4. **创建Servlet实例**:Web容器创建一个Servlet实例。 5. **调用init()方法**:如果这是Servlet实例首次被创建,Web容器会调用其`init()`方法来初始化该实例。 6. **处理请求**:Web容器创建一个`...
Servlet3.0是Java Web开发中的一个重要里程碑,它在Servlet2.5的基础上引入了许多新特性,极大地提高了开发效率和灵活性。这份"Servlet3.0参考手册"无疑为开发者提供了全面的API参考和实用指南。 首先,Servlet3.0...
4. **销毁**:当Servlet容器决定卸载Servlet时,会调用destroy()方法来释放Servlet所占用的资源。 #### 三、Servlet生命周期 Servlet的生命周期主要包括三个阶段:初始化、服务和销毁。 - **初始化**:通过调用...