Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2019, 07:01   #1
Nastya2018
Форумчанин
 
Регистрация: 24.07.2018
Сообщений: 133
По умолчанию Как добавить фото студенту в БД (Spring MVC и MySQL)

У меня есть проект который добавляет ФИО студенту в БД и показывает данные в виде таблицы на странице. Так вот я хочу добавить возможность добавлять каждому студенту аватарку(фото). Вот мой код как можно реализовать я вроде начала, дальше догнать не могу(((

Student
Код:
package nastya.java.schoolmaven.entity;
 
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
 
@Entity
@Table(name = "student")
public class Student implements Serializable {
 
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;
    private String name;
    private String surname;
    private String image;
 
    public long getId() {
        return id;
    }
 
    public void setId(long id) {
        this.id = id;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public String getSurname() {
        return surname;
    }
 
    public void setSurname(String surname) {
        this.surname = surname;
    }
    
     public String getImage() {
        return image;
    }
 
    public void setImage(String image) {
        this.image = image;
    }
 
    @Override
    public String toString() {
        return "Student [id=" + id + ", name=" + name + ", surname=" + surname + ", image=" + image + "]";
    }
 
}
Student Controller
Код:
package nastya.java.schoolmaven.controller;
 
import java.io.IOException;
import java.util.List;
 
import javax.servlet.http.HttpServletResponse;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
 
import nastya.java.schoolmaven.entity.Student;
import  nastya.java.schoolmaven.service.StudentService;
 
@Controller
public class StudentController {
	// Constructor based Dependency Injection
	private StudentService studentService;
 
	public StudentController() {
 
	}
 
	@Autowired
	public StudentController(StudentService studentService) {
		this.studentService = studentService;
	}
 
 
	@RequestMapping(value = { "/", "/index" }, method = RequestMethod.GET)
	public ModelAndView hello(HttpServletResponse response) throws IOException {
		ModelAndView mv = new ModelAndView();
		mv.setViewName("index");
		return mv;
	}
 
	// Get All Users
	@RequestMapping(value = "/allStudents", method = {RequestMethod.GET, RequestMethod.POST})
	public ModelAndView displayAllUser() {
		System.out.println("User Page Requested : All Students");
		ModelAndView mv = new ModelAndView();
		List<Student> studentList = studentService.getAllStudents();
		mv.addObject("studentList", studentList);
		mv.setViewName("allStudents");
		return mv;
	}
 
	@RequestMapping(value = "/addStudent", method = RequestMethod.GET)
	public ModelAndView displayNewUserForm() {
		ModelAndView mv = new ModelAndView("addStudent");
		mv.addObject("headerMessage", "Add Student Details");
		mv.addObject("student", new Student());
		return mv;
	}
 
	@RequestMapping(value = "/addStudent", method = RequestMethod.POST)
	public ModelAndView saveNewStudent(@ModelAttribute Student student, BindingResult result) {
		ModelAndView mv = new ModelAndView("redirect:/allStudents");
 
		if (result.hasErrors()) {
			return new ModelAndView("error");
		}
		boolean isAdded = studentService.saveStudent(student);
		if (isAdded) {
			mv.addObject("message", "New student successfully added");
		} else {
			return new ModelAndView("error");
		}
 
		return mv;
	}
 
	@RequestMapping(value = "/editStudent/{id}", method = RequestMethod.GET)
	public ModelAndView displayEditUserForm(@PathVariable Long id) {
		ModelAndView mv = new ModelAndView("/editStudent");
		Student student = studentService.getStudentById(id);
		mv.addObject("headerMessage", "Редактирование студента");
		mv.addObject("student", student);
		return mv;
	}
 
	@RequestMapping(value = "/editStudent/{id}", method = RequestMethod.POST)
	public ModelAndView saveEditedUser(@ModelAttribute Student student, BindingResult result) {
		ModelAndView mv = new ModelAndView("redirect:/allStudents");
 
		if (result.hasErrors()) {
			System.out.println(result.toString());
			return new ModelAndView("error");
		}
		boolean isSaved = studentService.saveStudent(student);
		if (!isSaved) {
 
			return new ModelAndView("error");
		}
 
		return mv;
	}
 
	@RequestMapping(value = "/deleteStudent/{id}", method = RequestMethod.GET)
	public ModelAndView deleteUserById(@PathVariable Long id) {
		boolean isDeleted = studentService.deleteStudentById(id);
		System.out.println("Удаление студента: " + isDeleted);
		ModelAndView mv = new ModelAndView("redirect:/allStudents");
		return mv;
 
	}
 
}


Add Student JSP
Код:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
<title>Home</title>
 
</head>
<body>
    <div class="add">
        <br>
    <br>
    <br>
    
    <br>
    <center>
	<h1>${headerMessage}</h1>
	
        <form:form method="POST" action="addStudent" modelAttribute="student" >
             <table>
                 
                 
                 
                <tr>
                    <td><form:label path="Name">Имя</form:label></td>
                    <td><form:input path="Name"/></td>
                </tr>
                <tr>
                    <td><form:label path="Surname">Фамилия</form:label></td>
                    <td><form:input path="Surname"/></td>
                </tr>
                <tr>
                <td>
                   <input name="data" type="file" accept="image/*"
               </td>
                </tr>
                <tr>
                    <td><input class="btn btn-primary" type="submit" value="Добавить"></td>
                    
		
                
                </tr>
            </table>
        </form:form>
</center>
        </div>
</body>
</html>
Nastya2018 вне форума Ответить с цитированием
Старый 24.04.2019, 07:01   #2
Nastya2018
Форумчанин
 
Регистрация: 24.07.2018
Сообщений: 133
По умолчанию

+ All Student JSP

Код:
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isELIgnored="false"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
  <link href="../css/style.css" rel="stylesheet" type="text/css">
  <style><%@include file="/WEB-INF/css/style.css"%></style>
<title>Все студенты</title>
</head>
<body>
    <br>
    <br>
    <br>

    <br>
    <div class="it">
    <h3>Список всех студентов</h3>
    ${message}
    <br>
    <br>
    <table class="table">
  <thead>
    <tr>
      <th scope="col">#</th>
      <th scope="col">Имя</th>
     
      <th scope="col">Фамилия</th>
      <th scope="col">Фото</th>
      
    </tr>
  </thead>
  <tbody>
      <c:forEach var="student" items="${studentList}">
                <tr>
                    <th scope="row">1</th>
                    <td>${student.name}</td>
                    <td>${student.surname}</td>
                     <td>Должно быть изображение</td>
                    
                     <td><a
                        href="${pageContext.request.contextPath}/editStudent/${student.id}"><button type="button" class="btn btn-primary">Редактировать</button>
                    <td><a
                        href="${pageContext.request.contextPath}/deleteStudent/${student.id}"><button type="button" class="btn btn-primary">Удалить</button>
                            
                           
                            
                </tr>
            </c:forEach>
        </tbody>
    

    </table>
    <a href="${pageContext.request.contextPath}/addStudent"><button type="button" class="btn btn-primary">Добавить студента</button></a>
    </div>
</body>
</html>
Nastya2018 вне форума Ответить с цитированием
Старый 24.04.2019, 08:23   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Сохранять файл куда-то, в БД хранить путь.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 24.04.2019, 08:30   #4
Nastya2018
Форумчанин
 
Регистрация: 24.07.2018
Сообщений: 133
По умолчанию

Как можно реализовать это в проекте можете помочь написать код пожалуйста
Nastya2018 вне форума Ответить с цитированием
Старый 24.04.2019, 08:39   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

С какой именно частью сложности-то?
Вы не можете нагуглить как получить байты файла из запроса? (после его выбора в стандартном диалоге браузера)
Вы не умеете сохранять файл на диск?
Или сохранять строку в БД?
Или достать и вывести строку из БД?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 24.04.2019, 08:49   #6
Nastya2018
Форумчанин
 
Регистрация: 24.07.2018
Сообщений: 133
По умолчанию

Я просто только учусь, две недели мучаюсь. У меня горит проект, можете пожалуйста помочь вы моя последняя надежда((( смотря на ваш код я пойму. Весь этот проект с сама ели с помощью туториалов написала и что-то поняла.
Nastya2018 вне форума Ответить с цитированием
Старый 24.04.2019, 09:22   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Если кто-то просто решит за вас, это вряд ли поможет вам разобраться.
Тем более что это еще и сложно сделать кому-то другому потому что это не простое консольное приложение и нельзя просто взять и запустить проект у себя (даже если бы вы дали все исходники, то надо было бы тратить время для разворачивания всего необходимого у себя).

Или в раздел Фриланс если вы не хотите ничего делать, а ищете кого-то, кто выполнит ваши задачи за вознаграждение.

Если что, вот исходник моего древнего проекта на Спринге, там есть аватары.
Но наверняка можно нагуглить кучу более свежих примеров или просто следовать шагам из сообщения выше.
https://github.com/AlexP11223/JavaSpringMvcBlog
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 26.04.2019, 09:04   #8
Nastya2018
Форумчанин
 
Регистрация: 24.07.2018
Сообщений: 133
По умолчанию

Просто мне никто не помогает, у меня не получается сделать. Ночами не сплю, а проект сдавать надо. Просто все сделал кроме этой функции пожалуйста можете помочь умоляю
Nastya2018 вне форума Ответить с цитированием
Старый 26.04.2019, 09:53   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так проблема-то в чем?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 26.04.2019, 10:18   #10
Nastya2018
Форумчанин
 
Регистрация: 24.07.2018
Сообщений: 133
По умолчанию Вот

Я не могу написать реализовать точнее написать код который позволит добавлять студентам аватарки, я уже написал код который добавляет фио
Nastya2018 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Java + Jsp + mysql + Spring, юзера с базы подтяrивает нормально, а когда хочу отобразить карты, то не отображает mrprim Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC) 7 01.02.2017 14:20
добавить три фото seric PHP 3 02.11.2015 10:22
Админ панель, как добавить фото polepropilen Свободное общение 0 21.07.2010 13:11
ФОТО из Delphi в БД MySQL chekanoff БД в Delphi 30 30.11.2007 21:24