No processo de aprendizado do MVC da primavera, é necessário primeiro entender vários parâmetros -chave:
@Controlador:
Anotada na classe, esta classe programará um controlador e, quando o projeto iniciar o Spring, ele digitalizará automaticamente esta classe e executará o mapeamento de roteamento de URL correspondente.
@ControllerPublic Class UserAction {} @RequestMapping
Especifique o caminho de mapeamento de URL. Se o RequestMapping estiver configurado no controlador, o método de solicitação específico também configura o caminho. O caminho mapeado é a sobreposição dos dois caminhos. Mapas comumente usados como: requestmapping ("url.html")
Configure o caminho de mapeamento:
@ControllerPublic Class UserAction {@RequestMapping (Value = "/get_alluser.html") public ModelAndView GetAluser (String ID) {}} O mapeamento de configuração acima
http: // ***: 8080: web1/get_alluser.html:
Se você adicionar @RequestMapping (value = "/usuário") ao @Controller, o caminho do mapa se tornará
http: // ***: 8080: web1/user/get_alluser.html
@ResponseBody
Retorne a sequência correspondente ao método de anotação diretamente
@RequestParam
Mapeie automaticamente os parâmetros correspondentes à URL aos valores acima da ação e solicita os padrões dos parâmetros necessários.
@Pathvariable
Obtenha os parâmetros de mapeamento de URL do formato especificado da configuração @ReQuestMapping
/ * * Saída direta html ou json string * Caminho de solicitação: * /web1/urlinfo/getcontent.html?key=rhythmk * /web1/urlinfo/getContent.json?key=rhythmk * * @ResponseBody @requestMapp (valor = " @RequestParam ("key") String key, @RequestParam (value = "key2", requerir = false, defaultValue = "defaultValue") string key2) {System.out.println ("getContent é chamado"); String result = "Retorne conteúdo diretamente - chave:" + key + ", key2:" + key2; System.out.println (resultado); resultado de retorno; }/ * * RequestMapping suporta URL de formigamento URL Configuração: * Caminho da solicitação: * /urlinfo/geturlant/config.html?key=adddd */@Responsebod request.getQueryString (); resultado de retorno; }
/ * * Configure o URL do formato especificado e mapeie para os parâmetros correspondentes * Path Path: /web1/urlinfo/geturlparam/12_123.html * */@RequestMapping (value = "/geturlparam/ {(menuid @RequestMapping =" /geturlparam/ {(menuid @RequestMap) @PathVariable ("MENUID") String menuId) {ModelAndView Mode = new ModelAndView (ShowMSG); mode.addObject ("msg", "obteve id:" + id + ", menuId:" + menuID); modo de retorno; } /** Somente solicitações de postagem são recebidas*/@ResponseBody @ReQuestMapping (value = "/posturl.html", método = requestmethod.post) public string urlmethod (@RequestParam String id) {return "somente a solicitação de postagem, o id obtido:" + id; } / * * Escreva cookies * */@RequestMapping ("/writecookies.html") public ModelAndView WriteCookies (@RequestParam String Value, httpServletResponse resposta) {Response.addcookie (novo cookie ("key", valor)); ModelAndView Mode = new ModelAndView (ShowMSG); mode.adDoBject ("msg", "cookies escritos com sucesso"); modo de retorno; } / * * Obtenha o valor da chave correspondente através do @CookieVAvalue * */@RequestMapping ("/getCookies.html") public ModelAndView GetCookie (@CookieValue ("key") String CookValue) {ModelAndView Mode = new ModelAndView (ShowMSG); mode.adDoBject ("msg", "Cookies =" + CookValue); modo de retorno; } / * * Passe a API do servlet como um parâmetro em * Você pode usar o HTTPSERVletResponse diretamente na ação, httpServletRequest * */@RequestMapping ("/servlet.html") public string string1 (httpServLeSponse Response, httpsleTretrequest request) {boolean {boolan {boolan) (httpServLePonse, resposta; ModelAndView Mode = new ModelAndView (); mode.adDoBject ("msg", "resultado =" + resultado.toString ()); retornar showmsg; } / * * Instancie o objeto de acordo com os parâmetros passados no url * * por exemplo: http://127.0.0.1:8080/web1/urlinfo/getObject.html?USERID=1&username=ad * */@requestMapping ("getObject.HtMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMML) "ID do usuário:" + user.getUserId (). ToString () + ", nome de usuário:" + user.getUserName (). ToString (); ModelAndView Mode = new ModelAndView (ShowMSG); mode.adDoBject ("msg", "resultado =" + resultado.toString ()); modo de retorno; } Implementar o salto da página:
/ * * Implementar página Jump * /web1/urlinfo/redirectpage.html * */@requestMapping ("/redirectpage.html") public string redirectPage () {return "redirect: getcookies.html? R = 10"; } Retorne JSON diretamente
O URL solicitado deve terminar em .json, caso contrário, exceção
Falha ao carregar Recurso: O servidor respondeu com um status de 406 (não aceitável): o recurso identificado por esta solicitação é capaz apenas de gerar respostas com características não aceitáveis de acordo com a solicitação "aceitar" cabeçalhos ()
Entidade de retorno:
@JSonserialize (incluir = jsonserialize.inclusion.non_null) classe pública userinfo {private integer userID; public integer getUserId () {return userID; } public void setUserID (Inteiro UserID) {userId = userID; } public string getUserName () {return userName; } public void setUserName (string userName) {nome de usuário = nome de usuário; } nome de usuário de string privado; }Ação de retorno
@ResponseBody @ReQuestMapp ("/getUser.json") public userinfo getUser () {System.out.println ("getUser"); UserInfo Model = new UserInfo (); Model.setUserID (100); model.setUsername ("Wang Kun"); modelo de retorno; } perguntar:
/web1/urlinfo/getuser.json
Saída:
{"UserID": 100, "Nome de usuário": "Wang Kun"}O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.