ASP.NET MVC контроллер

Собственно создал представление

<div> <form method="post" action="">     <b>Function</b>     y = <input type="number" name="a" />x^2 + <input type="number" name="b" />x + <input type="number" name="c" />     <br />     <br />     <b>Step</b>     <input type="number" name="Step" />     <br />     <br />     <b>From</b>     <input type="number" name="RangeFrom" />     <b>To</b>     <input type="number" name="RangeTo" />     <br />     <br />     <br />     <input type="button" value="PLOT" /> </form> 

Создал модель

public class UserDataModel {     public int UserDataId     {         get;         set;     }      public int RangeFrom     {         get;         set;     }      public int RangeTo     {         get;         set;     }      public float Step     {         get;         set;     }      public int a     {         get;         set;     }      public int b     {         get;         set;     }      public int c     {         get;         set;     } } 

И наконец создал логику

public class FuncLogic {     List<double> yList = new List<double>();     public  List<double> Fx(double a,double b,double c, double step,double fromX,double toX)     {         double y;         for (double x = fromX; x < toX; x += step)         {             y = (a * Math.Pow(x, 2)) + (b * x) + c;             yList.Add(y);         }         return yList;     } } 

И к сожалению не могу понять как все это дело связать в контроллере(я новичок в асп) веб приложение должно считать функцию

[HttpGet]     public ActionResult Index()     {         return View();     }        [HttpPost]     public ActionResult Index(UserDataModel data)     {         FuncLogic fl = new FuncLogic();         fl.Fx(data.a, data.b, data.c, data.Step, data.RangeFrom, data.RangeTo);         return View();     } 

это что-то типо моего контроллера он даже считает чето

Контроллер на PHP

не понимаю как написать контроллер и зачем ему трет как это работает, если расписывать влом дайте ссылку на видео в ютубе видяхи нагромождены кучей инфы левой сбиваюсь и не пойму что к чему

Не получается написать контроллер

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

Student Controller (здесь в addStudent нужно прописать код который позволит добавлять аватарку студенту)

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> 

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 Service 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();  } } 

ресурсный контроллер

почему не видит $ request->hasFile(‘newphoto’) в ресурсном контроллере?

if ($  request->hasFile('newphoto')) {             $  destinationPath = 'news';             $  ph = $  request->file('newphoto');             $  fileName  = $  ph->getClientOriginalName();             if(!Storage::disk('public')->exists($  destinationPath)) {                 Storage::disk('public')->makeDirectory($  destinationPath, 0775, true); //creates directory             }             Storage::disk('public')->put($  destinationPath.'/'.$  fileName, file_get_contents($  ph));             $  request->image  = $  destinationPath.'/'. $  fileName;         } else $  request->image = ''; 

хотя если выводить так $ request->newphoto показывает что в инпут было добавлено фото

Как указать в urlManager что контроллер находитсья в папке controllers/api?

[         'class' => 'yii\rest\UrlRule',         'controller' => ['api/user'],         'pluralize' => false,         'extraPatterns' => [             'GET index' => 'view',             'PUT index' => 'update',         ], 

Данное правило не работает, если перенести UserController в controllers то работает ‘controller’ => [‘user’] но мне нужно чтобы была каталог сontrollers/api.