Как импортировать картинку с помощью Hibernate - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь создать профиль пользователя, и мне нужно загрузить картинку для каждого пользователя.Мне было интересно, как импортировать изображение профиля пользователя с помощью Hibernate и Jsp?Я нашел этот код, но я получаю ошибку после отправки формы, это мой сервлет

add.java:

    @WebServlet(name = "add", urlPatterns = {"/add"})
    @MultipartConfig(fileSizeThreshold = 1024 * 1024 * 2, // 2MB
    maxFileSize = 1024 * 1024 * 10, // 10MB
    maxRequestSize = 1024 * 1024 * 50)
        public class add extends HttpServlet {
            public static final String UPLOAD_DIR = "resources";
            PrintWriter out;
    HttpSession session;
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
           Session sessionh = HibernateUtil.getSessionFactory().openSession();
           sessionh.beginTransaction();
                try {
out = response.getWriter();
session = request.getSession();
PasswordGen pG=newPasswordGen(8,ThreadLocalRandom.current());
                    Part part = request.getPart("photo");
                    String photo = extractFileName(part);
                    String path = UPLOAD_DIR + "/" + photo;
                    String applicationPath = getServletContext().getRealPath("") + File.separator + UPLOAD_DIR;
                    System.out.println("applicationPath: " + applicationPath);
                    File fileUploadDirectory = new File(applicationPath);
                    if (!fileUploadDirectory.exists()) {
                        fileUploadDirectory.mkdirs();
                    }
                    String savePath = getServletContext().getRealPath("") + File.separator + UPLOAD_DIR + File.separator + photo;
                    File fileSaveDir = new File(savePath);
                    part.write(savePath + File.separator);

                    String password = pG.nextString();
                    Etudiant st = new Etudiant();
                  st.setPhoto(path);
                  st.setPasswordEtudiant(password);
                    sessionh.save(st);
                    sessionh.getTransaction().commit();
                    sessionh.close();
                    if (st != null) {
                        session.setAttribute("username",st.getNomEtudiant());
                        session.setAttribute("image", path);
                        session.setAttribute("email", st.getEmailEtudiant());
                          request.setAttribute("msg", "Etudiant ajouter");
                    request.getRequestDispatcher("addStudent.jsp").forward(request, response);

                    } else {
                        response.sendRedirect("error.jsp");
                    }

                } catch (ParseException ex) {
                    Logger.getLogger(addStudent.class.getName()).log(Level.SEVERE, null, ex);
                }
            }

          private String extractFileName(Part part) {

                String contentDisp = part.getHeader("content-disposition");
                String[] items = contentDisp.split(";");
                for (String s : items) {
                    if (s.trim().startsWith("filename")) {
                        return s.substring(s.indexOf("=") + 2, s.length() - 1);
                    }
                }
                return "";
            }


        }

, и это ошибка servlet error

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...