1.Servlet的声明周期
  容器如何创建Servlet对象,如何为Servlet对象分配资源,如何调用Servlet对象的方法来处理请求,以及如何销毁Servlet对象的过程.

  a.实例化
    容器调用Servlet的构造器,创建一个Servlet对象;
    a.接收到第一个关于Servlet的请求时,就会先创建一个当前这个Servlet;
    b.容器启动时,自动进行创建(在web.xml中添加设置).
      <load-on-startup>1</load-on-startup>
  b.初始化
    容器创建了Servlet对象后会立即调用init方法.
    一般来说,我们不需要写init方法,因为GenericServlet已经提供了init方法来实现(将容器传递过来的ServletConfig对象保存下来,并提供了getServletConfig方法获取该对象.)
    init方法一般只会调用一次.

    自定义初始化参数:
    <init-param>
    <param-name>name</param-name>
    <param-value>BoWen</param-value>
    </init-param>
  c.就绪
    正常执行的service方法.
  d.销毁
    使用destroy方法进行销毁.
    停止服务器时自动调用.

   

2.Servlet有关的核心接口和类:

  

3.ServletContext对象:
  容器启动后,会为每一个WEB应用创建唯一的一个符合ServletContext接口要求的对象,该对象就是Servlet上下文.

  特点:
    a.唯一性(一个web应用对应一个上下文对象)
    b.一直存在(只要容器不关闭,应用没有被卸载就一直存在)
    c.全局性

  可以用于存储一个全局的值.

  ServletContent是线程不安全的.

4.JSP基本概念:
  先有Servlet,由于里面包含了大量的输出语句,降低了页面展示功能的控制,jsp技术是对Servlet中输出语句的替换.
  一个jsp文件里面包含了大量的html代码和少量的java代码,最后还是会被容器变成servlet来执行.
  jsp:java server page(运行在服务器的动态页面)

5.JSP的开发
  a.新建一个以".jsp"为后缀的文件.
  b.添加内容:
    1)HTML(CSS,JS) 与编写HTML页面一致;
      作用:控制展示效果
    2)少量的java代码
      作用:控制页面
    * java代码段: <% %>
    * java表达式 <%= %> (替换为out.println)
    * java指令 <%@ %> 控制jsp文件转换成java是的一些设定
    * 隐含对象
      在jsp中可以直接使用的一些对象.例如:out,request,response等.
      在容器的转译环节中,容器会自动创建或者获取这些对象.

    

6.JSP的运行过程
  a.当请求发送至容器时,容器会先将jsp页面转换成(转译)一个java文件,当前这个类的类名和jsp页面是一样的,且会自动间接的继承HttpServlet;
  b.会自动加入Servlet常规的设定;
  c.然后将jsp页面中所有的html代码使用Out进行输出;
  d.将<% %>中的代码片段进行加载;
  e.再将下面的html代码进行Out输出,直至结尾,然后运行java文件;
  f.编译成class文件进行返回.
  第一次会比较慢,后续运行会越来越快.

7.转发:
  a.一个WEB组件将未完成的工作,通过容器转交给其他web组件的过程.
  b.转发的实现:
    1)绑定数据,request.setAttribute(String name,Object val)
    2)获取转发器: RequestDispatcher rd = request.getRequestDispatcher(url);
    3)转发: rd.forward(request,response);
  c.转发的特点:
    1)浏览器地址栏不改变;
    2)共享request和response对象;
    3)只能转发应用内部的.

8.异常处理
  a.编程式 : 使用try catch 进行捕获
  b.配置式 : 在web.xml中配置errorpage.

附录:
  依赖:通过传参的方式来影响另外一个类就是依赖.

