这是最开始写的,username取到的值总是为空
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
BufferedReader br = req.getReader();
int len;
while((len = br.read()) != -1) {
System.out.print((char)len);
}
System.out.println();
System.out.println("***********************************");
//获取请求参数
String username = req.getParameter("username");
System.out.println("username = "+username);
}
先用getParameter, 后面的流一样取不到值
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取请求参数
String username = req.getParameter("username");
System.out.println("username = "+username);
System.out.println("***********************************");
BufferedReader br = req.getReader();
int len;
while((len = br.read()) != -1) {
System.out.print((char)len);
}
System.out.println();
}
当我把IO流的代码注释掉后就能正常取值了,反之亦然
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// BufferedReader br = req.getReader();
// int len;
// while((len = br.read()) != -1) {
// System.out.print((char)len);
// }
// System.out.println();
System.out.println("***********************************");
//获取请求参数
String username = req.getParameter("username");
System.out.println("username = "+username);
}
说明流只能被读取一次,getParameter与流不能同时使用