使用Servlet处理HTTP请求


使用Servlet接受服务器端请求信息

      请求行、请求头、空行、消息行

      HttpServletRequest对象主要用于获取 由客户端发送过来的请求头、参数、文件、数据

GET/POST提交方法

        默认为GET

        如果要指定用POST提交方法:method=POST

        区别

          GET

            提交数据类型

              文本

            提交数据长度

              不超过255个字符

            提交数据可见性

              作为URL地址的一部分显示在浏览器地址栏

            提交数据缓存

              缓存在浏览器URL历史状态中

          POST

            提交数据类型

              文本、二进制文本

            提交数据长度

              没有限制

            提交数据可见性

              作为请求的消息体,不可见

            提交数据缓存

              不会被浏览器缓存

        何时使用

          请求一个静态页面或图形文件时使用GET方法,因为仅仅需要发送文件名

          发送大数据的时候,使用POST方法

          上传文件时,使用POST方法

          发送保密信息的时候使用POST方法

          超链接使用的GET

        GET意义在于:下载网页相关的信息(资源的查找)

        POST意义在于:数据的传输

    获得HTTP协议请求行

      getMethod():获取HTTP的请求方法

      getRequestURI():获取请求的URI资源

      getRequestURL():获取请求的URL,包含协议名、服务器名或IP 端口号和请求资源但不包括查询字符串参数

      getQueryString():获取请求URL后面的查询字符串

        请求参数值对GET有效,如果是POST返回NULL

      getProtocol():获取HTTP的协议名和版本号

      getContextPath():获取请求URI资源的上下文路径

      getServletPath():获取Servlet的映射路径

    获得HTTP协议请求头

      getHeader()

    获得请求消息体

      getParameter():获取单个表单数据,如果有多个数据,只能获得第一个

      getParameterValues():获取多个表单数据,返回的是一个String类型的数组

请求转发和请求范围

      请求转发

        RequestDispatcher dispatcher = request.getRequestDispatcher("转发")

          得到内部转发对象,在服务器内部进行资源调用, 可以把request中封装的属性取出来

        dispatcher.forward(request,response)

          转到另一个servlet,只发送一次请求,本身的servlet内容不执行

        dispatcher.include(request,response)

          包含另一个servlet的内容

        请求转发与重定向的区别

          重定向让客户端浏览器来完成(发出两次请求,第二次请求时, request中德书局消失,不能把request中封装的属性取出来) 请求转发是在服务器端做工作(发送一次请求,可以把request中封装的属性取出来)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值