Servlet&JSP复习笔记 03的更多相关文章

  1. Servlet&JSP复习笔记 02

    1.Servlet获取请求参数 获取请求参数依靠的是表单元素的name属性,广泛意义来说id属性是给客户端使用的,name属性是服务器使用的. a.获取Name-Value的方法: - getPara ...

  2. Servlet&JSP复习笔记 01

    1. Servlet 含义:服务器端的小程序,它只是服务器中的一部分. Servlet Little 标准:Sun公司制定的一种用来扩展Web服务器功能的组件规范. a. 扩展web服务器功能:扩展w ...

  3. Servlet&JSP复习笔记 04

    1.状态管理 因为HTTP协议是无状态协议,但很多时候需要将客户端和服务端的多次请求当做一个来对待.将多次交互中设计的数据进行保存. 状态:数据 管理:对数据的维护 2.Cookie 客户端向服务器发 ...

  4. javaweb servlet jsp简单笔记

    第二章: 1: web 俗称 : 万维网  www 2: web开发 的三大核心: HTML(网页) ,URL(定位),HTTP:(协议) 页面的分类: 静态页面: html+css 动态页面:jsp ...

  5. Spring MVC 复习笔记03

    1. @RequestMapping 1). url映射 定义controller方法对应的url,进行处理器映射使用. 2). 窄化请求映射  3). 限制http请求方法 出于安全性考虑,对htt ...

  6. JSP复习笔记

    1.注释 <!--这个注释会显示在HTML源码中--> <%--隐藏注释,不会显示在HTML源码中--%> 2.声明 <%! java声明 声明变量,方法等 %> ...

  7. mybatis 复习笔记03

    参考:http://www.mybatis.org/mybatis-3/zh/configuration.html 入门 1. 从 XML 中构建 SqlSessionFactory 每个基于 MyB ...

  8. 算是学完了《Servlet&JSP学习笔记》,立此存照

    我感觉从构架上来说,算是入门了, 终于可以正式进入SPRING的学习啦...爽 代码就不弄了,真的太多了...花了差不多两周呢..

  9. JAVA复习笔记03(完)

    31.类中可定义接口 一个定义接口的java文件中最多有1个Public的接口 32.TreeMap 按照键值升序排序 LinkedHashMap 按照插入顺序排序 Map的操作: Map<in ...

随机推荐

  1. Kylin笔记

    简介 Apache Kylin(Extreme OLAP Engine for Big Data)是一个开源的分布式 分析引擎,为Hadoop等大型分布式数据平台之上的超大规模数据集通过标准 SQL查 ...

  2. MongoDB七-运维技术

    复制来自:http://www.cnblogs.com/huangxincheng/archive/2012/03/08/2384571.html 这一篇我们以管理员的视角来看mongodb,作为一名 ...

  3. Day 14:FileInputStream、FileOutputStream

    File类: 用于描述一个文件或者文件夹的. 通过File对象我们可以读取文件或者文件夹的属性数据,如果我们需要读取文件的内容数据,那么我们需要使用IO流技术. IO流(Input Output) I ...

  4. Mac使用安卓模拟器-网易MuMu

    先看下效果图 近期,因为小编把安卓手机倒手了,但现在还想看看一些安卓应用.所以就搜罗了很多市场上的模拟器. 最终选定了网易的MuMu,总体感觉网易也是花了很大的心思,整体效果超赞. 下载地址 网易Mu ...

  5. hex、Base64

    一.什么是Hex 将每一个字节表示的十六进制表示的内容,用字符串来显示. 二.作用 将不可见的,复杂的字节数组数据,转换为可显示的字符串数据 类似于Base64编码算法 区别:Base64将三个字节转 ...

  6. Serial communication on pins TX/RX

    Serial [Communication] Description Used for communication between the Arduino board and a computer o ...

  7. Python 中 使用 HTMLTestRunner 模块生成测试报告

     使用 HTMLTestRunner 模块可以生成测试报告,但是系统自带的报告不详细,不好看,所以找了一份详细的报告 HTMLTestRunner 模板,直接导入就能使用 两种方法生成HTML报告,都 ...

  8. Unity 协程运行时的监控和优化

    我是快乐的搬运工: http://gulu-dev.com/post/perf_assist/2016-12-20-unity-coroutine-optimizing#toc_0 --------- ...

  9. UML-设计模式-本地服务容错-适配器+工厂模式

    问题1:我们的ProductCatalog存储在了数据库里了,但是数据库瘫掉了,怎么办? 解决:本地(Map)---->Local(文件)---->DB 问题2:如果新加了存储Produc ...

  10. python format输出

    http://www.cnblogs.com/nulige/p/6115793.html 2.Format 方式 [[fill]align][sign][#][0][width][,][.precis ...