009、请求行的获取及解析

一、如何获取请求行数据
                * GET /day14/demo1?name=zhangsan HTTP/1.1
                * request包含的方法:
                    1. 获取请求方式 :GET
                        * String getMethod()  
                    2. (*)获取虚拟目录:/day1
                        * String getContextPath()
                    3. 获取Servlet路径: /demo1
                        * String getServletPath()
                    4. 获取get方式请求参数:name=zhangsan
                        * String getQueryString()
                    5. (*)获取请求URI:/day1/demo1
                        * String getRequestURI():        /day1/demo1
                        * StringBuffer getRequestURL()  :http://localhost/day1/demo1

                        * URL:统一资源定位符 : http://localhost/day14/demo1     
                        * URI:统一资源标识符 : /day14/demo1    
                        注意:URI的范围比URL大                 
                    
                    6. 获取协议及版本:HTTP/1.1
                        * String getProtocol()

                    7. 获取客户机的IP地址:
                        * String getRemoteAddr()

二、举例:

ServletDemo04.java

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/ServletDemo04")
public class ServletDemo04 extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1. 获取请求方式 :
        System.out.println("1: "+ request.getMethod());
        //2. (*)获取虚拟目录:
        System.out.println("2: "+request.getContextPath());
        //3. 获取Servlet路径:
        System.out.println("3: "+request.getServletPath());
        //4. 获取get方式请求参数
        System.out.println("4: "+request.getQueryString());
        //5. 获取请求URI
        System.out.println("5: "+request.getRequestURI());
        //5. 获取请求URL
        System.out.println("6: "+request.getRequestURL());
        //6. 获取协议及版本:HTTP
        System.out.println("7: "+request.getProtocol());
        //8. 获取客户机的IP地址:
        System.out.println("8: "+request.getRemoteAddr());
    }
}

在浏览器中输入:http://192.168.0.103/servlet/ServletDemo04?username=hello&name=lf

注意将上面的IP地址修改自己电脑的(cmd.exe 输入ipconfig获取)

输出结果:

1: GET
2: /servlet
3: /ServletDemo04
4: username=abc&name=lf
5: /servlet/ServletDemo04
6: http://192.168.0.103/servlet/ServletDemo04
7: HTTP/1.1
8: 192.168.0.103

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值