Java如何实现URL带请求参数(get/post)及得到get和post请求url和参数列表的方法

具体代码如下所示:

public static String sendGet(String url,String param)
 {
 String result = "";
 try{
 String urlName = url + "?"+param;//
 URL U = new URL(urlName);
 URLConnection connection = U.openConnection();
 connection.connect();
 BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
 String line;
 while ((line = in.readLine())!= null)
 {
 result += line;
 }
 in.close();
 }catch(Exception e){
 System.out.println("Helloword!!"+e);
 }
 return result;
 }
 public static String sendPost(String url,String param)
 {
 String result="";
 try{
 URL httpurl = new URL(url);
 HttpURLConnection httpConn = (HttpURLConnection)httpurl.openConnection();
 httpConn.setDoOutput(true);
 httpConn.setDoInput(true);
 PrintWriter out = new PrintWriter(httpConn.getOutputStream());
 out.print(param);
 out.flush();
 out.close();
 BufferedReader in = new BufferedReader(new InputStreamReader(httpConn.getInputStream()));
 String line;
 while ((line = in.readLine())!= null)
 {
 result += line;
 }
 in.close();
 }catch(Exception e){
 System.out.println("Helloword!"+e);
 }
 return result;
 }

下面给大家介绍 java得到GET和POST请求URL和参数列表的方法

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

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);
 }
}

以上代码简单易懂,希望对大家学习 java post get url 请求参数的相关方法有所帮助,感谢大家一直以来对我们网站的支持,有你们的支持,我们会做的更好。

时间: 2015-10-23

java eclipse 启动参数

在参考了一些资料之后,我总结了一些比较常用的启动时Command Arguments,如果有不正确的地方希望大家予以指出. -arch [processor architecture] 描述:指定所使用的处理器的类别 举例:eclipse -arch x86或eclipse -arch sparc -application [id] 描述:指定要运行的应用,id为扩展org.eclipse.core.applications扩展点的插件id加扩展id 举例:例如有个插件id为edu.sdu.ap

java向多线程中传递参数的三种方法详细介绍

在传统的同步开发模式下,当我们调用一个函数时,通过这个函数的参数将数据传入,并通过这个函数的返回值来返回最终的计算结果.但在多线程的异步开发模式下,数据的传递和返回和同步开发模式有很大的区别.由于线程的运行和结束是不可预料的,因此,在传递和返回数据时就无法象函数一样通过函数参数和return语句来返回数据.本文就以上原因介绍了几种用于向线程传递数据的方法,在下一篇文章中将介绍从线程中返回数据的方法. 欲先取之,必先予之.一般在使用线程时都需要有一些初始化数据,然后线程利用这些数据进行加工处理,并

Java方法的可变参数类型实例分析

Java方法中的可变参数类型是一个非常重要的概念,有着非常广泛的应用.本文就以实例形式对此加以分析.具体如下: 一般来说,许多Java初学者在看到下面的这段代码的时候,都会问一个问题:dealArray方法里那三个小点点是什么啊? public class TestVarArgus { public static void dealArray(int... intArray){ } public static void main(String args[]){ } } 这就是本文所要讨论的问题:

javascritp添加url参数将参数加入到url中

