前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HttpServlet

HttpServlet

原创
作者头像
大学里的混子
修改2019-03-08 10:34:03
3980
修改2019-03-08 10:34:03
举报
文章被收录于专栏:LeetCodeLeetCode

一、HttpServletRequest概述

1.1、HttpServletRequest简介

  HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户这些信息。

  request就是将请求文本封装而成的对象,所以通过request能获得请求文本中的所有内容,请求头、请求体、请求行

二、详解HttpServletRequest

2.1、请求行

  举例:Get  http://localhost:8080/day09/servlet/req1?username=zs  http/1.1

  相关方法:

    getMethod();     获得请求方式

    getRequestURL();    返回客户端发出请求时的完整URL。

    getRequestURI();    返回请求行中的资源名部分。

    getContextPath();    当前应用的虚拟目录 

    getQueryString() ;    返回请求行中的参数部分。

2.2、请求头  

  我们可以查看任意一个网页,它都是有请求头的。

  相关方法: 

    String getHeader(String name) 根据头名称得到头信息值

    long getDateHeader(java.lang.String name) 获得指定头内容Date

    int getIntHeader(java.lang.String name)  获得指定头内容int

    Enumeration getHeaderNames() 得到所有头信息name     Enumeration getHeaders(String name) 根据头名称得到相同名称头信息值

  举例1:Enumeration getHeaderNames() 得到所有头信息name

5.4、重定向

  1)重定向运行原理  

    重定向机制的运作流程     第一步:用户在浏览器端输入特定URL,请求访问服务器端的某个组件     第二步:服务器端的组件返回一个状态码为302的响应结果。     第三步:当浏览器端接收到这种响应结果后,再立即自动请求访问另一个web组件     第四步:浏览器端接收到来自另一个web组件的响应结果。     HttpServeltResponse的sendRedirect(String location)用于重定向

   2)具体实现

  方式一:手动方案

    response.setStatus(302);  //状态码302就代表重定向

    response.setHeader("location","http://www.baidu.com");

  方式二:使用封装好的,通过response.sendRedirect("http://www.baidu.com");

    特点:服务器告诉浏览器要跳转的页面,是浏览器主动去跳转的页面,浏览器知道,也浏览器的地址栏中url会变,是浏览器重新发起一个请求到另外一个页面,所以request是重新发起的,跟请求转发不一样。

    注意:response.sendRedirect(path);  //

    第一种:response.sendRedirect("/test01/MyServlet01");  //使用了"/"开头,说明是从web站点根开始,所以需要写test01/MyServlet01

    第二种:response.sendRedirect("MyServlet01");  //没有使用"/"开头,说明是从web项目根开始,那么就无需写test01了。

    注意:重定向没有任何局限,可以重定向web项目内的任何路径,也可以访问别的web项目中的路径,并且这里就用"/"区分开来,如果使用了"/"开头,就说明我要重新开始定位了,不访问刚才的web项目,自己写项目名,

       如果没有使用"/"开始,那么就知道是访问刚才那个web项目下的servlet,就可以省略项目名了。就是这样来区别。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、HttpServletRequest概述
    • 1.1、HttpServletRequest简介
    • 二、详解HttpServletRequest
      • 2.1、请求行
        • 2.2、请求头  
          • 5.4、重定向
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档