- 浏览: 831037 次
- 性别:
- 来自: 北京、四川
文章分类
最新评论
-
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 642转:http://www.cnblogs.com/dolp ... -
Java内存模型
2015-07-29 13:55 9191. 概述 多任务和 ... -
自定义classloader
2015-07-29 13:54 698转:http://tiantian911.iteye.com ... -
自定义ClassLoader实现java应用核心逻辑模块热部署
2015-07-29 13:51 1026转:http://blog.csdn.net/zhangda ... -
java classloader原理初探
2015-07-29 10:14 672转:http://www.cnblogs.com/ ... -
Java 内存分配全面浅析
2015-07-29 08:52 614转:http://blog.csdn.net/shimi ... -
http stream
2014-07-29 16:38 1152StringBuilder sb = new String ... -
Tomcat远程调试
2011-04-09 12:33 1064需要在Tomcat中的catalina.bat中添加如下的一行 ... -
用jmx监控多台服务器(tomcat)
2010-09-08 18:25 4582因为需要写一个后台监控服务器的程序,涉及到jmx,也涉 ... -
call cmd /c start 一点疑问
2010-09-01 10:16 2252call "cmd /c start aaa.bat ... -
Windows计划任务之schtasks
2010-08-30 13:21 3602创建:SCHTASKS /Create /RU SYSTEM ... -
ajax返回值中有中文存在的乱码现象
2010-08-27 16:28 1450ajax返回值中有中文存在的乱码现象,解决就加入下面一行代码即 ... -
MIME TYPE
2010-08-26 16:23 7265最近要做需要在页面上放音频的东西,因此需要用到mime typ ... -
JMX问题
2010-08-20 17:20 5513这个问题貌似是启动tomcat之后就获取不到jmx的链接了,不 ... -
Eclipse控制台乱码
2010-08-05 15:18 4898安装了Eclipse,在运行tomcat时,控制台的中文显示乱 ... -
JMX服务端和客户端的代码
2010-07-27 15:37 3579服务端代码如下 package com.rmi; i ... -
JMX连接Tomcat的JMX测试类
2010-07-27 15:33 3303首先是为了使tomcat支持JMX,必须在tomcat的启动项 ... -
JMX的一个链接类
2010-07-27 09:37 1472package com.pachira.oamp.jmxS ... -
java中文转unicode码
2010-07-22 11:04 43433转载地址:http://www.iteye.com/topic ... -
apache的tomcat负载均衡(两个tomcat)和集群配置(session复制)
2010-06-05 16:24 4607参考地址:http://www.iteye.com/topic ...
相关推荐
引入就问题解决了 当然 前提是路由要配置正确 路由配置成Post或者any的时候才能获取到Post的值 附上我的路由图 希望对大家有帮助 以上这篇laravel 解决后端无法获取到前端Post过来的值问题就是小编分享给大家的全部...
POST请求用于向服务器发送大量数据,如表单数据或二进制数据,这些数据不会显示在URL中。POST请求的安全性相对更高,因为它不会将数据暴露在浏览器历史记录中。在C#中,你可以使用`HttpClient`的`PostAsync`方法来...
为了在服务器端获取这些POST数据,我们可以使用以下方法: 1. **使用`Part`接口**:Java Servlet 3.0及以上版本提供了处理`multipart/form-data`的API。你可以通过`HttpServletRequest`的`getParts()`方法获取所有...
# 获取POST数据的长度 my $content_length = $ENV{'CONTENT_LENGTH'}; # 读取POST数据 my $buffer = ''; read(STDIN, $buffer, $content_length); ``` 这里的`$ENV{'CONTENT_LENGTH'}`变量包含了POST数据的长度,这...
由于这个变量依赖于Content-Type的设置,所以它并不是获取POST数据的首选方法,仅在特定情况下使用。 除了以上三种方法,文章中还提到了如何处理特定的数据格式,例如XML格式的数据。在某些应用场景下,如开发微信...
通过获取并使用这个V值,我们可以向服务器发送GET或POST请求,进而获取相关的财经数据。 本项目的核心在于如何获取和处理这些数据。以下为具体步骤: 1. **V值获取**:在C#中,我们可以利用HttpClient类来发起网络...
- 当“数量”字段发生变化时,获取当前行的“单据编号”和“数量”字段的值,然后将二者拼接起来作为新的值赋给文本字段`F_ASDQ_TEXT`。 4. **测试脚本效果:** - 完成脚本编写后保存并确定,可以在实际业务场景...
本文将深入探讨如何通过POST方式在Android中获取服务器数据。 首先,我们需要了解HTTP POST请求的基本概念。HTTP POST请求用于向服务器提交数据,常用于表单提交。与GET方法不同,POST方法会将数据包含在HTTP请求...
1. 获取POST中表单键值数据 当客户端(如浏览器)通过POST方式提交表单时,数据通常是以`application/x-www-form-urlencoded`格式发送的。在Django的视图函数(views.py)中,可以使用`request.POST`来获取这些键值...
例如,在使用Spring MVC时,可以通过配置`org.springframework.web.multipart.MaxUploadSizeExceededError`异常来提高上传文件或POST数据的大小限制。 2. **分块传输**:如果数据量确实非常大,可以考虑将数据分块...
在这个例子中,可能是发送一个POST请求到服务器,携带必要的数据,例如用户ID或令牌,以获取计步器的个人信息。 2. **POST请求**: POST请求常用于向服务器提交数据,比如注册、登录或更新信息。在Android中,使用...
这里,`this.phone`和`this.password`直接获取了Vue实例中定义的同名数据属性的值。这对于在用户交互如表单提交时执行某些操作是很有用的。 ### 使用axios发送HTTP请求 在示例中,使用了axios库来发送HTTP请求,...
这在调用HTTP接口时特别有用,我们可以根据数据的值动态设置POST请求的URL、Header或Body。 四、创建HTTP POST调用 1. 打开Kettle,新建一个转换或作业。 2. 添加"HTTP"组件到设计画布。 3. 配置HTTP组件: - 设置...
4. **准备POST数据**:接下来,构造要发送的数据。这通常是一个键值对的字符串,其中每个键和值之间用等号连接,键值对之间用`&`分隔。 ```csharp string strId = "guest"; string strPassword = "123456"; ...
为了适应ECharts,你可以将这些数据结构转换为更方便处理的形式,例如两个数组(如:一个存放x轴数据,一个存放y轴数据),或者构建一个键值对的Map,键对应x轴值,值对应y轴值。这样,数据组织更加清晰,易于映射到...
// 发送POST请求并获取响应 HttpResponseMessage response = await client.PostAsync("Service.svc/YourOperationContract", content); if (response.IsSuccessStatusCode) { // 处理返回的JSON响应 string ...
主要内容:通过for循环拿到post表单中的值并保存到一个dict中,然后通过**dict保存到数据库中。 1.用户提交了一个表单,表单内容包含csrf。 2.服务端除了表单中的csrf要过滤掉,其它的都要保存到数据库中。 3.具体看...
然而,假设你可能需要将从POST请求中获取的JSON数据存储到SQL数据库中,你可以使用Qt的`QSqlDatabase`和`QSqlQuery`等类来实现。首先,确保正确配置数据库连接,然后构建SQL语句,使用`QJsonDocument`中的数据填充...
最后,通过`HttpSendRequest()`发送POST数据,并使用`InternetReadFile()`接收服务器的响应。 在POST请求中,数据通常被封装在HTTP请求头的`Content-Type`字段内,常见的类型是`application/x-www-form-urlencoded`...
标题 "LABVIEW 获取网页数据_labview访问网页下载文章" 描述了一个使用LabVIEW(Laboratory Virtual Instrument Engineering Workbench)编程来获取和下载网页数据的过程。LabVIEW是美国国家仪器公司(NI)开发的一...