2014-09-24 2 views
0

서블릿에서 응답으로 전송해야하는 문자열이 있습니다. & 응답을 다시 보내는 방법은 두 가지입니다.서블릿 응답 쓰기와 인쇄? 어떤게 더 좋아?

먼저 PrintWriter를 사용하고 있습니다.

response.getWriter(). print (responseString);

두 번째는 OutputStream을 사용하고 있습니다.

byte[] byteResponse = responseString.getBytes(Charset.forName("UTF-8")); 
response.getOutputStream().write(byteResponse); 

응답을 보내는 데 더 효율적이고 효과적인 방법을 알고 싶습니다.

좋습니다.

+0

Class.forName ("UTF-8")은 응답을 보내는 동안 인코딩 용입니다. – Finn

+0

한 번 확인하겠습니다. – Finn

+0

죄송합니다, typo. 그것의 Charset.forName ("UTF-8")은 Class.forName ("UTF-8")이 아닙니다. – Finn

답변

2

이진 데이터에는 OutputStream을 사용하고 텍스트에는 Writer를 사용하십시오.

+0

감사합니다. 서블릿에서 응답을 UI에 전달하는 클래스에 응답을 전달하고 있습니다. 이 경우 중간 클래스에 응답을 전달하기 위해 서블릿에서 사용해야하는 방법은 UI에 응답을 보내는 중간 클래스에서 응답을 문자열로 전달해야하기 때문입니다. – Finn

0

내가 문자열가 오전이의 PrintWriter 그냥 잘 빠르고 간단하게 작동 당신이 내가의 PrintWriter 객체

//prints text data to screen (browser) 
PrintWriter printer = response.getWriter(); 
printer.print(string); 
//print again if you wish 
printer.print("Welcome blahblah"); 
//close afterwards if you don't mind. 
printer.close(); 

그래서 당신은 브라우저에 텍스트를 작성하고자하는 경우를 제시 있도록 문자열을 쓸 것인지를 지정합니다 .

+0

세 방향으로 진행됩니다. 먼저 중간 클래스에 응답을 전달해야하며이 중간 클래스에서 UI에서 렌더링해야합니다. 따라서 서블릿에서 중간 클래스에 이르기까지 UI에서 렌더링하는 동안 어떤 방법으로 처리해야합니까? 문자열 만 전달해야합니다. – Finn

관련 문제