En el proceso de aprendizaje de Spring MVC, es necesario comprender primero varios parámetros clave:
@Controlador:
Anotado en la clase, esta clase programará un controlador, y cuando el proyecto comience el resorte, escaneará automáticamente esta clase y realizará la asignación de enrutamiento de URL correspondiente.
@ControllerPublic Classataction {} @RequestMapping
Especifique la ruta de mapeo de URL. Si RequestMapping está configurado en el controlador, el método de solicitud específico también configura la ruta. La ruta mapeada es la superposición de los dos caminos. Mapas de uso común como: requestmapping ("url.html")
Configurar la ruta de mapeo:
@ControllerPublic de usateraction {@RequestMapping (valor = "/get_alluser.html") public ModelAndView getAlluser (ID de cadena) {}} La asignación de configuración anterior
http: // ***: 8080: web1/get_alluser.html:
Si agrega @requestmapping (value = "/user") a @Controller, la ruta del mapa se convierte en
http: // ***: 8080: web1/user/get_alluser.html
@ResponseBody
Devuelve la cadena correspondiente al método de anotación directamente
@RequestParam
Mapee automáticamente los parámetros correspondientes a la URL a los valores anteriores de la acción, y RequestParam predeterminan los parámetros requeridos.
@PathVariable
Obtenga los parámetros de mapeo de URL del formato especificado de @RequestMapping Configuration
/ * * Salida directa html, o json cadena * ruta de solicitud: * /web1/urlinfo/getContent.html?key=rhythmk * /web1/urlinfo/getContent.json?key=rhythmk * */@ResponseBody @RequestMapping (valor = "/getContent.**") String Public String getContent (@ReQuiMeM " Key, @RequestParam (value = "Key2", requerido = false, defaultValue = "DefaultValue") String Key2) {System.out.println ("GetContent se llama"); String dult = "return content directamente - clave:" + key + ", key2:" + key2; System.out.println (resultado); resultado de retorno; } / * * RequestMapping admite la configuración de URL de estilo Ant: * Ruta de solicitud: * /urlinfo/geturlant/config.html?key=adddd */@ResponseBody @RequestMapping (valor = "/geturlant/**.html") Public String getUrlant (httpServletRequest Solicitud) {String Result = "?" request.getQueryString (); resultado de retorno; } / * * Configure la URL del formato especificado y asigne a los parámetros correspondientes * Ruta de solicitud: /web1/urlinfo/geturlparam/12_123.html * */@RequestMapping (valor = "/geturlparam/{IDIdT}_{MenUid}.html") Modelandview getUrlparam (@pathvariable ("), Id") Id ") Id"). @PathVariable ("Menuid") String Menuid) {modelandView mode = new ModelAndView (showmsg); mode.AdDObject ("msg", "geted id:" + id + ", menuid:" + menuid); modo de retorno; } /** Solo se reciben las solicitudes de publicación*/@ResponseBody @RequestMapping (valor = "/posturl.html", método = requestMethod.post) public String UrlMethod (@RequestParam String ID) {return "solo solicitud de publicación, el id obtenido:" + id; } / * * Escribir cookies * */@RequestMapping ("/writeCookies.html") public ModelAndView WriteCookies (@RequestParam String Value, HttpServletResponse Respuesta) {Respuesta.addcookie (nueva cookie ("clave", valor)); ModelandView mode = new ModelAndView (showmsg); mode.addoBject ("msg", "cookies escritas con éxito"); modo de retorno; } / * * Obtenga el valor clave correspondiente a través de @Cookievalue * */@RequestMapping ("/getcookies.html") public ModelAndView Getcookie (@cookievalue ("Key") String CookValue) {modelandView Mode = New ModelAndView (showmsg); mode.addoBject ("msg", "cookies =" + CookValue); modo de retorno; } / * * Pase la API Servlet como un parámetro en * Puede usar httpServletResponse directamente en la acción, httpservletRequest * */@RequestMapping ("/servlet.html") public string servlet1 (httpServlErprense respuesta, solicitud httpServletRequest) {boolean result = (request = null = null respuesta! ModelAndView Mode = new ModelAndView (); mode.addoBject ("msg", "resultado =" + resultado.ToString ()); devolver showmsg; } / * * Instanciar el objeto de acuerdo con los parámetros pasados en la URL * * Por ejemplo: http://127.0.0.1:8080/web1/urlinfo/getObject.html?userID=1&username=ad */@requestmapping ("getObject.html") public ModelandView getObject (User) (usuarios) (usuarios de usuarios). Id: " + user.getUserID (). ToString () +", nombre de usuario: " + user.getUsername (). ToString (); ModelandView mode = new ModelAndView (showmsg); mode.addoBject ("msg", "resultado =" + resultado.ToString ()); modo de retorno; } Implementar salto de página:
/ * * Implementar salto de página * /web1/urlinfo/redirectpage.html * */@requestmapping ("/redirectpage.html") public string redirectPage () {return "redirect: getcookies.html? R = 10"; } Regresa json directamente
La URL solicitada debe terminar en .json, de lo contrario, excepción
No se pudo cargar el recurso: el servidor respondió con un estado de 406 (no aceptable): el recurso identificado por esta solicitud solo es capaz de generar respuestas con características no aceptables de acuerdo con la solicitud "Aceptar" encabezados ()
Entidad de retorno:
@JSonserialize (include = jsonserialize.inclusion.non_null) clase pública userInfo {private entero 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; } nombre de usuario de cadena privada; }Acción de retorno
@ResponseBody @RequestMapping ("/getUser.json") Public UserInfo getUser () {System.out.println ("getUser"); UserInfo modelo = new UserInfo (); Model.SetUserID (100); modelo.setUsername ("wang kun"); modelo de retorno; } preguntar:
/web1/urlinfo/getuser.json
Producción:
{"UserId": 100, "Nombre de usuario": "Wang Kun"}Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.