package key;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Paths;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.UUID;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.servlet.http.Part;
@WebServlet("/post-submit")
@MultipartConfig(maxFileSize = 1024 * 1024 * 5)
public class upload_post extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final String UPLOAD_DIR = "D:\\熊炀璐\\大学\\绩点课\\Java\\appendix";
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String title = request.getParameter("title");
String content = request.getParameter("content");
Part filePart = request.getPart("attachment");
String filePath = "";
if (filePart != null && filePart.getSize() > 0 && filePart.getContentType().startsWith("image/")) {
String fileName = UUID.randomUUID().toString() + "_" + Paths.get(filePart.getSubmittedFileName()).getFileName().toString();
filePath = UPLOAD_DIR + File.separator + fileName;
try (InputStream input = filePart.getInputStream();
OutputStream output = new FileOutputStream(filePath)) {
byte[] buffer = new byte[1024 * 8];
int len;
while ((len = input.read(buffer)) > -1) {
output.write(buffer, 0, len);
}
} catch (IOExcep
断点看下数据有没有乱码 再看下数据库编码格式
还没解决嘛? 你不会说的是这个吧 request.setCharacterEncoding("UTF-8");
这个无法解决你的中文乱码的,你要取实际的数据 重新按 之前说的 过滤器里的处理
debug看下乱码是发生在哪一步的,是不是到数据库的时候乱码的,检查下数据库url上是否添加了 ?useUnicode=true&characterEncoding=UTF-8