JSP源代码:
<%@page contentType="text/html;charset=gb2312"%>
<form action="/fileserver/FileServiceServet" method="POST">
<div align="left">
<input type='text' name='var1'><br>
<input type='text' name='var2'><br>
<input type='text' name='var3'><br>
<input type="submit" value="开始发送">
<input type="reset" value="重 设">
</div>
</form>JSP提交一个Sevlet执行,
Servlet源代码:public class FileServiceServet extends HttpServlet {
/**
* post service
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
int length = request.getContentLength();
InputStream input = request.getInputStream();
// request binary data
byte[] data = new byte[] {};
if (length != 0 && length != -1) {
data = new byte[length];
int i = 0;
int c = 0;
while ((c = input.read()) != -1) {
data[i] = (byte) c;
i++;
}
if (i != length) {
String message = "There are " + length
+ "bytes available in inputstream,but " + i
+ " bytes read actually!";
// baseBean.base_log4j_file.error(message);
this.writeResponse(response, message.getBytes());
return;
}
}
System.out.println(request.getParameter("var1"));
System.out.println(request.getParameter("var2"));
String s = new String(data);
System.out.println(s);
} 假设我在JSP页面的表单中的每个输入框中输入3,4,5,
可发现Servvet输出如下:
null
null
var1=3&var2=4&var3=5,这我就纳闷了,按理说应该是输出
3
4
var1=3&var2=4&var3=5
才对的呀?为什么var1,var2的值变成null了呢?
真是纳闷,
<%@page contentType="text/html;charset=gb2312"%>
<form action="/fileserver/FileServiceServet" method="POST">
<div align="left">
<input type='text' name='var1'><br>
<input type='text' name='var2'><br>
<input type='text' name='var3'><br>
<input type="submit" value="开始发送">
<input type="reset" value="重 设">
</div>
</form>JSP提交一个Sevlet执行,
Servlet源代码:public class FileServiceServet extends HttpServlet {
/**
* post service
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
int length = request.getContentLength();
InputStream input = request.getInputStream();
// request binary data
byte[] data = new byte[] {};
if (length != 0 && length != -1) {
data = new byte[length];
int i = 0;
int c = 0;
while ((c = input.read()) != -1) {
data[i] = (byte) c;
i++;
}
if (i != length) {
String message = "There are " + length
+ "bytes available in inputstream,but " + i
+ " bytes read actually!";
// baseBean.base_log4j_file.error(message);
this.writeResponse(response, message.getBytes());
return;
}
}
System.out.println(request.getParameter("var1"));
System.out.println(request.getParameter("var2"));
String s = new String(data);
System.out.println(s);
} 假设我在JSP页面的表单中的每个输入框中输入3,4,5,
可发现Servvet输出如下:
null
null
var1=3&var2=4&var3=5,这我就纳闷了,按理说应该是输出
3
4
var1=3&var2=4&var3=5
才对的呀?为什么var1,var2的值变成null了呢?
真是纳闷,
解决方案 »
- 关于hibernate的分组查询问题!
- 关于保存路径的问题————等着用!大哥大姐们帮帮忙。。。谢谢
- 紧急求救,在线等...JAVA程序产生的致命错误,自己生成一个hs_err_pid***.log文件!!!请教是哪里出问题了?
- 日文乱码问题(加了filter之后出现的)
- 表格中是否可以嵌入框架网页??在线等待
- import javax.servlet.http.HttpServlet; 会有错怎么弄?
- 求助 我写的JSP文件
- 急寻MS SQL SERVER7.0的jdbc驱动
- 通过表单给jsp文件传参数,值为中文时,就不能乱码了??请高手指点。
- DIV控制两个按钮在同一行显示,并且一个左对齐一个右对齐,不用表格
- Java SoCket难题
- 怎样获得浏览文件夹的对话框,急!
其实在getInputStream后,Servlet服务器就认为你自己负责流的解析了,不再需要服务器帮助你解析
对于输入流的解析,到底谁解析,什么时候解析,Servlet是如何做出决定的呢?