javaweb实现文件md5校验servlet和jsp界面
时间: 2024-05-03 19:17:55 浏览: 93
下面是一个简单的JavaWeb实现文件MD5校验的Servlet和JSP界面。首先是Servlet:
```java
import java.io.FileInputStream;
import java.io.IOException;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
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("/calculateMd5")
public class CalculateMd5Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String fileName = request.getParameter("fileName");
String md5 = null;
try (FileInputStream fis = new FileInputStream(fileName)) {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] buffer = new byte[1024];
int read;
while ((read = fis.read(buffer)) != -1) {
md.update(buffer, 0, read);
}
BigInteger bi = new BigInteger(1, md.digest());
md5 = bi.toString(16);
} catch (NoSuchAlgorithmException e) {
// This should never happen
e.printStackTrace();
}
request.setAttribute("md5", md5);
request.getRequestDispatcher("result.jsp").forward(request, response);
}
}
```
这个Servlet接收一个文件名参数,计算文件的MD5校验值,并把结果设置为请求属性`"md5"`,最后转发到结果页面`result.jsp`。
接下来是`result.jsp`页面:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>File MD5 Calculator</title>
</head>
<body>
<h1>File MD5 Calculator</h1>
<p>MD5: <%= request.getAttribute("md5") %></p>
</body>
</html>
```
这个页面只是简单地显示计算得到的MD5值。你可以根据需要修改页面的标题、样式和布局。
最后,你需要创建一个包含上传文件表单和计算MD5值的按钮的JSP页面,让用户可以选择要计算MD5值的文件。以下是一个简单的例子:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>File MD5 Calculator</title>
</head>
<body>
<h1>File MD5 Calculator</h1>
<form action="calculateMd5" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<br>
<button type="submit">Calculate MD5</button>
</form>
</body>
</html>
```
这个页面包含了一个上传文件的表单和一个计算MD5值的按钮。当用户选择了文件并点击按钮后,表单会被提交到`calculateMd5`Servlet处理。
阅读全文