1.重定向

(1)什么是重定向?

服务器通知浏览器访问一个新的地址。
注:
    服务器可以通过发送一个302状态码及一个
Location消息头(该消息头的值是一个地址,一般
称之为重定向地址)给浏览器,浏览器收到之后,
会立即向重定向地址发请求。

(2)如何重定向?

response.sendRedirect(String url)。
注:
    url就是重定向地址。

(3)一个细节:

重定向之前,服务器会清空response对象
上存放的数据。

(4)两个特点:

a.重定向地址是任意的。
b.重定向之后,浏览器地址栏的地址会发生变化。

2.Servlet的生命周期

(1)什么是Servlet的生命周期?

Servlet容器如何创建Servlet实例,如何对其
进行初始化,如何调用其方法处理请求,以及
如何销毁其实例的整个过程。

(2)生命周期分成几个阶段?

1)实例化

a.什么是实例化?
容器调用Servlet的构造器,创建相应的对象。
b.什么时候实例化?
    情形1:容器收到请求之后。
    情形2: 容器启动之后,立即实例化。

    注:容器只会创建一个实例!

2)初始化

a.什么是初始化?
容器创建Servlet实例之后,接下来会调用
该实例的init方法。
b.init方法只会执行1次!
    注:init方法用于获取一些资源。
c.GenericServlet已经实现了init方法:
    注:
      将容器传递进来的ServletConfig对象
    保存下来了,并且提供了getServletConfig
    方法用于获得该对象。
d.如何实现自已的初始化处理逻辑?
    只要override GenericServlet的init
    方法(注意,是那个不带参的init方法)。

e.初始化参数

3)调用(就绪)

a.什么是就绪?
容器在收到请求之后,会调用Servlet实例的
service方法来处理请求。
b.HttpServlet类已经实现了service方法。
  注:
    b1.依据请求类型(get/post)调用对应的
    doGet或者doPost方法。
    b2.doGet方法和doPost方法只是抛出了一个异常。
    b3.可以override doGet和doPost,或者也
    可以override service方法来实现自已的
    处理逻辑。

4)销毁

a.什么是销毁?
容器在删除Servlet实例之前,会调用该实例的
destroy方法。
b.该方法只会执行一次!
c.可以override GenericServlet的destroy方法
来实现自已的销毁处理逻辑。

(3)生命周期相关的几个接口与类(了解)

a.Servlet接口
    init(ServletConfig config);
    service(ServletRequest req,
        ServletResponse res);
    destroy()
b.GenericServlet抽象类
    实现了Servlet接口中的部分方法(init,
    destroy)。
c.HttpServlet抽象类
    继承了GenericServlet,实现了service
    方法。

练习:计算bmi指数
bmi指数 = 体重(公斤) / 身高(米) / 身高(米)

如果bmi指数 < min  体重过轻
如果bmi指数 > max  体重过重
否则体重正常

min,max要求使用初始化参数来配置。

