
/***
* get request query string
* @param request
* @return byte[]
*/
public byte[] getrequeststr(httpservletrequest request){
int contentlength = request.getcontentlength();
byte buffer[] = new byte[contentlength];
for (int i = 0; i < contentlength;) {
try {
int readlen = request.getinputstream().read(buffer, i,
contentlength - i);
if (readlen == -1) {
break;
}
i += readlen;
} catch (ioexception ioexception) {
ioexception.printstacktrace();
} finally {
// logger.info("json request:" + requestpacket);
}
}
return buffer;
}
上述方法傳回的是byte數組。
下面的方法直接傳回字元串:

*
* @return
* @throws unsupportedencodingexception
public string getrequeststr(httpservletrequest request) throws unsupportedencodingexception{
byte buffer[]=getrequestbytes(request);
string charencoding=request.getcharacterencoding();
if(charencoding==null){
charencoding="utf-8";
return new string(buffer,charencoding);
應用:上述方法一般用于在filter(javax.servlet.filter)中擷取請求參數,進行轉發