클라이언트측에서 ajax를 이용하여 post 방식으로 json 데이터를 서버로 전송을 할경우
jsp에서 request.getParameter()로 받으려고 할 경우 받을 수 없는 경우가 있습니다.
이럴경우는 request.getInputStream()을 이용해야 하는데요.
아래 소스를 사용하시면 post에 있는 내용을 String으로 반환하게 됩니다.
클라이언트측에서 ajax를 이용하여 post 방식으로 json 데이터를 서버로 전송을 할경우
import java.io.InputStream;
import java.io.InputStreamReader;
import javax.servlet.http.HttpServletRequest;
public static String getrequestBody(HttpServletRequest request) throws IOException {
String reqStr = null;
StringBuilder stringBuilder = new StringBuilder();
BufferedReader bufferedReader = null;
try {
InputStream inputStream = request.getInputStream();
if (inputStream != null) {
bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
char[] charBuffer = new char[128];
int bytesRead = -1;
while ((bytesRead = bufferedReader.read(charBuffer)) > 0) {
stringBuilder.append(charBuffer, 0, bytesRead);
}
} else {
stringBuilder.append("");
}
} catch (IOException ex) {
throw ex;
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException ex) {
throw ex;
}
}
}
reqStr = stringBuilder.toString();
return reqStr;
}
위 소스를 이용하면 post 로 넘어오는 모든 값을 String으로 받을 수 있다.
'IT > java' 카테고리의 다른 글
java.lang.ClassNotFoundException: io.jsonwebtoken.Jwts (0) | 2020.08.05 |
---|---|
java xml 파일 읽기 (0) | 2020.06.24 |