学习总结-servlet相关知识与使用

简介

Servlet 是一个与平台无关的服务器端插件,它运行于 Servlet 容器中。Servlet 容器负责 Servlet 与客户的通信及调用 Servlet 方法,Servlet 和客户之间的通信采用“请求——响应”模式,即一问一答模式。常使用 Tomcat 作为 Servlet 的服务器端,Tomcat 是一种具有 JSP 环境的 Servlet 容器;Servlet 容器能代替用户管理和调用 Servlet。

创建servlet

有两种方式创建一个 Servlet:

  1. 实现 Servlet 接口,主要实现接口中的 service() 方法;
  2. 继承 HttpServlet 类,实现父类中的 doGet() 和 doPost() 方法。

配置servlet映射

有两种方式配置 Servlet 映射:

  1. 在 Web.xml 配置文件中配置映射,需要配置 < servlet > 和 < servlet-mapping > 这两个标签,代码较多较麻烦;
  2. 给 Servlet 类添加注解 WebServlet(“映射名称”),简单一步到位。

servlet生命周期

  1. 客户端发送请求
  2. Web容器解析请求
  3. 创建 Servlet 实例。创建实例又分两种情况,第一种是在第一次请求到来时创建实例;第二种是在Web.xml 中配置了 < load-on-startup >,会在容器启动时创建实例。
  4. 调用 init() 初始化,只执行一次。
  5. 调用 service 方法,根据请求不同(get/post)来决定调用 doGet() 或 doPost() 方法来处理业务。
  6. 输出响应的信息
  7. 返回响应
  8. 调用 destroy() 方法,主要用于关闭资源或销毁对象。

HttpServletRequest常用方法

  1. setCharacterEncoding(“编码格式”):设置请求通道编码格式。
  2. getParameter(String key):返回表单中属性的值。
  3. getParameterValues(String key):返回字符串数组,当 key 有多个值时。
  4. getParameterMap():返回表单中所有属性的值,保存在 Map<String, String[]> 集合中。
  5. getRequestDispatcher(String url).forward(request, response):设置请求转发的地址,并使用 forward 转发。

HttpServletResponse常用方法

  1. setCharacterEncoding(“编码格式”):设置响应通道的编码格式。
  2. setContenType(String mime):设置响应正文的 MIME 类型,一般为“text/html;charset=utf-8”。
  3. sendRedirect(String url):设置响应重定向。

Session

  • Session简介
    HttpSession是指,在Http协议的一次会话中,提供存取会话属性的方法。当浏览器访问某个网站时,服务器会为该浏览器分配一个内存空间,该内存空间是由该浏览器独占,称为 Session 空间,一般用于存放登录用户的信息。
  • 常用方法
  1. request.getSession([boolean]):获得Session。
  2. setAttribute(String key, Object value):添加键值对到 session,可以添加任意类型的数据。
  3. getAttribute(String key):从 session 中获取指定 key 的 value。
  4. removeAttribute(String key):删除某属性。
  5. setMaxInactiveInterval(int s):设置 session 的存活时间,单位是秒,当超过指定时间还没有请求该 session,session就会死亡,若在指定时间不断请求该 session,session 的时间会不断刷新。注意,若时间设置为 0 则表示无限存活。

Cookie

  • Cookie简介
    Cookie由服务器生成,一般发送给浏览器,浏览器会将 Cookie 中的 key/value 保存到本地某文件中,Cookie 一般用于保存用户的登录信息,使得可以在再次登录时不需要输入登录信息。
  • 常用方法
  1. new Cookie(String key, String value):一个 Cookie 对应一个键值对,且只能存放字符串,不能是对象。
  2. response.addCookie(Cookie对象):将创建好的 Cookie 添加到相应通道,返回到客户端的浏览器中保存。
  3. request.getCookie():读取客户端的 Cookie,返回 Cookie 数组,数组中包含所有 Cookie 信息。
  4. setMaxAge(int s):设置 Cookie 的存活时间,累积时间一到则清除 Cookie,注意,若设置为 0 则表示立马清除 Cookie。

Servlet过滤器Filter

  • 简介
    Filter 过滤器是 Servlet 和 JSP 的核心技术,它可以统一控制资源、统一处理问题、统一对权限的控制,提高代码的开发效率,高复用部分代码。
    过滤器处在客户端请求与 Servlet 之间,当客户端请求到来时,Servlet 容器会先调用 Filter 过滤器,如果请求在 Filter 中通过则转发给 Servlet,未通过则进指定跳转。
  • 使用
  1. 创建 Filter 过滤器,需要实现 Filter 接口,重写接口的 doFilter() 方法。
  2. 配置映射。同样是两种方式,第一种是到 Web.xml 中配置,第二种是在Filter 类中使用注解 WebFilter(url),配置完后会对符合该 url 设定的请求进行过滤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值