• Servlet 处理HTTP请求


    1.GET/POST 提交方法:
    区别:
    get:静态的,不重要的,长度不超过255个字符,会在地址栏显示
    post:大量的,敏感信息,不会被浏览器缓存,地址栏不可见


    2.获取HTTP协议求行:
    getRequestURI()请求资源:/web01/index.html
    getRequestURL()包括协议,服务器名,IP,端口号,资源路径:http://127.0.0.1:8080/web01/index.html
    getServletPath()获取Servlet映射路径


    3.请求转发
    一个请求,多个Servlet处理,公用一个request和response对象,响应由最后一个Servlet响应

    重定向由客户端完成

    请求转发由服务器完成,服务器内部进行处理

    请求范围:多个Servlet处理同个请求转发的时候,变量都可以访问,都是此请求对象

    4.文件上传
    表单:1、必须采用POST提交,2、必须指定编码类型为:multipart/form-data
    enctype="multipart/form-data" method="post"


    5、web应用程序状态管理

    web服务器是不记录链接状态的,比如在购物,付账,登录,都不记录状态,
    对于web服务器来说每次请求都是一个新的请求

    解决web应用程序状态管理的解决方案:
    1).表单隐藏字段:可以存储固定发送个服务器的固定值和名称,常用于会话跟踪,。。。
    缺点:只有每个页面都是动态生成的时候才有效

    2).Cookie:保存到客服端
    Cookie是Web服务器发送到客服端浏览器的的简短文本信息。每次请求对比信息
    但是用户是可以看到的,可能被修改,别人也可以得到,对于敏感信息,一般不用Cookie

    3).URL重写:客户端讲一些额外的数据追加到表示会话的每一个URL地址末尾
    用于浏览器不支持Cookie或者永辉禁用了Cookie,这是一种优秀的解决方案
    缺点:服务器端需要完成许多简单却繁琐的处理过程

    4).Session会话跟踪
    Session对象就是服务器Wie客户端创建并维护的用于存放客户状态数据对象。该对象保存在服务器上。
    缺点:数量少可以,数量大服务器要维持需要耗费大量资源,会减少并发量。

  • 相关阅读:
    Python使用QRCode模块生成二维码
    C++ STL中允许重复key的multimap
    C++ STL中Map的按Value排序
    C++ STL中Map的按Key排序
    C++ String和其他类型互换
    android studio
    加快android studio 编译速度(已更新至Android Studio 3.3.1)
    解决Installation failed with message Failed to finalize session : INSTALL_FAILED_INVALID_APK的问题
    Android 自定义Dialog 去除阴影
    FFmpeg(14)-使用NDK、C++完成EGL,display, surface, context的配置和初始化
  • 原文地址:https://www.cnblogs.com/chenyuanqiu2008/p/5485229.html
Copyright © 2020-2023  润新知