Bonjour,

Comme dans le titre, mon expérience avec mvc date s'il y a 6 ans. Ce serait d'abord pour suivre un cours du soir et un mini projet. Je veux rester en jdbc pour la partie base ainsi que l'on m'a conseillé sur ce forum.

Quelques une de mes notes:

Supposons que la servlet soit nommée dispatch, le fichier de configuration va définir servlet-class parameter comme le package qui contient les controller.
L'annotation @Controller annote la classe qui contient les objets vers lesquels on redirige.
L'annotation @RequestMapping est une annotation qui est associée au requestDispatcher ou bien au composant HandlerServlet.

Voyons aussi le contexte original de l'application: si le dispatcher redirige depuis toutes les requêtes définies à partir de / , il prend la charge de tous les contextes débutant par /. exemple: /jspparams.jsp correspond à @requestMapping(jspparam/).

Voyons par exemple le début d'une méthode mvc prenant en charge la réception des données d'un formulaire par la méthode post
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
MaVue_Controller.java
@Controller
class MaVue_Controller {
 
   @RequestMapping("/jspform", requestMethod=RequestMethod.POST)
   public String save_paramsintodb(Model md, Session session, httpServletRequest request) {
    String username=request.getParameter("name");
    String userpassword =request.getParameter("password");
//... 
    String city=request.getParameter("city");
 
    IDatabaseConfiguration config = new DatabaseMySQLConfiguration();
 
    SignupModel signupmod = new SignupModel(config);
 
    try {
         // do persistence of Parameter using a jdbc based method from class SignupModel
         // then:
          session.addAttribute("user", username); // can be useful for next jsp
 
         return "redirect: /monprofil ";
     } catch (SQLException e) {
        System.out.println("Error with save_paramsintodb method");
        return "redirect: /jspform";
     }
   }
 
}
la syntaxe correspond à Spring MVC 3, pour des application plus récentes coté serveur on utilise plutôt la syntaxe
@GetMapping("/jspform")
@ResponseBody
public String getJspparams(@RequestParam String id) {
return "ID: " + id;
}

La configuration suit aussi le pattern ServletDispatcher. Pour indiquer l'endroit où se trouvent les jsp, on a le code suivant dans web.xml

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name ="prefix" value= ("WEB-INF/jsp/") />
<property name ="prefix" value= (".jsp") />
</bean>

Ma motivation est d'utiliser un framework unique pour les vues et tomcat comme container, d'où les choix même ancien. 4 tables en bdd (pas plus, artist, event, instrument, file).
Merci d'avance