- 浏览: 820834 次
- 性别:
- 来自: 北京、四川
文章分类
最新评论
-
sunbeamzheng:
总结的很好,好好看看。 拷贝问题确实很需要注意,特别是影不影响 ...
java深拷贝与浅拷贝 -
xmh8023:
...
获取POST数据的值 -
xmh8023:
我访问别的服务器怎么办?急求
获取POST数据的值 -
xmh8023:
String urlString="http://l ...
获取POST数据的值 -
lv12312:
Tomcat 7的老版本么?有bug的,https://iss ...
JMX问题
当method为POST,Content-Type为multipart/form-data时,一般应用场景是上传文件,当在该form下还有其它的input时,用request.getParameter("name")则获取不到它的值,需要换一种方式来获取input的值。
例子如下:
1、下面这个类是模拟请求的类,发送一个文件,以及其它的一些参数
2、获取前台发起的post请求,并获取相应的参数(并未实现)
例子如下:
1、下面这个类是模拟请求的类,发送一个文件,以及其它的一些参数
package com.demo; import java.io.DataOutputStream; import java.io.FileInputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class RequestPostTest { public static void main(String[] args) throws Exception{ //发起post请求 String urlString="http://localhost:8080/login"; String filePath="D:\\company\\voice\\十渡.wav"; URL connectURL = new URL(urlString); HttpURLConnection conn = (HttpURLConnection) connectURL.openConnection(); conn.setReadTimeout(100000); conn.setConnectTimeout(100000); conn.setDoInput(true); conn.setDoOutput(true); conn.setUseCaches(false); conn.setRequestMethod("POST"); conn.setRequestProperty("Connection", "Keep-Alive"); conn.setRequestProperty("Content-Type", "multipart/form-data;"); DataOutputStream dos = new DataOutputStream( conn.getOutputStream() ); StringBuffer sb=new StringBuffer("Content-Disposition: form-data;"); sb.append("&loginName=test&pwd=test1"); dos.writeBytes(sb.toString()); FileInputStream fileInputStream=new FileInputStream(filePath); int bytesAvailable = fileInputStream.available(); int maxBufferSize = 1024; int bufferSize = Math.min(bytesAvailable, maxBufferSize); byte[] buffer = new byte[bufferSize]; //read file and write it into form... int bytesRead = fileInputStream.read(buffer, 0, bufferSize); while (bytesRead > 0) { dos.write(buffer, 0, bufferSize); bytesAvailable = fileInputStream.available(); bufferSize = Math.min(bytesAvailable, maxBufferSize); bytesRead = fileInputStream.read(buffer, 0, bufferSize); } dos.flush(); dos.close(); //接收发起请求后由服务端返回的结果 int read; StringBuffer inputb = new StringBuffer(); InputStream is = conn.getInputStream(); InputStreamReader inputStreamReader = new InputStreamReader(is, "UTF-8"); while ((read=inputStreamReader.read())>=0) { inputb.append( (char) read); } System.out.println(inputb.toString()); } }
2、获取前台发起的post请求,并获取相应的参数(并未实现)
package com.demo; import java.io.IOException; import javax.servlet.ServletInputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import javax.servlet.http.HttpServlet; public class Login extends HttpServlet{ /** * */ private static final long serialVersionUID = -5376047309978396611L; public void doGet(HttpServletRequest request,HttpServletResponse response){ this.doPost(request, response); } public void doPost(HttpServletRequest request,HttpServletResponse response){ //测试 try { ServletInputStream in = request.getInputStream(); System.out.println("-------"+readLine(in));//这里是前台发起的所有参数的值,包括二进制形式的文件和其它形式的文件 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return ; } /** * Read the next line of input. * * @return a String containing the next line of input from the stream, or * null to indicate the end of the stream. * @exception IOException * if an input or output exception has occurred. */ private String readLine(ServletInputStream in) throws IOException{ byte[] buf = new byte[8 * 1024]; StringBuffer sbuf = new StringBuffer(); int result; // String line; do { result = in.readLine(buf, 0, buf.length); // does += if(result != -1) { sbuf.append(new String(buf, 0, result, "UTF-8")); } } while(result == buf.length); // loop only if the buffer was filled if(sbuf.length() == 0) { return null; // nothing read, must be at the end of stream } // Cut off the trailing \n or \r\n // It should always be \r\n but IE5 sometimes does just \n int len = sbuf.length(); if(sbuf.charAt(len - 2) == '\r') { sbuf.setLength(len - 2); // cut \r\n } else { sbuf.setLength(len - 1); // cut \n } return sbuf.toString(); } }
评论
3 楼
xmh8023
2015-02-09
2 楼
xmh8023
2015-02-09
我访问别的服务器怎么办?急求
1 楼
xmh8023
2015-02-09
String urlString="http://localhost:8080/login";
地址只能是本地吗
地址只能是本地吗
发表评论
-
Java并发编程:volatile关键字解析
2015-07-30 11:30 586转:http://www.cnblogs.com/dolp ... -
Java内存模型
2015-07-29 13:55 8721. 概述 多任务和 ... -
自定义classloader
2015-07-29 13:54 640转:http://tiantian911.iteye.com ... -
自定义ClassLoader实现java应用核心逻辑模块热部署
2015-07-29 13:51 962转:http://blog.csdn.net/zhangda ... -
java classloader原理初探
2015-07-29 10:14 626转:http://www.cnblogs.com/ ... -
Java 内存分配全面浅析
2015-07-29 08:52 570转:http://blog.csdn.net/shimi ... -
http stream
2014-07-29 16:38 1068StringBuilder sb = new String ... -
Tomcat远程调试
2011-04-09 12:33 1033需要在Tomcat中的catalina.bat中添加如下的一行 ... -
用jmx监控多台服务器(tomcat)
2010-09-08 18:25 4533因为需要写一个后台监控服务器的程序,涉及到jmx,也涉 ... -
call cmd /c start 一点疑问
2010-09-01 10:16 2212call "cmd /c start aaa.bat ... -
Windows计划任务之schtasks
2010-08-30 13:21 3541创建:SCHTASKS /Create /RU SYSTEM ... -
ajax返回值中有中文存在的乱码现象
2010-08-27 16:28 1407ajax返回值中有中文存在的乱码现象,解决就加入下面一行代码即 ... -
MIME TYPE
2010-08-26 16:23 7210最近要做需要在页面上放音频的东西,因此需要用到mime typ ... -
JMX问题
2010-08-20 17:20 5459这个问题貌似是启动tomcat之后就获取不到jmx的链接了,不 ... -
Eclipse控制台乱码
2010-08-05 15:18 4851安装了Eclipse,在运行tomcat时,控制台的中文显示乱 ... -
JMX服务端和客户端的代码
2010-07-27 15:37 3514服务端代码如下 package com.rmi; i ... -
JMX连接Tomcat的JMX测试类
2010-07-27 15:33 3261首先是为了使tomcat支持JMX,必须在tomcat的启动项 ... -
JMX的一个链接类
2010-07-27 09:37 1419package com.pachira.oamp.jmxS ... -
java中文转unicode码
2010-07-22 11:04 43311转载地址:http://www.iteye.com/topic ... -
apache的tomcat负载均衡(两个tomcat)和集群配置(session复制)
2010-06-05 16:24 4551参考地址:http://www.iteye.com/topic ...
相关推荐
获取POST数据的值
引入就问题解决了 当然 前提是路由要配置正确 路由配置成Post或者any的时候才能获取到Post的值 附上我的路由图 希望对大家有帮助 以上这篇laravel 解决后端无法获取到前端Post过来的值问题就是小编分享给大家的全部...
C# 使用Get和Post请求获取数据,Get Post 请求, POST传值
k3cloud的python插件,获取单据的数据及值更新等 还包括了如何执行mssql语句 注释可以去掉,然后执行
同花顺问财v值获取(hexin-v),获取后可通过get/post方式获取问财数据 目前只能获取某个条件搜索出来的前50条数据。可以添加多个搜索条件。 项目含搜索数据展示,过滤,excel保存等。
.net AJAX,POST提交JSON数据,ashx,解决context.Request.Form、context.Request.Params获取不到值的问题。
主要介绍了springboot中不能获取post请求参数的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
首先需要定义下拉列表框的name属性值,然后应用$_POST全局变量进行获取。 * * PHP与Web页面交互 -----PHP 获取表单信息1 课程内容 获取文本框的值 获取文件域的值 获取复选框的值 PHP获取表单信息 在Web开发过程中,...
本篇文章主要介绍了java通过HttpServletRequest获取post请求中的body内容的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
主要内容:通过for循环拿到post表单中的值并保存到一个dict中,然后通过**dict保存到数据库中。 1.用户提交了一个表单,表单内容包含csrf。 2.服务端除了表单中的csrf要过滤掉,其它的都要保存到数据库中。 3.具体看...
用$post->ID获取文章编号。 默认值:None $key (字符)(必需)字符,字符中含有希望的meta值的名称。 默认值:None $single (布尔值)(可选)如果默认值设为true,函数返回单个字符形式的结果。如果为false或为...
WinForm关于CefSharp获取后的资源、截取request参数、拦截response数据、注入jquery文件和js代码
对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。 get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。 get...
主要介绍了Servlet获取AJAX POST请求中参数以form data和request payload形式传输的方法,结合实例形式详细分析了post数据发送及获取请求数据的原理与相关操作注意事项,需要的朋友可以参考下
用php循环获取页面中get和post的值
nodejs作为服务端语言,在开发中注册登录等需通过form表单向后端发送数据进行判断,那作为服务端语言的nodejs通过哪些方法可以接收调用form表单的post请求值呢。 常见的会用到以下三种,让我们对着例子看看具体...
以下是Django框架获取各种form表单数据的方法 Django中获取text,password 名字:<input type="text" name="name"> <br> 密码:<input type="password" name="password"> Form表单提交数据...
本文实例讲述了在Python中模仿POST HTTP数据及带Cookie提交数据的实现方法,分享给大家供大家参考。具体实现方法如下: 方法一 如果不使用Cookie, 发送HTTP POST非常简单: 复制代码 代码如下:import urllib2, urllib...
后台接收到的数据一直显示null 原因: 使用@RequestBody标签接收json数据,参数类型不能用Sting 看这两个注解的作用 @RequestParam 是作用在形参列表上,RequestParam可以接受简单类型的属性,也可以接受对象类型。...
JSON数据源–通用后端数据源 JSON数据源针对任意后端执行JSON请求。 JSON数据源建立在之上。... POST /tag-values返回临时过滤器的标签值。 /搜索 POST /search Grafana在以下位置发出此请求 变量>新建/编辑页面。 Qu