A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 巴拉巴拉x 初级黑马   /  2018-5-21 10:26  /  447 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 巴拉巴拉x 于 2018-5-21 10:27 编辑

Servlet

  • 根据指定路径服务器执行service方法,这个service方法是参数为ServletRequest 对象和 ServletResponse对象的那个方法
  • 创建一个类继承HttpServlet类
  • 最好实现Serializable接口
  • 代码一般都写到doGet方法,然后doPost方法调用doGet方法.
  • web引入jar包不用buidpath,自动引入
  • 传统的服务器是分为三层
    • 第一层:web/Controller层/web层
    • 第二层:业务逻辑处理层,service层.
    • dao层:data access object:数据访问层

Serlet 生命周期

  • 生命周期
    • 就是一个对象从创建到销毁的过程
    • Servlet生命周期:Servlet从创建到销毁的过程
    • 何时创建:用户第一次访问Servlet时创建Servlet的实例
    • 何时销毁:当项目从服务器中移除,或者关闭服务器的时候.
    • 用户第一次访问Servlet的时候,服务器就会创建一个Servlet实例,那么Servlet中init方法就会执行,任何一次请求服务器都会创建一个新的线程访问Servlet中的Servlet方法,在service方法内部根据请求的方式的不同调用doXXX方法,当Servlet从服务器中移除,或者关闭服务器,Servlet就会调用destroy方法.销毁Servlet实例,在整个生命周期中Servlet有且只有一个.也就是说Servlet是单例的.
    • 由于第一次创建Servlet实例的时候需要耗费一些时间,所以在服务器启动的时候就创建这个对象,然后用户再来访问的时候就可以直接调用service的方法,优化用户体验,
  • Servlet的相关配置
    • 用这个配置来把Servlet实例的创建加载到服务器启动时
    • 在web.xml中的< servlet></servlet>标签中配置
    • <load-on-startup>2</load-on-startup>
    • 中间的数字越小,优先级越高.数字只能是正整数.
    • 以后有这种情况都要这样配置
    • 即第一次访问的时候初始化资源(耗时),以后访问都无需在初始化,就把这个耗时的操作放到服务器启动的时候.
  • 标签<url-pattern>的配置方式
    • 有三种
    • 完全路径匹配
      • 以 / 开始
    • 目录匹配
      • 以 / 开始 需要以/ * 结束
    • 扩展名匹配
      • 不能以 / 开始.只能以 * 开始.
    • 任何形式都不能以 / * 开始
    • 优先级
      • 完全路径匹配 > 目录匹配 > 扩展名匹配.
    • 请求和响应是一一对应的,一次请求有且只能有一个响应.

开发中路径的编写

  • 相对路径:都是需要找位置相对关系,不能以 / 开始
  • 绝对路径:不需要找相对位置,必须以 / 开头
    • 绝对路径中分为客户端路径和服务端路径
      • 客户端路径一定要加工程名
      • 服务器端路径不需要加工程名


登陆成功后响应定时跳转

  • 使用http协议中的refresh(定时刷新,定时跳转)功能
  • add方法和set方法的区别
    • add
      • addHeader ---> 针对一个key对应多个value的响应头
        • addDateHeader(String name, long date)
        • addIntHeader(string name, int value)

    • set
      • setHeader ---> 针对一个key 对应 一个value的响应头.(一般使用这一种)

  • 统计登陆成功的次数
    • ServletContext类
      • 功能:ServletContext对象用来存取数据,存的数据都有一定的作用的范围,这种对象成为域对象.
        • setAttribute(String name, Object object):用来向ServletContext中存入数据
        • getAttribute(String name):用来从ServletContext中获取数据
        • removeAttribute(String name):移除数据.
      • 作用域
        • 整个web工程
      • 什么时候创建
        • 服务器启动的时候,tomcat服务器为每个web项目创建一个单独的ServletContext对象
      • 什么时候销毁
        • 服务器关闭的时候,或者项目从服务器中移除的时候
      • 作用
        • 用来获得一些全局的初始化参数
        • 用来获得文件的MIME的类型:文件上传和下载的时候用
        • 作为域对象来存取数据
        • 用来读取web项目下的一些文件

    • ServletConfig类
      • 功能:对象用来获取配置文件的内容.web.xml文件的内容.
        • Enumeration getInitParameters();




0 个回复

您需要登录后才可以回帖 登录 | 加入黑马