Servlet学习笔记04——什么是重定向,servlet生命周期?的更多相关文章

  1. Servlet学习笔记(一)之Servlet原理、初始化、生命周期、结构体系

    Servlet是用java语言编写的应用到Web服务器端的扩展技术,与java对象的区别是,Servlet对象主要封装了对HTTP请求的处理,并且它的运行需要Servlet容器的支持(以下会介绍原因, ...

  2. Servlet学习笔记(二)之Servlet路径映射配置、Servlet接口、ServletConfig、ServletContext

    Servlet路径映射配置 要使Servlet对象正常的运行,需要进行适当的配置,以告诉Web容器哪个请求调用哪个Servlet对象处理,对Servlet起到一个注册的作用.Servlet的配置信息包 ...

  3. Android学习笔记(五)——活动的生命周期

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 为了能写出流畅连贯的程序,我们需要了解一下活动的生命周期. 一.返回栈 Android 中的活动是可以层叠的. ...

  4. Android学习笔记(六)Fragment的生命周期

    在上一篇博文中对Fragment做了简单的介绍,现在再来探讨一下Fragment的生命周期. 一.Fragment的几种状态: 与Activity类似,Fragment也有一下几种状态: · 活动状态 ...

  5. 张高兴的 Xamarin.Android 学习笔记:(三)活动生命周期

    本文将直接解释我写的一个示例.示例目的在于展示 Android 活动在 Xamarin 中的用法.如果有朋友对基础知识不太了解建议先学 Android . 新建一个 Xamarin.Android 项 ...

  6. Android学习笔记(十) Activity的生命周期

    一.如何在一个应用程序中定义多个Activity -定义一个类,继承Activity -复写onCreate() setContentView(R.layout.secondLayout):设定该Ac ...

  7. Laravel5.1学习笔记9 系统架构1 请求生命周期 (待修)

    Request Lifecycle Introduction Lifecycle Overview Focus On Service Providers Introduction When using ...

  8. 【React】学习笔记(二)——组件的生命周期、React脚手架使用

    原教程视频:ttps://www.bilibili.com/video/BV1wy4y1D7JT?p=2&spm_id_from=pageDriver 目录 一.组件的生命周期 1.1.生命周 ...

  9. Servlet学习笔记(四)

    目录 Servlet学习笔记(四) 一.会话技术Cookie.session 1. 什么是会话技术? 2. 会话技术有什么用? 3. Cookie 3.1 什么是Cookie? 3.2 使用Cooki ...

随机推荐

  1. Spring Boot集成Reactor事件处理框架的简单示例

    1. Reactor简介 Reactor 是 Spring 社区发布的基于事件驱动的异步框架,不仅解耦了程序之间的强调用关系,而且有效提升了系统的多线程并发处理能力. 2. Spring Boot集成 ...

  2. POJ 3164——Command Network——————【最小树形图、固定根】

    Command Network Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 15080   Accepted: 4331 ...

  3. 异步请求返回json对象

    后台mvc: var result = new { flag = ture, eMail = "949096562@qq.com"}; if (result.flag) { ret ...

  4. #if #endif #elif #undef

    #define aaa           //放在代码最前面 int a = 1; a = a + 1; #if !aaa {a = a + 1;}#elif !aaaaa {a=a+11;}#en ...

  5. hystrix应用介绍(一)

    声明:本文仅做个人的一次接口重构过程记录,期间参考了一些写的不错的博客,如果存在抄袭,请留言. hystrix基本介绍 hystrix 是一个开源的容灾框架,目的是为了解决当依赖服务出现故障或者接口响 ...

  6. ASP.NET 4.5 尚未在 Web 服务器上注册。您需要手动将 Web 服务器配置为使用 ASP.NET 4.5,这样您的网站才能正确运行。

    系统换成Windows10安装VS2012打开项目总提示:vs2012 aps.NET 4.5尚未在web服务器上注册,您需要手动将Web服务器配置为使用ASP.Net 4.5,这样您的网站才可能正确 ...

  7. 将Spring源码转换为工程 + 导入Eclipse时缺失jar包

    将源码转换为工程: 比如查看Spring事务部分的源码. 打开cmd窗口,切换到Spring-tx文件夹下,执行命令 “gradle cleanidea eclipse” . 缺失jar包: 第一步: ...

  8. android 扇形菜单

    引言: android中的菜单与windows的菜单没有什么区别,基本就是一个矩形框,如下: 这个菜单有多么能经得住历史的考验我就不多说了!我们再来看看最新有关手机可操作区域的调查 有此可以看出屏幕越 ...

  9. Spring Cloud入门程序

    本文手把手教你,做出第一个Spring Cloud程序,Eureka的简单入门使用 1.创建Spring Starter Project工程 点击next,添加项目名 2.引入Spring Cloud ...

  10. 类型信息(RTTI和反射)——反射

    运行时类型信息可以让你在程序运行时发现和使用类型信息. 在Java中运行时识别对象和类的信息有两种方式:传统的RTTI,以及反射.下面就来说说反射. 重点说说通过反射获取方法以及调用方法,即类方法提取 ...