2016-05-03 8 views

答えて

0

私は、スクリプトレットの使用が罪とみなされていると思います。 How to avoid Java code in JSP files? このデモンストレーションには1つを使用します。アップロードしたファイルをWebアプリケーション内に保存することはお勧めしません。 How to upload files to server using JSP/Servlet? 私はこのデモンストレーションでそれを行います。 ファイルをアップロードするために使用できるファイル(Webアプリのルートフォルダに置かれています)です。

<html> 
    <body> 
     <form action="uploadJSP" method="post" enctype="multipart/form-data"> 
      <input type="file" name="myFile" /> 
      <input type="submit" /> 
     </form> 
    </body> 
</html> 

action属性は、web.xmlファイルでJSPに与えられたサーブレット名を指します。これを行う必要があるのは、サーブレットコンテナがマルチパートリクエストを処理したいからです。弊社のWebアプリケーションのweb.xmlファイルでは、我々はここで

<servlet> 
       <servlet-name>uploadfile</servlet-name> 
       <jsp-file>/uploadFile.jsp</jsp-file> 
       <multipart-config> 
        <location>/temp</location> 
        <max-file-size>20848820</max-file-size> 
        <max-request-size>418018841</max-request-size> 
        <file-size-threshold>1048576</file-size-threshold> 
       </multipart-config> 
</servlet> 
<servlet-mapping> 
       <servlet-name>uploadfile</servlet-name> 
       <url-pattern>/uploadJSP</url-pattern> 
</servlet-mapping> 

のようなものが含まれている必要がありuploadFile.jspは、あなたのWebアプリケーションのルートフォルダを入れています。

<%@ page import="java.io.*,java.nio.file.*" %> 
<% 
    Part part = request.getPart("myFile"); 
    String submittedName = part.getSubmittedFileName(); 
    String fileName = new File(submittedName).getName(); 
    String folder = application.getRealPath("/fileUploads"); 
    Path path = FileSystems.getDefault().getPath(folder, fileName); 
    Files.copy(part.getInputStream(), path); 
%> 
The file <%=fileName%> was uploaded to the <%=folder%> folder. 

問題が発生した場合は、投稿してください。一時フォルダについて不平を言うエラーが発生した場合は、コンテナが探している場所のどこにでも作成してください。私のTomcatはそれをworkフォルダに入れたいと思っていました。 WebアプリケーションのルートフォルダにfileUploadsフォルダを作成します。

関連する問題