使用Java Servlet上传图片到指定文件夹并显示图片

是一个非常常见的任务,它可以帮助我们在Web应用程序中展示图片。本文将介绍如何使用Java Servlet来实现这个任务。

1、准备工作

我们需要准备一些必要的工具,包括:Java Servlet开发环境,Web服务器,文本编辑器,以及一些图片文件。

2、创建Servlet

我们需要创建一个Java Servlet类,用于处理图片上传和显示的请求。代码如下:

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/UploadImageServlet")
public class UploadImageServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	public UploadImageServlet() {
		super();
	}

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// 设置响应内容类型
		response.setContentType("text/html;charset=UTF-8");
		PrintWriter out = response.getWriter();
		String title = "显示图片";
		String docType = "<!DOCTYPE html>\n";
		out.println(docType + "<html>\n" + "<head><title>" + title + "</title></head>\n"
				+ "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + title + "</h1>\n");
		String filename = request.getParameter("filename");
		System.out.println("文件名:" + filename);
		String filePath = "images/" + filename;
		out.println("<img src=\"" + filePath + "\" width=\"200\" height=\"200\">");
		out.println("</body></html>");
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// 设置请求内容类型
		request.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");
		// 获取请求参数
		String filename = request.getParameter("filename");
		// 上传文件存储目录
		String savePath = "images";
		// 上传文件名
		String fileName = filename;
		// 创建文件夹
		File file = new File(savePath);
		if (!file.exists() && !file.isDirectory()) {
			System.out.println(savePath + "目录不存在,需要创建");
			// 创建目录
			file.mkdir();
		}
		// 拼接文件完整路径
		String filePath = savePath + File.separator + fileName;
		System.out.println("文件存放路径:" + filePath);
		// 读取上传文件
		// ...
		// 将文件写入指定路径
		// ...
		// 返回上传结果
		PrintWriter out = response.getWriter();
		out.println("<script>alert('上传成功!');</script>");
		out.println("<script>window.location='index.html';</script>");
		out.flush();
		out.close();
	}

}

3、编译和部署Servlet

我们需要编译Servlet类,并将它部署到Web服务器上。

4、测试Servlet

我们可以使用浏览器来测试Servlet是否正确工作。我们需要使用浏览器访问Servlet,以便上传图片文件:

http://localhost:8080/UploadImageServlet

我们可以使用浏览器访问Servlet,以便显示图片:

http://localhost:8080/UploadImageServlet?filename=image.jpg

如果一切顺利,我们就可以在浏览器中看到图片了。

本文介绍了如何的方法。我们准备好必要的工具,创建Servlet类,编译和部署Servlet,测试Servlet,就可以实现这个任务了。

本文链接:http://task.lmcjl.com/news/9421.html

展开阅读全文