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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 26.04.2019, 08:41   #1
Nastya2018
Форумчанин
 
Регистрация: 24.07.2018
Сообщений: 133
По умолчанию Не получается написать код для добавления аватарки

Всем привет я уже две недели голову ломаю, буду очень благодарен если поможете. Я почти закончил проект, осталось последнею функцию добавить. Мой проект позволяет на JSP странице студенту добавлять имя и фамилию и выводить его вместе с остальными студентами в таблице + она хранит все данные в моей базе данных MySQL. Так вот я не могу написать код, который позволит каждому студенту добавить аватарку и добавленная аватарка вместе с ФИО должна высветится в таблице(allStudents) после добавления. Я написал вWeb-MVC-Config код для Multiple, но не могу написать код для добавления в "Student Controlller". Пожалуйста помогите

Student Controller
Код:
package fallen.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 fallen.java.schoolmaven.entity.Student;
import  fallen.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;

    }

}
Класс Student

Код:
package fallen.java.schoolmaven.entity;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.Table;
import org.springframework.web.multipart.MultipartFile;

@Entity
@Table(name = "student")
public class Student implements Serializable {

    @Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String name;
private String surname;
private MultipartFile avatar;



    @Lob
    @Column(name = "avatar", columnDefinition="BLOB")
    private byte[] avatar;

    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;
    }



    @Override
    public String toString() {
        return "Student [id=" + id + ", name=" + name + ", surname=" + surname + ", avatar=" + avatar + "]";
    }

}
AddStudent 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>Фотография:</td>
                    <td><form:input type="file" path="avatar" /></td>
                </tr>
                <tr>
                    <td><input class="btn btn-primary" type="submit" value="Добавить"></td>



                </tr>
            </table>
        </form:form>
</center>
        </div>
</body>
</html>
Nastya2018 вне форума
Старый 26.04.2019, 08:41   #2
Nastya2018
Форумчанин
 
Регистрация: 24.07.2018
Сообщений: 133
По умолчанию Еще классы

Вот еще классы
Код:
Student Service
Код:
package fallen.java.schoolmaven.service;
import java.util.List;
import fallen.java.schoolmaven.entity.Student;

public interface StudentService {

    public List<Student> getAllStudents();
    public Student getStudentById(Long id);
    public boolean saveStudent(Student student);
    public boolean deleteStudentById(Long id);

}
Student Servoce Impl
Код:
package fallen.java.schoolmaven.service;

import java.util.ArrayList;
import java.util.List;

import javax.transaction.Transactional;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import fallen.java.schoolmaven.entity.Student;
import fallen.java.schoolmaven.repository.StudentRepository;



@Service
@Transactional
public class StudentServiceImpl implements StudentService {

    private StudentRepository repository;

    public StudentServiceImpl() {

    }

    @Autowired
    public StudentServiceImpl(StudentRepository repository) {
        super();
        this.repository = repository;
    }

    @Override
    public List<Student> getAllStudents() {
        List<Student> list = new ArrayList<Student>();
        repository.findAll().forEach(e -> list.add(e));
        return list;
    }

    @Override
    public Student getStudentById(Long id) {
        Student student = repository.findById(id).get();
        return student;
    }

    @Override
    public boolean saveStudent(Student student) {
        try {
            repository.save(student);
            return true;
        } catch (Exception ex) {
            return false;
        }
    }

    @Override
    public boolean deleteStudentById(Long id) {
        try {
            repository.deleteById(id);
            return true;
        } catch (Exception ex) {
            return false;
        }

    }


}
Servlet Initializer
Код:
package fallen.java.schoolmaven.config;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.MultipartConfigElement;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

public class ServletInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

    @Override
    protected Class<?>[] getRootConfigClasses() {
        return new Class[] { HibernateConfig.class };
    }

    @Override
    protected Class<?>[] getServletConfigClasses() {
        return new Class[] { WebMvcConfig.class };
    }

    @Override
    protected String[] getServletMappings() {
        return new String[] { "/" };
    }

        @Override
        protected void customizeRegistration(ServletRegistration.Dynamic registration) {
        registration.setMultipartConfig(new MultipartConfigElement("", 2097152, 4193304, 2097152));    
    }
Web-Mvc-Config
Код:
package fallen.java.schoolmaven.config;


import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.multipart.MultipartResolver;
import org.springframework.web.multipart.support.StandardServletMultipartResolver;

import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;


import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.view.InternalResourceViewResolver;

@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "fallen.java.schoolmaven")
public class WebMvcConfig implements WebMvcConfigurer {

    @Bean

    public ViewResolver getViewResolver() {
                InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/views/");
        resolver.setSuffix(".jsp");
        return resolver;
    }


    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/resources/**").addResourceLocations("/resources/css");
    }

        @Bean
        public MultipartResolver multipartResolver() {


                return new StandardServletMultipartResolver();
 }
}
Nastya2018 вне форума
Старый 26.04.2019, 09:00   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Зачем еще одна тема?
http://www.programmersforum.ru/showthread.php?t=328316
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
написать процедуру добавления элементов одного дерева в другое marisha24 Помощь студентам 6 12.12.2018 13:37
Нужено написать модуль добавления товара в интернет магазин Iqrc Фриланс 5 10.11.2015 13:00
Функция добавления аватарки 19hasalo Общие вопросы Delphi 2 18.06.2015 00:45
C++ классы, не получается сделать 2 метода, поиска и добавления (код внутри) Vladimir_Anatol Помощь студентам 0 14.03.2012 13:06
Вывод аватарки Tradua JavaScript, Ajax 1 10.01.2012 14:16