2016-09-10 4 views
0

tutorial에서 튜토리얼을 따라 파일을 업로드하기 위해 Spring 기반 REST 서비스의 POC를 시도하고있다. 그러나 나는 내가Spring 4 REST Service - Getting 404

오류 404 다음과 같은 오류를 얻고 사용하여 파일을 업로드하려고하면으로 javax.servlet.UnavailableException : SRVE0319E 다음 [SpringRestWebservice] 서블릿의 경우, org.springframework.web.servlet.handler .DispatcherServletWebRequest 서블릿 클래스가 발견되었지만 자원 주입 오류가 발생했습니다. java.lang.NoSuchMethodException :. org.springframework.web.servlet.handler.DispatcherServletWebRequest()는

컨트롤러 코드

@RestController 
@RequestMapping(value = "/restService") 
// Max uploaded file size (here it is 20 MB) 
@MultipartConfig(fileSizeThreshold = 20971520) 
public class RestServiceController { 

@RequestMapping(value = "/fileUpload") 
public String uploadFile(@RequestParam("uploadedFile") MultipartFile uploadedFileRef){ 
    System.out.println("Entering RestServiceController.uploadFile"); 

    // Get name of uploaded file. 
    String fileName = uploadedFileRef.getOriginalFilename(); 
    System.out.println("File to upload : " + fileName); 

    // Path where the uploaded file will be stored. 
    String path = "C:/SpringRestService/" + fileName; 

    // This buffer will store the data read from 'uploadedFileRef' 
    byte[] buffer = new byte[1000]; 
    FileInputStream reader = null; 
    //FileOutputStream writer = null; 
    int totalBytes = 0; 

    try { 
     // Now create the output file on the server. 
     //File outputFile = new File(path); 

     //outputFile.createNewFile(); 

     // Create the input stream to uploaded file to read data from it. 
     reader = (FileInputStream) uploadedFileRef.getInputStream(); 

     // Create writer for 'outputFile' to write data read from 
     // 'uploadedFileRef' 
     //writer = new FileOutputStream(outputFile); 

     // Iteratively read data from 'uploadedFileRef' and write to 
     // 'outputFile';    
     int bytesRead = 0; 
     while ((bytesRead = reader.read(buffer)) != -1) { 
      //writer.write(buffer); 
      totalBytes += bytesRead; 
     } 
    } catch (FileNotFoundException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } finally { 
     try { 
      reader.close(); 
      //writer.close(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 

    System.out.println("Leaving RestServiceController.uploadFile"); 
    return "File uploaded successfully! Total Bytes Read="+totalBytes; 
} 
} 

web.xml의 단편

<servlet> 
<servlet-name>SpringRestWebservice</servlet-name> 
<servlet-class>org.springframework.web.servlet.handler.DispatcherServletWebRequest</servlet-class> 
</servlet> 
<servlet-mapping> 
<servlet-name>SpringRestWebservice</servlet-name> 
<url-pattern>/*</url-pattern> 
</servlet-mapping> 

이하 주어진다 파일 업로드를 제출할 HTML 콘텐츠

<body> 
<form method="POST" enctype="multipart/form-data" 
    action="http://localhost:9080/SpringRestWebservice/restService/fileUpload"> 
File to upload: <input type="file" name="uploadedFile"><br /> 
<input type="submit" value="Upload"> 
</form> 
</body> 
01 23,516,

환경

Eclipse Neon Release (4.6.0) 
Spring 4.2.5 
WAS Liberty v16 

무엇을 놓치고 확실하지?

답변

0

내가 web.xml을

봄 클래스를 대신

<servlet-class>org.springframework.web.servlet.handler.DispatcherServletWebRequest</servlet-class> 

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 

을 사용했다 밖으로 찾을 도와주세요