Day6 FileUpload

Day6 FileUpload

1. Type the code in the classroom by hand

2. Write a personal homepage form page, which is required to submit the user's avatar, and finally the information submitted by the user can be displayed on the browser (if the avatar is displayed immediately after the file is uploaded, it may not be displayed, you can use a timing jump, with an interval of 6s show again)

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>");


    }
}

Guess you like

Origin blog.csdn.net/weixin_53073551/article/details/124460275