将对象参数加入到url中,如果原来url中有则覆盖 js代码 function addToUrl(obj){ var aprotocol = location.protocol; var ahost = location.host; var apath = location.pathname; var asearch = location.search; var ahash = location.hash; var result = ''; console.log(obj); var joinO

java解析出url请求的路径和参数键值对类(解析出url请求的路径,包括页面)

复制代码 代码如下: package RequestPackage; import java.util.HashMap; import java.util.Map; public class CRequest { /** * 解析出url请求的路径,包括页面 * @param strURL url地址 * @return url路径 */ public static String UrlPage(String strURL) { String strPage=null; String[] arr

Java获取代码中方法参数名信息的方法

前言 大家都知道随着java8的使用,在相应的方法签名中增加了新的对象Parameter,用于表示特定的参数信息,通过它的getName可以获取相应的参数名.即像在代码中编写的,如命名为username,那么在前台进行传参时,即不需要再编写如@Parameter("username")类的注解,而直接就能进行按名映射. 如下的代码参考所示: public class T { private interface T2 { void method(String username, Stri

Java方法参数是引用调用还是值调用?

方法调用(call by) 是一个标准的计算机科学术语.方法调用根据参数传递的情况又分为值调用( call by reference ) 和引用调用( call by value ) .江湖上有很多关于这两种调用的定义 ,最通常的说法是传递值的是值调用,传递地址的是引用调用.这其实很不恰当,这种 这些说法很容易让我们联想到Java的对象参数传递是引用调用,实际上,Java的对象参数传递仍然是值调用 . 我们首先用一段代码来证实一下为什么Java的对象参数传递是值调用. public class

Java 8中如何获取参数名称的方法示例

前言 在Java 8之前的版本,代码编译为class文件后,方法参数的类型是固定的,但参数名称却丢失了,这和动态语言严重依赖参数名称形成了鲜明对比.现在,Java 8开始在class文件中保留参数名,给反射带来了极大的便利. 示例: public class GetRuntimeParameterName { public void createUser(String name, int age, int version) { // } public static void main(Strin

java根据方法名称取得反射方法的参数类型示例

复制代码 代码如下: /** * 根据方法名称取得反射方法的参数类型(没有考虑同名重载方法使用时注意) * @param obj         类实例   * @param methodName  方法名 * @return * @throws ClassNotFoundException */public static Class[]  getMethodParamTypes(Object classInstance,  String methodName) throws ClassNotF

Java方法签名为何不包含返回值类型

看下官方说明: 意思是java方法签名包含两个要素:方法名称和参数列表.即不包括返回值类型. 那为什么不能包含返回值类型呢? 看一下如下两段代码示例. 示例一: public String m123(int i) { return "456"; } public int m123(int i) { return 123; } // 为什么不能包含返回值的原因:编译器无法从所有的上下文中确定重载版本 // 因此为了避免"模棱两可"的局面, java方法签名中不包含返回

java反射拼接方法名动态执行方法实例

近期由于负责项目的一个模块,该模块下有很多分类,每个分类都有一个编码code,这个值是作为一个参数携带过来的.但是每个code确实对应一个方法的. code的值有很多个,自己又不想做ifelse或者switch判断于是就狂搜资料,主要让我发现利用java的反射机制可以完美的解决这个问题 测试代码如下:(可以携带多个参数哦) package com.escs.xmlutils; import java.lang.reflect.Method; public class Test { public

Java中方法名称和泛型相同的用法示例

本文实例讲述了Java中方法名称和泛型相同的用法.分享给大家供大家参考,具体如下: 一 点睛 Java中,方法的名称可以用泛型替代. 二 实战 1 代码 public class SupGent { public class A<E> { E t; public A( E t ) { this.t = t; } public E E() { //采用了泛型E,碰巧方法名称也是E,只不过不要弄混淆,有点像宏替换 return t; } } public class B<E> exte

Java Spring项目国际化(i18n)详细方法与实例

Spring国际化概述 国际化基本规则 国际化信息"也称为"本地化信息",一般需要两个条件才可以确定一个特定类型的本地化信息,它们分别是"语言类型"和"国家/地区的类型".如中文本地化信息既有中国大陆地区的中文,又有中国台湾.中国香港地区的中文,还有新加坡地区的中文.Java通过java.util.Locale类表示一个本地化对象,它允许通过语言参数和国家/地区参数创建一个确定的本地化对象. 语言参数使用ISO标准语言代码表示,这些代码

Java实现SSL双向认证的方法

本文实例讲述了Java实现SSL双向认证的方法.分享给大家供大家参考,具体如下: 我们常见的SSL验证较多的只是验证我们的服务器是否是真实正确的,当然如果你访问的URL压根就错了,那谁也没有办法.这个就是所谓的SSL单向认证. 但是实际中,我们有可能还会验证客户端是否符合要求,也就是给我们每个用户颁发一个证书,比且每个数字证书都是唯一的,不公开的.这样就能通过这个数字证书保证当前访问我服务器的这个用户是经过服务器认可的,其他人不可访问. 双向认证 从第一个层面上 确保了服务器 与客户端 都是互相

java实现文件变化监控的方法(推荐)

一. spring配置文件:application.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://ww

探索Java中的equals()和hashCode()方法_动力节点Java学院整理

equals()和hashCode()区别?  equals():反映的是对象或变量具体的值,即两个对象里面包含的值--可能是对象的引用,也可能是值类型的值.  hashCode():计算出对象实例的哈希码,并返回哈希码,又称为散列函数.根类Object的hashCode()方法的计算依赖于对象实例的D(内存地址),故每个Object对象的hashCode都是唯一的:当然,当对象所对应的类重写了hashCode()方法时,结果就截然不同了. 之所以有hashCode方法,是因为在批量的对象比

Java实现简单修改文件名的方法分析

本文实例讲述了Java实现简单修改文件名的方法.分享给大家供大家参考,具体如下: 今天帮朋些个网站,做到商品上传的时候需要给文件重新设置名称,以前也做过类的功能,只是没有保存忘了,为了避免以后再重新找,就在此记录下,哈哈..... 例子一: import java.io.*; public class test1 { public static void main(String[] args) { File file=new File("D:/gai.jpg"); //指定文件名及路径

java实现清理DNS Cache的方法

本文实例讲述了java实现清理DNS Cache的方法.分享给大家供大家参考.具体分析如下: 一.测试环境 OS:Windows7 x64 JDK:1.6.0_45 二.本人找到四种方式清理jvm的DNS缓存,大家可以根据自己的情况选用. 1. 在首次调用InetAddress.getByName()前,设置java.security.Security.setProperty("networkaddress.cache.ttl", "0"); 2. 修改jre/li