IT/java

ajax post json 을 jsp request 로 받기

조원태 2020. 8. 11. 16:14
반응형

클라이언트측에서 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