CreateServlet
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String _token = getParamVal(request.getPart("_token")); // = (String) request.getParameter("_token");
if (_token != null && _token.equals(request.getSession().getId())) {
EntityManager em = DBUtil.createEntityManager();
Reshipi r = new Reshipi();
Picture p = new Picture();
String name = getParamVal(request.getPart("name")); // = request.getParameter("name");
r.setName(name);
String content = getParamVal(request.getPart("content")); // = request.getParameter("content");
r.setContent(content);
Timestamp currentTime = new Timestamp(System.currentTimeMillis());
r.setCreated_at(currentTime);
r.setUpdated_at(currentTime);
//Name holen
String file_name = getParamVal(request.getPart("file_name"));
p.setFile_name(file_name);
//Rezept-ID abrufen
Reshipi reshipi_id = getParamVal(request.getPart("reshipi_id"));
p.setReshipi_id(reshipi_id);
//Holen Sie sich die ID des Bildes
Integer id = getParmVal(request.getPart("id"));
p.setId(id);
//Erstellen einer Fehlerliste
List<String> errors = ReshipiValidator.validate(r);
//Wenn es einen Fehler gibt
if (errors.size() > 0) {
//DB schließen
em.close();
request.setAttribute("_token", request.getSession().getId());
request.setAttribute("content", r);
request.setAttribute("errors", errors);
response.sendRedirect(request.getContextPath() + "/index");
return;
} else {
//In Datenbank speichern
em.getTransaction().begin();
em.persist(r);
em.getTransaction().commit();
request.getSession().setAttribute("flush", "Die Registrierung wurde abgeschlossen");
em.close();
}
//Bildverarbeitung vom Bildformular empfangen
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
Collection<Part> parts = request.getParts();
for (Part part : parts) {
String f_name = getFileName(part);
if(!f_name.contains("no_p_name") && !f_name.isEmpty()){
part.write(getServletContext().getRealPath("/images") + "/" + f_name);
response.getWriter().append("hochladen:").append(f_name);
}
}
Ich schrieb, aber in Wirklichkeit
CreateServlet
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String _token = getParamVal(request.getPart("_token")); // = (String) request.getParameter("_token");
if (_token != null && _token.equals(request.getSession().getId())) {
EntityManager em = DBUtil.createEntityManager();
Reshipi r = new Reshipi();
Picture p = new Picture();
String name = getParamVal(request.getPart("name")); // = request.getParameter("name");
r.setName(name);
String content = getParamVal(request.getPart("content")); // = request.getParameter("content");
r.setContent(content);
Timestamp currentTime = new Timestamp(System.currentTimeMillis());
r.setCreated_at(currentTime);
r.setUpdated_at(currentTime);
String file_name = getParamVal(request.getPart("file_name"));
p.setFile_name(file_name);
//Bild und reshipi_Verknüpfung mit id ★★★★★★★★★★★★★★
p.setReshipi_id(r);
//Vom Bildformular empfangene Bildverarbeitung ↓ ★★★★★★★★★★★★★★★★★
//Im obigen Code war es unten, aber es funktioniert nicht richtig, selbst während des Speichervorgangs usw.
//Es funktioniert nur, wenn es sich um den Code handelt, der in der Datenbank gespeichert werden soll
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
Collection<Part> parts = request.getParts();
for (Part part : parts) {
String f_name = getFileName(part);
if(!f_name.contains("no_p_name") && !f_name.isEmpty()){
part.write(getServletContext().getRealPath("/images") + "/" + f_name);
response.getWriter().append("hochladen:").append(f_name);
p.setFile_name(f_name);
}
}
List<String> errors = ReshipiValidator.validate(r);
if (errors.size() > 0) {
em.close();
request.setAttribute("_token", request.getSession().getId());
request.setAttribute("content", r);
request.setAttribute("errors", errors);
response.sendRedirect(request.getContextPath() + "/index");
return;
} else {
//Prozess speichern
em.getTransaction().begin();
em.persist(r);
//Prozess zum Speichern von Bildern einfügen ★★★★★★★★★★★★★★★★★★★★★★★★
em.persist(p);
em.getTransaction().commit();
request.getSession().setAttribute("flush", "Die Registrierung wurde abgeschlossen");
em.close();
}
Wird sein.