• JavaEE学习记录3


    Servlet

    1. 运行在Web服务器或应用服务器上的Java程序
    2. 在Web上创建动态内容的(有效而强大的)解决方案
    3. 由容器来管理生命周期【加载(创建)程序、初始化、服务、终止(销毁)、卸载】与服务器交互
    4. 由Sun规范功能

    Servlet生命周期

    1. 加载:通过web.xml配置指定Servlet的位置(包和类名),成功后web容器通过反射Servlet实例化。
    2. 初始化:调用init()方法初始化这个实例化的对象。在处理请求前完成一些初始化工作(建立数据库链接,读取源文件信息等)。初始失败,直接卸载Servlet。
    3. 服务:调用service()方法,处理请求。ServletRequest处理请求,ServletResponse设置响应信息。
    4. 销毁:Servlet从容器中被删除时,web容器自动调用destroy()方法。
    5. 卸载:Servlet调用完destroy()方法后,此实例被垃圾回收器回收,需再次使用此实例,会重新调用init()初始化。

    正常情况下只会初始化、销毁一次;特殊情况(如:Servlet长时间不使用)下才会多次调用。

    Servlet基本配置

    1. 完全匹配:
      <url-pattern>/servlet/MyServlet.do</url-pattern>`
    2. 目录匹配:
      <url-pattern>/servlet/*</url-pattern>
    3. 扩展名匹配:
      <url-pattern>*.do</url-pattern>

    容器查找:完全匹配 > 目录匹配(从最长目录匹配开始) > 扩展名匹配

     

    ServletContext : 应用上下文

    只有一个,所有对象都可以访问它。(全局的)
    

    ServletConfig

    只有一个Servlet对应。作用域比ServletContext小。
    

    虚拟路径转换为物理路径

    getResourcePaths(java.lang.String path):
    getResourceAsStream(java.lang.String path):
    getResource(java.lang.String path)
    

    状态行: HTTP协议、状态码、状态描述

    浏览器向服务器发送请求方式

    1. 浏览器输入URL地址
    2. 点击超链接
    3. 表单提交
    
    

    浏览器向服务器发送请求方式

    1. 浏览器输入URL地址(Get方法)
    2. 点击超链接(Get方法)
    3. 表单提交(Get、Post方法)

    Get、Post方法区别:

     getpost
    数据类型 文本 文本、二进制文本
    数据长度 不超过255个字符 没有限制
    数据可见性 作为URL地址的一部分显示在浏览器地址栏 作为请求的消息体,不可见
    数据缓存 缓存在浏览器URL历史状态中 不会被浏览器缓存

    HTTP请求

    设置请求重定向:
    1. 可以选择别的服务器端程序来处理请求
    2. 把请求重定向到一个完全不同的URL上
    请求转发和请求重定向区别:
    1. 重定向是客户端浏览器来完成,请求转发是服务器端来完成
    2. 采用重定向浏览器URL地址会改变,而请求转发则不会
    3. 重定向客户端浏览器进行两次请求和响应,而请求转发只有一次请求和响应

    设置自动刷新和等待页: response.setHeader("Refresh","time;URL=url"); “Refresh”存在浏览器兼容问题。

    Web状态管理

    状态管理解决方案:
    1. 隐藏字段(缺点:必须是动态页面才有效)
    2. cookie(缺点:数据保存在客户端,用户可以禁用Cookie,并且Cookie可以被清除,可见;不安全的。)
    3. Session(会话,存放在服务器):消亡->1.超时(可以设置时间) 2.手动关闭 3.系统崩溃,web服务器关闭时
  • 相关阅读:
    面试题15 链表中倒数第k个结点
    面试题14 调整数组顺序使奇数位于偶数前面
    面试题13 在O(1)时间删除链表结点
    面试题12 打印1到最大的N位数
    面试题11 数值的整数次方
    面试题10 二进制中1的个数
    面试题9 斐波那契数列
    面试题8 旋转数组的最小数字
    关于神经网络训练的一些建议笔记
    两篇将rf和boosting方法用在搜索排序上的paper
  • 原文地址:https://www.cnblogs.com/White-destiny/p/5335273.html
Copyright © 2020-2023  润新知