文档章节

在servlet中GET请求可以通过HttpServletRequest的getRequestURL方法和getQueryString()得到完整的请求路径和请求所有参数列表,POST的需要getPa

林伟琨
 林伟琨
发布于 2016/10/18 15:22
字数 287
阅读 90
收藏 0

转自:http://www.zuidaima.com/share/1550463555308544.htm

**在servlet中GET请求可以通过HttpServletRequest的getRequestURL方法和getQueryString()得到完整的请求路径和请求所有参数列表,POST的需要getParameterMap()方法遍历得到,不论GET或POST都可以通过getRequestURL+getParameterMap()来得到请求完整路径

** [java] view plain copy print?在CODE上查看代码片派生到我的代码片

package com.zuidaima                          
import java.io.IOException;  
import java.io.PrintWriter;  
import java.util.Map;  
  
import javax.servlet.ServletException;  
import javax.servlet.http.HttpServlet;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
  
public class GetParams extends HttpServlet {  
    private static final long serialVersionUID = 1L;  
  
    public GetParams() {  
        super();  
    }  
  
    protected void doGet(HttpServletRequest request,  
            HttpServletResponse response) throws ServletException, IOException {  
        PrintWriter writer = response.getWriter();  
        writer.println("GET " + request.getRequestURL() + " "  
                + request.getQueryString());  
  
        Map<String, String[]> params = request.getParameterMap();  
        String queryString = "";  
        for (String key : params.keySet()) {  
            String[] values = params.get(key);  
            for (int i = 0; i < values.length; i++) {  
                String value = values[i];  
                queryString += key + "=" + value + "&";  
            }  
        }  
        // 去掉最后一个空格  
        queryString = queryString.substring(0, queryString.length() - 1);  
        writer.println("GET " + request.getRequestURL() + " " + queryString);  
    }  
  
    protected void doPost(HttpServletRequest request,  
            HttpServletResponse response) throws ServletException, IOException {  
        PrintWriter writer = response.getWriter();  
        Map<String, String[]> params = request.getParameterMap();  
        String queryString = "";  
        for (String key : params.keySet()) {  
            String[] values = params.get(key);  
            for (int i = 0; i < values.length; i++) {  
                String value = values[i];  
                queryString += key + "=" + value + "&";  
            }  
        }  
        // 去掉最后一个空格  
        queryString = queryString.substring(0, queryString.length() - 1);  
        writer.println("POST " + request.getRequestURL() + " " + queryString);  
    }  
}  
  

© 著作权归作者所有

林伟琨
粉丝 8
博文 108
码字总数 39035
作品 0
厦门
后端工程师
私信 提问
JavaEE——servlet详解

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 Servlet生命周期 Servlet在整个web工程中只有一...

凯哥学堂
2017/11/06
11
0
HttpServletRequest小结

基本概述 该对象是有Web服务器创建的,每一次请求都会创建一次。其作用是将HTTP请求封装成一个类,供Servlet处理。 常用方法 1、请求行 Get http://localhost:8080/day09/servlet/req1?usern...

一生只为虞美人
2018/07/12
0
0
JavaWeb(五)Servlet-2

1、HTTP简介 WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的规则,这个规则就是HTTP协议。 HTTP是 hypertext transfer protocol(超文本传输协议)的简写,它是 TCP/IP 协议集...

leeqico
2018/05/12
0
0
Java Web学习总结:HttpServletRequest

一、HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客...

SIHAIloveYAN
2018/08/19
0
0
http请求用法详解--requset

目录 1、http请求格式 2、获取常用信息 3、获取HTTP请求头信息 4、获取请求URL 5、获取请求参数 6、请求转发和请求包含 7、request域 8、请求转发 和 响应重定向 的区别 ==================...

Eric-Zhou
03/12
8
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周二乱弹 —— 他只能用这个办法劝你注意身体了

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @-冰冰棒- :#今日歌曲推荐# Kodaline《High Hopes》 《High Hopes》- Kodaline 手机党少年们想听歌,请使劲儿戳(这里) @xiaoshiyue :仙女...

小小编辑
8分钟前
252
6
Spring Boot Actuator 整合 Prometheus

简介 Spring Boot 自带监控功能 Actuator,可以帮助实现对程序内部运行情况监控,比如监控状况、Bean加载情况、环境变量、日志信息、线程信息等。这一节结合 Prometheus 、Grafana 来更加直观...

程序员果果
17分钟前
3
0
Linux文件查找命令详解

对于文件查找,我们最好用的还是属于find命令了,在说find命令之前,先把另外几个查找命令介绍一下。 目录 0x01 查询命令介绍 0x02 find命令介绍 0x01 查询命令介绍 在介绍之前,首先先了解一...

无心的梦呓
17分钟前
3
0
快速掌握的测试用例优先级划分方法

怎么样的设计才能算测试用例 引自:IEEE Standard 610 (1990): A set of test inputs, execution conditions, and expected results developed for a particular objective, such as to exe......

测者陈磊
20分钟前
3
0
[mycat]Attribute value "roadNodeId,version" of type NMTOKEN must be a name token

不能逗号配两个字段的主键 primaryKey="roadNodeId,version" Caused by: io.mycat.config.util.ConfigException: org.xml.sax.SAXParseException; lineNumber: 7; columnNumber: 105; Attrib......

Danni3
26分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部