Day6 FileUpload
1.课堂的代码动手敲一遍
2.写一个个人主页表单页面,要求可以提交用户的头像,最后可以在浏览器上面显示出用户提交的信息(文件上传之后如果立刻去显示头像可能显示不出来,可以使用定时跳转,间隔6s再显示)
package com.cskaoyan.homework;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Map;
@WebServlet("/uploadPhoto")
public class UploadPhotoServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//0.解决中文乱码问题
request.setCharacterEncoding("utf-8");
//1.判断请求体数据是否为多端形式
if (!ServletFileUpload.isMultipartContent(request)) {
return;
}
User user = new User();
Map<String, Object> map = FileUploadUtil.parseRequest(request);
try {
BeanUtils.populate(user, map);
} catch (IllegalAccessException | InvocationTargetException e) {
e.printStackTrace();
}
response.setHeader("refresh", "6;url=" + request.getContextPath() + "/viewServlet");
getServletContext().setAttribute("user",user);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
package com.cskaoyan.homework;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/viewServlet")
public class ViewServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
response.getWriter().println("<!DOCTYPE html>\n" +
"<html lang=\"en\">\n" +
"<head>\n" +
" <meta charset=\"UTF-8\">\n" +
" <title>Title</title>\n" +
"</head>\n" +
"<body>");
response.getWriter().println("<div>用户名:"+
((User) getServletContext().getAttribute("user")).getUsername()+" 密码:"
+((User) getServletContext().getAttribute("user")).getPassword()+"</div>");
response.getWriter().println("<img src=\""+ request.getContextPath()+
"/"+ ((User) getServletContext().getAttribute("user")).getImage()+"\">");
response.getWriter().println("</body>\n" +
"</html>");
}
}