В процессе обучения Spring MVC необходимо сначала понять несколько ключевых параметров:
@Controller:
Аннотированный в классе, этот класс будет программировать контроллер, и когда проект начнет пружину, он автоматически сканирует для этого класса и выполнит соответствующее картирование маршрутизации URL.
@ControllerPublic Class UserAction {} @Requestmapping
Укажите путь картирования URL. Если на контроллере настроено запрашивание запроса, конкретный метод запроса также настраивает путь. Нанесенный на карту путь - это наложение двух путей. Обычно используются карты, такие как: requestMapping ("url.html")
Настройка пути отображения:
@ControllerPublic Class UserAction {@Requestmapping (value = "/get_alluser.html") public modelandView getalluser (String Id) {}} Вышеупомянутое отображение конфигурации
http: // ***: 8080: web1/get_alluser.html:
Если вы добавите @RequestMapping (value = "/user") в @Controller, путь карты становится
http: // ***: 8080: web1/user/get_alluser.html
@Responsebody
Вернуть строку, соответствующую методу аннотации напрямую
@RequestParam
Автоматически отображает параметры, соответствующие URL -адресу, значениям выше действия, и по умолчанию requestParam по умолчанию требуются параметры.
@Pathvariable
Получить параметры отображения URL -адресов указанного формата конфигурации @Requestmapping
/ * * Прямой вывод HTML, или json String * PATH: * /WEB1/URLINFO/getContent.html?key=rhythmk * /web1/urlinfo/getContent.json? КЛЮЧ, @RequestParam (value = "key2", require = false, defaultValue = "defaultValue") String Key2) {System.out.println ("getContent называется"); String result = "return Content напрямую - ключ:" + key + ", key2:" + key2; System.out.println (результат); результат возврата; }/ * * RequestMapping поддерживает конфигурацию URL-URL Ant-Style: * Пропуск запроса: * /Urlinfo/geturlant/config.html? request.getQueryString (); результат возврата; }
/* * Configure the URL of the specified format and map to the corresponding parameters* Request path: /web1/urlinfo/geturlparam/12_123.html * */ @RequestMapping(value = "/geturlparam/{id}_{menuId}.html") public ModelAndView getUrlParam(@PathVariable("id") String id, @Pathvariable ("Menuid") String Menuid) {modelandView mode = new ModelAndView (showmsg); mode.addobject ("msg", "eleded id:" + id + ", menuid:" + menuid); возвратный режим; } /** Получены только запросы публикации*/@Responsebody @Requestmapping (value = "/posturl.html", method = requestMethod.post) public String urlmethod (@RequestParam String Id) {return "только запрос post, получен идентификатор:" + id; } / * * Написать файлы cookie * */@requestmapping ("/writecookies.html") public modelandview writeCookies (@RequestParam String Value, httpservletresponse response) {response.addcookie (новый cookie ("ключ", Value)); ModelAndView Mode = New ModelAndView (ShowMSG); mode.addobject ("msg", "файлы cookie написаны успешно"); возвратный режим; } / * * Получить соответствующее значение ключа через @cookieivealue * */@requestmapping ("/getcookies.html") public modelandView getCookie (@cookievalue ("key") string cookvalue) {modelandView mode = new ModelandView (showmsg); mode.addobject ("msg", "cookies =" + cookvalue); возвратный режим; } / * * Пропустите API Сервлета в качестве параметра в * Вы можете использовать httpservletresponse непосредственно в действии, httpservletrequest * */@requestmappanp ("/servlet.html") public String Servlet1 (httpservletresponse, httpservletrequest) {boolean rescul -resquern = (null & !! ModelAndView Mode = new ModelAndView (); mode.addobject ("msg", "result =" + result.tostring ()); вернуть ShowMsg; } / * * Создать создание объекта в соответствии с параметрами, передаваемыми в URL * * Например: http://127.0.0.1:8080/web1/urlinfo/getobject.html?userid=1&username=ad * */@requestmapping ("getObject.html") upertaindebrew getObject ("getObject.html") ID: " + user.getUserid (). ToString () +", имя пользователя: " + user.getUsername (). ToString (); ModelAndView Mode = New ModelAndView (ShowMSG); mode.addobject ("msg", "result =" + result.tostring ()); возвратный режим; } Реализация страницы прыжок:
/ * * Реализация страницы Jump * /web1/urlinfo/redirectpage.html * */@requestmapping ("/redirectpage.html") public String redirectpage () {return "redirect: getCookies.html? R = 10"; } Вернуть JSON напрямую
Запрашиваемый URL должен закончиться в .json, в противном случае исключение
Не удалось загрузить ресурс: сервер ответил статусом 406 (недопустимо): ресурс, идентифицированный по этому запросу, способен генерировать ответы с характеристиками, недопустимыми в соответствии с запросом «принять» заголовки ()
Вернуть сущность:
@Jsonserialize (include = jsonerialize.inclusion.non_null) открытый класс 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; } private String username; }Возвращение действия
@Responsebody @Requestmapping ("/getUser.json") public userInfo getUser () {System.out.println ("getUser"); UserInfo model = new userInfo (); model.setuserid (100); model.setusername ("Ван Кун"); вернуть модель; } просить:
/web1/urlinfo/getuser.json
Выход:
{"userid": 100, "username": "wang kun"}Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.