下面是Java Servlet上传图片到指定文件夹并显示图片的完整攻略:
步骤一:准备工作
首先,你需要在项目中创建一个用于存储上传图片的文件夹。例如,我们在项目的根目录下创建一个名为“upload”的文件夹。然后,需要在Web.xml中配置文件上传的处理器。
<servlet>
<description>This is my servlet to upload file</description>
<servlet-name>FileUploadServlet</servlet-name>
<servlet-class>com.example.servlet.FileUploadServlet</servlet-class>
<multipart-config>
<location>/path/to/temp/folder</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>FileUploadServlet</servlet-name>
<url-pattern>/upload/*</url-pattern>
</servlet-mapping>
这里在servlet中添加了multipart-config,用于支持文件上传,其中:
- location是指定上传文件的临时存储路径。
- max-file-size是指定最大文件大小,单位是字节。
- max-request-size是指定最大请求大小,单位是字节。
- file-size-threshold是指定文件大小超过阈值时,会被写入到磁盘中。
步骤二:处理文件上传
接下来,需要编写Java Servlet,用于处理文件上传。下面是示例代码:
package com.example.servlet;
import javax.servlet.annotation.*;
import javax.servlet.http.*;
import java.io.*;
@WebServlet("/upload")
@MultipartConfig(location = "D:/upload", maxFileSize = 20 * 1024 * 1024, maxRequestSize = 200 * 1024 * 1024, fileSizeThreshold = 5 * 1024 * 1024)
public class FileUploadServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
request.setCharacterEncoding("UTF-8");
Part part = request.getPart("file");
if (part != null) {
String fileName = part.getSubmittedFileName();
String path = request.getServletContext().getRealPath("/upload");
part.write(path + File.separator + fileName);
out.write("<html>");
out.write("<body>");
out.write("<img src='" + request.getContextPath() + "/upload/" + fileName + "'/>");
out.write("</body>");
out.write("</html>");
} else {
out.write("上传失败!");
}
}
}
这个Servlet将会进行文件上传处理,根据前面的配置,文件将上传到“D:/upload”目录中。接着,获取request请求中的文件信息,将文件名存储起来,并将文件写入到指定的位置。最后,将图片通过图片链接方式展现在网页上。
步骤三:测试效果
最后,需要编写一个Web页面用于测试刚刚编写的文件上传功能。例如,在index.jsp中添加如下代码:
<form action="upload" method="post" enctype="multipart/form-data">
<input type="file" name="file"/>
<br/>
<input type="submit" value="上传"/>
</form>
然后打开页面,选择一个图片文件上传即可。上传成功后,图片将会展现在页面上。
这样,我们就完成了Java Servlet上传图片到指定文件夹并显示图片的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java Servlet上传图片到指定文件夹并显示图片 - Python技术站