Dans le processus d'apprentissage du printemps MVC, il est nécessaire de comprendre d'abord plusieurs paramètres clés:
@Contrôleur:
Annoté sur la classe, cette classe programmera un contrôleur, et lorsque le projet démarre le ressort, il analysera automatiquement cette classe et effectuera le mappage de routage d'URL correspondant.
@ControllerPublic Class UserAction {} @Requestmapping
Spécifiez le chemin de mappage de l'URL. Si la demande de demande est configurée sur le contrôleur, la méthode de demande spécifique configure également le chemin. Le chemin mappé est la superposition des deux chemins. Des cartes couramment utilisées telles que: requestmapping ("url.html")
Configurer le chemin de mappage:
@ControllerPublic Class UserAction {@RequestMapping (value = "/get_alserer.html") public ModelAndView GetAlUser (String id) {}} Le mappage de configuration ci-dessus
http: // ***: 8080: web1 / get_alluser.html:
Si vous ajoutez @RequestMapping (value = "/ user") à @Controller, le chemin de carte devient
http: // ***: 8080: web1 / user / get_alluser.html
@ResponseBody
Renvoie directement la chaîne correspondant à la méthode d'annotation
@RequestParam
Mapte automatiquement les paramètres correspondant à l'URL aux valeurs supérieures à l'action, et RequestParam par défaut aux paramètres requis.
@Pathvariable
Obtenez les paramètres de mappage URL du format spécifié de la configuration @RequestMapping
/ * * Sortie directe html, ou chaîne JSON * chemin de demande: * /web1/urlinfo/getcontent.html?key=rhythmk * /web1/urlinfo/getcontent.json?key=rhythmk * * / @ResponseBody @requestmapping (Value = "/getContent") key, @RequestParam (value = "key2", requis = false, defaultValue = "defaultValue") string key2) {System.out.println ("getContent est appelé"); String result = "return Content directement - key:" + key + ", key2:" + key2; System.out.println (résultat); Résultat de retour; } / * * Requestmapping prend en charge la configuration de l'URL de style fourmi: * Chemin de demande: * /urlinfo/geturlant/config.html?key=adddd * / @ResponseBody @RequestMapping (value = "/getUrlant/**.html") public String getUrlant (httpservest request) {String result = "? request.getQueryString (); Résultat de retour; } / * * Configurez l'URL du format et de la carte spécifiés sur les paramètres correspondants * Path de demande: /web1/urlinfo/geturlparam/12_123.html * * / @RequestMapping (value = "/getUrlParam/ /id }_{menuid) @Pathvariable ("menuID") String menuID) {ModelandView Mode = new ModelAndView (showmsg); mode.addObject ("msg", "id GETED:" + id + ", menuID:" + menuID); mode de retour; } / * * Seules les demandes de publication sont reçues * / @ResponseBody @RequestMapping (value = "/postul.html", méthode = requestMethod.Post) public String urlMethod (@RequestParam String id) {return "Only Post Demande, l'ID obtenu:" + id; } / * * Écrire * * / @requestmapping ("/ writeCookies.html") public ModelandView WriteCookies (@RequestParam String Value, httpservletResponse réponse) {réponse.addcookie (nouveau cookie ("key", valeur)); ModelandView Mode = new ModelAndView (showmsg); mode.addObject ("msg", "cookies écrits avec succès"); mode de retour; } / * * Obtenez la valeur de clé correspondante via @ cookieeValue * * / @RequestMapping ("/ Getcookies.html") public ModelAndView Getcookie (@cookievalue ("key") String CookValue) {ModelandView Mode = new ModelandView (showmsg); mode.addObject ("msg", "cookies =" + CookValue); mode de retour; } / * * Passez l'API Servlet comme paramètre dans * Vous pouvez utiliser httpservletResponse directement dans l'action, httpservletRequest * * / @requestmapping ("/ servlet.html") public string servlet1 (httpServletResponse réponse, httpservletRequest request) {boolean result = (request! = Null & pary); ModeLandView Mode = new ModelAndView (); mode.addObject ("msg", "result =" + result.toString ()); return showmsg; } / * * Instancier l'objet en fonction des paramètres passés dans l'URL * * Par exemple: http://127.0.0.1:8080/web1/urlinfo/getObject.html?Userid=1&UserAmDame=ad * * / @requestmapping ("GetObject.html") public ModelView GetObject (utilisateur utilisateur) Id: "+ user.getUserId (). ToString () +", nom d'utilisateur: "+ user.getUsername (). ToString (); ModelandView Mode = new ModelAndView (showmsg); mode.addObject ("msg", "result =" + result.toString ()); mode de retour; } Implémentation de la page Jump:
/ * * Implémentation de page Jump * /web1/urlinfo/redirectpage.html * * / @requestmapping ("/ redirectPage.html") String public redirectPage () {return "redirect: getcookies.html? R = 10"; } Retourner JSON directement
L'URL demandée doit se terminer par .json, sinon exception
Échec de la ressource de chargement: le serveur a répondu avec un statut de 406 (non acceptable): la ressource identifiée par cette demande est uniquement capable de générer des réponses avec des caractéristiques non acceptables en fonction de la demande "accepter" les en-têtes ()
Entité de retour:
@JSonSerialize (include = jSonSerialize.inclusion.non_null) public class userInfo {private Integer userId; public Integer getUserId () {return userId; } public void SetUserId (Integer userId) {userId = userId; } public String getUserName () {return username; } public void setUsername (String username) {username = username; } Nom d'utilisateur de chaîne privée; }Action de retour
@ResponseBody @RequestMapping ("/ getuser.json") public userInfo GetUser () {System.out.println ("getuser"); UserInfo Model = new UserInfo (); Model.SetUserId (100); Model.SetUsername ("Wang Kun"); modèle de retour; } demander:
/web1/urlinfo/getuser.json
Sortir:
{"userId": 100, "nom d'utilisateur": "Wang Kun"}Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.