sitelink1 | |
---|---|
sitelink2 | |
sitelink3 | |
sitelink4 | |
sitelink5 | |
sitelink6 |
Servlet 에서 다음과 같은 코드로 HttpServletRequest 객체를 검사해야만 했다.
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Collection<Part> parts = request.getParts();
// Check if any of the parts are files.
for (Part part : parts) {
System.out.println("-----------------------------------------------------------------------");
System.out.println("- (doPost)Part.ContentType : "+part.getContentType());
System.out.println("- (doPost)Part.Name : "+part.getName());
System.out.println("- (doPost)Part.SubmittedFileName : "+part.getSubmittedFileName());
System.out.println("- (doPost)Part.Size : "+part.getSize());
System.out.println("-----------------------------------------------------------------------");
}
}
코드를 수행하니 콘솔에 다음과 같은 오류 메세지가 출력되었다.
Failed to parse multipart servlet request;
java.lang.IllegalStateException: 어떤 multi-part 설정도 제공되지 않았기 때문에, part들을 처리할 수 없습니다.
WAS 의 context.xml 을 에디터로 오픈하여 다음과 같이 설정해야 한다.
<Context allowCasualMultipartParsing="true" path="/">
<Resources cachingAllowed="true" cacheMaxSize="100000" />
※ 주의할 점은 HttpServletRequest 클래스의 getParts() 함수를 한번 호출하면 HttpServletRequest 객체의 파일 데이터를 다시 조회할 수가 없다. -> /board/board_java/57608