{"id":1952,"date":"2017-02-28T20:29:14","date_gmt":"2017-02-28T12:29:14","guid":{"rendered":"https:\/\/ai.zhousir.top\/?p=1952"},"modified":"2017-02-28T20:29:14","modified_gmt":"2017-02-28T12:29:14","slug":"springmvc%e8%af%a6%e7%bb%86%e7%a4%ba%e4%be%8b%e5%ae%9e%e6%88%98%e6%95%99%e7%a8%8b","status":"publish","type":"post","link":"https:\/\/ai.zhousir.top\/?p=1952","title":{"rendered":"SpringMVC\u8be6\u7ec6\u793a\u4f8b\u5b9e\u6218\u6559\u7a0b"},"content":{"rendered":"<p><span style=\"text-decoration: underline;\"><\/span><strong>\u4e00\u3001SpringMVC\u57fa\u7840\u5165\u95e8\uff0c\u521b\u5efa\u4e00\u4e2aHelloWorld\u7a0b\u5e8f<\/strong><\/p>\n<p>1.\u9996\u5148\uff0c\u5bfc\u5165SpringMVC\u9700\u8981\u7684jar\u5305\u3002<\/p>\n<div><img decoding=\"async\" src=\"file:\/\/\/C:\/Users\/Jay%20Jay\/AppData\/Roaming\/Tencent\/Users\/449387122\/QQ\/WinTemp\/RichOle\/80HS[GZ02HK7R]0OPKUVZ%7DN.png\" alt=\"\" \/><img decoding=\"async\" src=\"http:\/\/images0.cnblogs.com\/blog2015\/694841\/201506\/032131066955378.png\" alt=\"\" \/><\/div>\n<p>2.\u6dfb\u52a0Web.xml\u914d\u7f6e\u6587\u4ef6\u4e2d\u5173\u4e8eSpringMVC\u7684\u914d\u7f6e<\/p>\n<div>\n<div id=\"highlighter_166157\" class=\"syntaxhighlighter notranslate java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java plain\">&lt;!--configure the setting of springmvcDispatcherServlet and configure the mapping--&gt;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java spaces\">\u00a0\u00a0<\/code><code class=\"java plain\">&lt;servlet&gt;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;servlet-name&gt;springmvc&lt;\/servlet-name&gt;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;servlet-<\/code><code class=\"java keyword\">class<\/code><code class=\"java plain\">&gt;org.springframework.web.servlet.DispatcherServlet&lt;\/servlet-<\/code><code class=\"java keyword\">class<\/code><code class=\"java plain\">&gt;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;init-param&gt;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;param-name&gt;contextConfigLocation&lt;\/param-name&gt;<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;param-value&gt;classpath:springmvc-servlet.xml&lt;\/param-value&gt;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;\/init-param&gt;<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;!-- &lt;load-on-startup&gt;<\/code><code class=\"java value\">1<\/code><code class=\"java plain\">&lt;\/load-on-startup&gt; --&gt;<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java spaces\">\u00a0\u00a0<\/code><code class=\"java plain\">&lt;\/servlet&gt;<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"java spaces\">\u00a0\u00a0<\/code><code class=\"java plain\">&lt;servlet-mapping&gt;<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;servlet-name&gt;springmvc&lt;\/servlet-name&gt;<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;url-pattern&gt;\/&lt;\/url-pattern&gt;<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"java spaces\">\u00a0\u00a0<\/code><code class=\"java plain\">&lt;\/servlet-mapping&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>3.\u5728src\u4e0b\u6dfb\u52a0springmvc-servlet.xml\u914d\u7f6e\u6587\u4ef6<\/p>\n<div>\n<div id=\"highlighter_31271\" class=\"syntaxhighlighter notranslate java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java plain\">&lt;?xml version=<\/code><code class=\"java string\">\"1.0\"<\/code> <code class=\"java plain\">encoding=<\/code><code class=\"java string\">\"UTF-8\"<\/code><code class=\"java plain\">?&gt;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java plain\">&lt;beans xmlns=<\/code><code class=\"java string\">\"http:\/\/www.springframework.org\/schema\/beans\"<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">xmlns:xsi=<\/code><code class=\"java string\">\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">xmlns:context=<\/code><code class=\"java string\">\"http:\/\/www.springframework.org\/schema\/context\"<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">xmlns:mvc=<\/code><code class=\"java string\">\"http:\/\/www.springframework.org\/schema\/mvc\"<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">xsi:schemaLocation=\"http:<\/code><code class=\"java comments\">\/\/www.springframework.org\/schema\/beans http:\/\/www.springframework.org\/schema\/beans\/spring-beans.xsd<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">http:<\/code><code class=\"java comments\">\/\/www.springframework.org\/schema\/context http:\/\/www.springframework.org\/schema\/context\/spring-context-4.1.xsd<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">http:<\/code><code class=\"java comments\">\/\/www.springframework.org\/schema\/mvc http:\/\/www.springframework.org\/schema\/mvc\/spring-mvc-4.1.xsd\"&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/code><\/div>\n<div class=\"line number9 index8 alt2\"><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;!-- scan the <\/code><code class=\"java keyword\">package<\/code> <code class=\"java plain\">and the sub <\/code><code class=\"java keyword\">package<\/code> <code class=\"java plain\">--&gt;<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;context:component-scan base-<\/code><code class=\"java keyword\">package<\/code><code class=\"java plain\">=<\/code><code class=\"java string\">\"test.SpringMVC\"<\/code><code class=\"java plain\">\/&gt;<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;!-- don't handle the <\/code><code class=\"java keyword\">static<\/code> <code class=\"java plain\">resource --&gt;<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;mvc:<\/code><code class=\"java keyword\">default<\/code><code class=\"java plain\">-servlet-handler \/&gt;<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;!-- <\/code><code class=\"java keyword\">if<\/code> <code class=\"java plain\">you use annotation you must configure following setting --&gt;<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;mvc:annotation-driven \/&gt;<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;!-- configure the InternalResourceViewResolver --&gt;<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;bean <\/code><code class=\"java keyword\">class<\/code><code class=\"java plain\">=<\/code><code class=\"java string\">\"org.springframework.web.servlet.view.InternalResourceViewResolver\"<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">id=<\/code><code class=\"java string\">\"internalResourceViewResolver\"<\/code><code class=\"java plain\">&gt;<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;!-- \u524d\u7f00 --&gt;<\/code><\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;property name=<\/code><code class=\"java string\">\"prefix\"<\/code> <code class=\"java plain\">value=<\/code><code class=\"java string\">\"\/WEB-INF\/jsp\/\"<\/code> <code class=\"java plain\">\/&gt;<\/code><\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;!-- \u540e\u7f00 --&gt;<\/code><\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;property name=<\/code><code class=\"java string\">\"suffix\"<\/code> <code class=\"java plain\">value=<\/code><code class=\"java string\">\".jsp\"<\/code> <code class=\"java plain\">\/&gt;<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;\/bean&gt;<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"java plain\">&lt;\/beans&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>4.\u5728WEB-INF\u6587\u4ef6\u5939\u4e0b\u521b\u5efa\u540d\u4e3ajsp\u7684\u6587\u4ef6\u5939\uff0c\u7528\u6765\u5b58\u653ejsp\u89c6\u56fe\u3002\u521b\u5efa\u4e00\u4e2ahello.jsp\uff0c\u5728body\u4e2d\u6dfb\u52a0\u201cHello World\u201d\u3002<\/p>\n<p>5.\u5efa\u7acb\u5305\u53caController\uff0c\u5982\u4e0b\u6240\u793a<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/images0.cnblogs.com\/blog2015\/694841\/201506\/032227247897004.png\" alt=\"\" \/><\/p>\n<p>6.\u7f16\u5199Controller\u4ee3\u7801<\/p>\n<div>\n<div id=\"highlighter_885623\" class=\"syntaxhighlighter notranslate java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java color1\">@Controller<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java color1\">@RequestMapping<\/code><code class=\"java plain\">(<\/code><code class=\"java string\">\"\/mvc\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">class<\/code> <code class=\"java plain\">mvcController {<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@RequestMapping<\/code><code class=\"java plain\">(<\/code><code class=\"java string\">\"\/hello\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">String hello(){\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java string\">\"hello\"<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>7.\u542f\u52a8\u670d\u52a1\u5668\uff0c\u952e\u5165\u00a0http:\/\/localhost:8080\/\u9879\u76ee\u540d\/mvc\/hello<\/p>\n<h2>\u4e8c\u3001\u914d\u7f6e\u89e3\u6790<\/h2>\n<p>1.Dispatcherservlet<\/p>\n<p>DispatcherServlet\u662f\u524d\u7f6e\u63a7\u5236\u5668\uff0c\u914d\u7f6e\u5728web.xml\u6587\u4ef6\u4e2d\u7684\u3002\u62e6\u622a\u5339\u914d\u7684\u8bf7\u6c42\uff0cServlet\u62e6\u622a\u5339\u914d\u89c4\u5219\u8981\u81ea\u5df2\u5b9a\u4e49\uff0c\u628a\u62e6\u622a\u4e0b\u6765\u7684\u8bf7\u6c42\uff0c\u4f9d\u636e\u76f8\u5e94\u7684\u89c4\u5219\u5206\u53d1\u5230\u76ee\u6807Controller\u6765\u5904\u7406\uff0c\u662f\u914d\u7f6espring MVC\u7684\u7b2c\u4e00\u6b65\u3002<\/p>\n<p>2.InternalResourceViewResolver<\/p>\n<p>\u89c6\u56fe\u540d\u79f0\u89e3\u6790\u5668<\/p>\n<p>3.\u4ee5\u4e0a\u51fa\u73b0\u7684\u6ce8\u89e3<\/p>\n<p>@Controller\u00a0\u8d1f\u8d23\u6ce8\u518c\u4e00\u4e2abean \u5230spring \u4e0a\u4e0b\u6587\u4e2d<\/p>\n<p>@RequestMapping\u00a0\u6ce8\u89e3\u4e3a\u63a7\u5236\u5668\u6307\u5b9a\u53ef\u4ee5\u5904\u7406\u54ea\u4e9b URL \u8bf7\u6c42<\/p>\n<h2>\u4e09\u3001SpringMVC\u5e38\u7528\u6ce8\u89e3<\/h2>\n<p>@Controller<\/p>\n<p>\u8d1f\u8d23\u6ce8\u518c\u4e00\u4e2abean \u5230spring \u4e0a\u4e0b\u6587\u4e2d<\/p>\n<p>@RequestMapping<\/p>\n<p>\u6ce8\u89e3\u4e3a\u63a7\u5236\u5668\u6307\u5b9a\u53ef\u4ee5\u5904\u7406\u54ea\u4e9b URL \u8bf7\u6c42<\/p>\n<p>@RequestBody<\/p>\n<p>\u8be5\u6ce8\u89e3\u7528\u4e8e\u8bfb\u53d6Request\u8bf7\u6c42\u7684body\u90e8\u5206\u6570\u636e\uff0c\u4f7f\u7528\u7cfb\u7edf\u9ed8\u8ba4\u914d\u7f6e\u7684HttpMessageConverter\u8fdb\u884c\u89e3\u6790\uff0c\u7136\u540e\u628a\u76f8\u5e94\u7684\u6570\u636e\u7ed1\u5b9a\u5230\u8981\u8fd4\u56de\u7684\u5bf9\u8c61\u4e0a\u00a0,\u518d\u628aHttpMessageConverter\u8fd4\u56de\u7684\u5bf9\u8c61\u6570\u636e\u7ed1\u5b9a\u5230 controller\u4e2d\u65b9\u6cd5\u7684\u53c2\u6570\u4e0a<\/p>\n<p>@ResponseBody<\/p>\n<p>\u8be5\u6ce8\u89e3\u7528\u4e8e\u5c06Controller\u7684\u65b9\u6cd5\u8fd4\u56de\u7684\u5bf9\u8c61\uff0c\u901a\u8fc7\u9002\u5f53\u7684HttpMessageConverter\u8f6c\u6362\u4e3a\u6307\u5b9a\u683c\u5f0f\u540e\uff0c\u5199\u5165\u5230Response\u5bf9\u8c61\u7684body\u6570\u636e\u533a<\/p>\n<p>@ModelAttribute<\/p>\n<p>\u5728\u65b9\u6cd5\u5b9a\u4e49\u4e0a\u4f7f\u7528 @ModelAttribute \u6ce8\u89e3\uff1aSpring MVC \u5728\u8c03\u7528\u76ee\u6807\u5904\u7406\u65b9\u6cd5\u524d\uff0c\u4f1a\u5148\u9010\u4e2a\u8c03\u7528\u5728\u65b9\u6cd5\u7ea7\u4e0a\u6807\u6ce8\u4e86@ModelAttribute \u7684\u65b9\u6cd5<\/p>\n<p>\u5728\u65b9\u6cd5\u7684\u5165\u53c2\u524d\u4f7f\u7528 @ModelAttribute \u6ce8\u89e3\uff1a\u53ef\u4ee5\u4ece\u9690\u542b\u5bf9\u8c61\u4e2d\u83b7\u53d6\u9690\u542b\u7684\u6a21\u578b\u6570\u636e\u4e2d\u83b7\u53d6\u5bf9\u8c61\uff0c\u518d\u5c06\u8bf7\u6c42\u53c2\u6570 \u2013\u7ed1\u5b9a\u5230\u5bf9\u8c61\u4e2d\uff0c\u518d\u4f20\u5165\u5165\u53c2\u5c06\u65b9\u6cd5\u5165\u53c2\u5bf9\u8c61\u6dfb\u52a0\u5230\u6a21\u578b\u4e2d<\/p>\n<p>@RequestParam<\/p>\n<p>\u5728\u5904\u7406\u65b9\u6cd5\u5165\u53c2\u5904\u4f7f\u7528 @RequestParam \u53ef\u4ee5\u628a\u8bf7\u6c42\u53c2 \u6570\u4f20\u9012\u7ed9\u8bf7\u6c42\u65b9\u6cd5<\/p>\n<p>@PathVariable<\/p>\n<p>\u7ed1\u5b9a URL \u5360\u4f4d\u7b26\u5230\u5165\u53c2<\/p>\n<p>@ExceptionHandler<\/p>\n<p>\u6ce8\u89e3\u5230\u65b9\u6cd5\u4e0a\uff0c\u51fa\u73b0\u5f02\u5e38\u65f6\u4f1a\u6267\u884c\u8be5\u65b9\u6cd5<\/p>\n<p>@ControllerAdvice<\/p>\n<p>\u4f7f\u4e00\u4e2aContoller\u6210\u4e3a\u5168\u5c40\u7684\u5f02\u5e38\u5904\u7406\u7c7b\uff0c\u7c7b\u4e2d\u7528@ExceptionHandler\u65b9\u6cd5\u6ce8\u89e3\u7684\u65b9\u6cd5\u53ef\u4ee5\u5904\u7406\u6240\u6709Controller\u53d1\u751f\u7684\u5f02\u5e38<\/p>\n<h2>\u56db\u3001\u81ea\u52a8\u5339\u914d\u53c2\u6570<\/h2>\n<div>\n<div id=\"highlighter_365332\" class=\"syntaxhighlighter notranslate java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java comments\">\/\/match automatically<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@RequestMapping<\/code><code class=\"java plain\">(<\/code><code class=\"java string\">\"\/person\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">String toPerson(String name,<\/code><code class=\"java keyword\">double<\/code> <code class=\"java plain\">age){<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">System.out.println(name+<\/code><code class=\"java string\">\" \"<\/code><code class=\"java plain\">+age);<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java string\">\"hello\"<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h2>\u4e94\u3001\u81ea\u52a8\u88c5\u7bb1<\/h2>\n<p>1.\u7f16\u5199\u4e00\u4e2aPerson\u5b9e\u4f53\u7c7b<\/p>\n<div>\n<div id=\"highlighter_262063\" class=\"syntaxhighlighter notranslate java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java keyword\">package<\/code> <code class=\"java plain\">test.SpringMVC.model;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">class<\/code> <code class=\"java plain\">Person {<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">String getName() {<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java plain\">name;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">void<\/code> <code class=\"java plain\">setName(String name) {<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">this<\/code><code class=\"java plain\">.name = name;<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">int<\/code> <code class=\"java plain\">getAge() {<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java plain\">age;<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">void<\/code> <code class=\"java plain\">setAge(<\/code><code class=\"java keyword\">int<\/code> <code class=\"java plain\">age) {<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">this<\/code><code class=\"java plain\">.age = age;<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">private<\/code> <code class=\"java plain\">String name;<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">private<\/code> <code class=\"java keyword\">int<\/code> <code class=\"java plain\">age;<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>2.\u5728Controller\u91cc\u7f16\u5199\u65b9\u6cd5<\/p>\n<div>\n<div id=\"highlighter_946727\" class=\"syntaxhighlighter notranslate java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java comments\">\/\/boxing automatically<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@RequestMapping<\/code><code class=\"java plain\">(<\/code><code class=\"java string\">\"\/person1\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">String toPerson(Person p){<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">System.out.println(p.getName()+<\/code><code class=\"java string\">\" \"<\/code><code class=\"java plain\">+p.getAge());<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java string\">\"hello\"<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h2>\u516d\u3001\u4f7f\u7528InitBinder\u6765\u5904\u7406Date\u7c7b\u578b\u7684\u53c2\u6570<\/h2>\n<div>\n<div id=\"highlighter_288057\" class=\"syntaxhighlighter notranslate java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java comments\">\/\/the parameter was converted in initBinder<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@RequestMapping<\/code><code class=\"java plain\">(<\/code><code class=\"java string\">\"\/date\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">String date(Date date){<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">System.out.println(date);<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java string\">\"hello\"<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java comments\">\/\/At the time of initialization,convert the type \"String\" to type \"date\"<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@InitBinder<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">void<\/code> <code class=\"java plain\">initBinder(ServletRequestDataBinder binder){<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">binder.registerCustomEditor(Date.<\/code><code class=\"java keyword\">class<\/code><code class=\"java plain\">, <\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">CustomDateEditor(<\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">SimpleDateFormat(<\/code><code class=\"java string\">\"yyyy-MM-dd\"<\/code><code class=\"java plain\">),<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">true<\/code><code class=\"java plain\">));<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h2>\u4e03\u3001\u5411\u524d\u53f0\u4f20\u9012\u53c2\u6570<\/h2>\n<div>\n<div id=\"highlighter_460427\" class=\"syntaxhighlighter notranslate java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java comments\">\/\/pass the parameters to front-end<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@RequestMapping<\/code><code class=\"java plain\">(<\/code><code class=\"java string\">\"\/show\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">String showPerson(Map&lt;String,Object&gt; map){<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">Person p =<\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">Person();<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">map.put(<\/code><code class=\"java string\">\"p\"<\/code><code class=\"java plain\">, p);<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">p.setAge(<\/code><code class=\"java value\">20<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">p.setName(<\/code><code class=\"java string\">\"jayjay\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java string\">\"show\"<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u524d\u53f0\u53ef\u5728Request\u57df\u4e2d\u53d6\u5230\u201dp\u201d<\/p>\n<h2>\u516b\u3001\u4f7f\u7528Ajax\u8c03\u7528<\/h2>\n<div>\n<div id=\"highlighter_292472\" class=\"syntaxhighlighter notranslate java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java comments\">\/\/pass the parameters to front-end using ajax<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@RequestMapping<\/code><code class=\"java plain\">(<\/code><code class=\"java string\">\"\/getPerson\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">void<\/code> <code class=\"java plain\">getPerson(String name,PrintWriter pw){<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">pw.write(<\/code><code class=\"java string\">\"hello,\"<\/code><code class=\"java plain\">+name);\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@RequestMapping<\/code><code class=\"java plain\">(<\/code><code class=\"java string\">\"\/name\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">String sayHello(){<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java string\">\"name\"<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u524d\u53f0\u7528\u4e0b\u9762\u7684Jquery\u4ee3\u7801\u8c03\u7528<\/p>\n<div>\n<div id=\"highlighter_444342\" class=\"syntaxhighlighter notranslate javascript\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"javascript plain\">$(<\/code><code class=\"javascript keyword\">function<\/code><code class=\"javascript plain\">(){<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"javascript spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"javascript plain\">$(<\/code><code class=\"javascript string\">\"#btn\"<\/code><code class=\"javascript plain\">).click(<\/code><code class=\"javascript keyword\">function<\/code><code class=\"javascript plain\">(){<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"javascript spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"javascript plain\">$.post(<\/code><code class=\"javascript string\">\"mvc\/getPerson\"<\/code><code class=\"javascript plain\">,{name:$(<\/code><code class=\"javascript string\">\"#name\"<\/code><code class=\"javascript plain\">).val()},<\/code><code class=\"javascript keyword\">function<\/code><code class=\"javascript plain\">(data){<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"javascript spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"javascript plain\">alert(data);<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"javascript spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"javascript plain\">});<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"javascript spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"javascript plain\">});<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"javascript spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"javascript plain\">});<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h2>\u4e5d\u3001\u5728Controller\u4e2d\u4f7f\u7528redirect\u65b9\u5f0f\u5904\u7406\u8bf7\u6c42<\/h2>\n<div>\n<div id=\"highlighter_203243\" class=\"syntaxhighlighter notranslate java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java comments\">\/\/redirect <\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@RequestMapping<\/code><code class=\"java plain\">(<\/code><code class=\"java string\">\"\/redirect\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">String redirect(){<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java string\">\"redirect:hello\"<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h2>\u5341\u3001\u6587\u4ef6\u4e0a\u4f20<\/h2>\n<p>1.\u9700\u8981\u5bfc\u5165\u4e24\u4e2ajar\u5305<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/images0.cnblogs.com\/blog2015\/694841\/201506\/052005184887879.png\" alt=\"\" \/><\/p>\n<p>2.\u5728SpringMVC\u914d\u7f6e\u6587\u4ef6\u4e2d\u52a0\u5165<\/p>\n<div>\n<div id=\"highlighter_148789\" class=\"syntaxhighlighter notranslate actionscript3\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"actionscript3 plain\">&lt;!-- upload settings --&gt;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"actionscript3 spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"actionscript3 plain\">&lt;bean id=<\/code><code class=\"actionscript3 string\">\"multipartResolver\"<\/code>\u00a0 <code class=\"actionscript3 color3\">class<\/code><code class=\"actionscript3 plain\">=<\/code><code class=\"actionscript3 string\">\"org.springframework.web.multipart.commons.CommonsMultipartResolver\"<\/code><code class=\"actionscript3 plain\">&gt;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"actionscript3 spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"actionscript3 plain\">&lt;property name=<\/code><code class=\"actionscript3 string\">\"maxUploadSize\"<\/code> <code class=\"actionscript3 plain\">value=<\/code><code class=\"actionscript3 string\">\"102400000\"<\/code><code class=\"actionscript3 plain\">&gt;&lt;\/property&gt;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"actionscript3 spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"actionscript3 plain\">&lt;\/bean&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>3.\u65b9\u6cd5\u4ee3\u7801<\/p>\n<div>\n<div id=\"highlighter_874273\" class=\"syntaxhighlighter notranslate java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java color1\">@RequestMapping<\/code><code class=\"java plain\">(value=<\/code><code class=\"java string\">\"\/upload\"<\/code><code class=\"java plain\">,method=RequestMethod.POST)<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">String upload(HttpServletRequest req) <\/code><code class=\"java keyword\">throws<\/code> <code class=\"java plain\">Exception{<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">MultipartHttpServletRequest mreq = (MultipartHttpServletRequest)req;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">MultipartFile file = mreq.getFile(<\/code><code class=\"java string\">\"file\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">String fileName = file.getOriginalFilename();<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">SimpleDateFormat sdf = <\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">SimpleDateFormat(<\/code><code class=\"java string\">\"yyyyMMddHHmmss\"<\/code><code class=\"java plain\">);\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">FileOutputStream fos = <\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">FileOutputStream(req.getSession().getServletContext().getRealPath(<\/code><code class=\"java string\">\"\/\"<\/code><code class=\"java plain\">)+<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java string\">\"upload\/\"<\/code><code class=\"java plain\">+sdf.format(<\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">Date())+fileName.substring(fileName.lastIndexOf(<\/code><code class=\"java string\">'.'<\/code><code class=\"java plain\">)));<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">fos.write(file.getBytes());<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">fos.flush();<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">fos.close();<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java string\">\"hello\"<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>4.\u524d\u53f0form\u8868\u5355<\/p>\n<div>\n<div id=\"highlighter_162599\" class=\"syntaxhighlighter notranslate actionscript3\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"actionscript3 plain\">&lt;form action=<\/code><code class=\"actionscript3 string\">\"mvc\/upload\"<\/code> <code class=\"actionscript3 plain\">method=<\/code><code class=\"actionscript3 string\">\"post\"<\/code> <code class=\"actionscript3 plain\">enctype=<\/code><code class=\"actionscript3 string\">\"multipart\/form-data\"<\/code><code class=\"actionscript3 plain\">&gt;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"actionscript3 spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"actionscript3 plain\">&lt;input type=<\/code><code class=\"actionscript3 string\">\"file\"<\/code> <code class=\"actionscript3 plain\">name=<\/code><code class=\"actionscript3 string\">\"file\"<\/code><code class=\"actionscript3 plain\">&gt;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"actionscript3 spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"actionscript3 plain\">&lt;input type=<\/code><code class=\"actionscript3 string\">\"submit\"<\/code> <code class=\"actionscript3 plain\">value=<\/code><code class=\"actionscript3 string\">\"submit\"<\/code><code class=\"actionscript3 plain\">&gt;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"actionscript3 spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"actionscript3 plain\">&lt;\/form&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h2>\u5341\u4e00\u3001\u4f7f\u7528@RequestParam\u6ce8\u89e3\u6307\u5b9a\u53c2\u6570\u7684name<\/h2>\n<div>\n<div id=\"highlighter_289026\" class=\"syntaxhighlighter notranslate actionscript3\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"actionscript3 plain\">@Controller<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"actionscript3 plain\">@RequestMapping(<\/code><code class=\"actionscript3 string\">\"\/test\"<\/code><code class=\"actionscript3 plain\">)<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"actionscript3 keyword\">public<\/code> <code class=\"actionscript3 color3\">class<\/code> <code class=\"actionscript3 plain\">mvcController1 {<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"actionscript3 spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"actionscript3 plain\">@RequestMapping(value=<\/code><code class=\"actionscript3 string\">\"\/param\"<\/code><code class=\"actionscript3 plain\">)<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"actionscript3 spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"actionscript3 keyword\">public<\/code> <code class=\"actionscript3 keyword\">String<\/code> <code class=\"actionscript3 plain\">testRequestParam(@RequestParam(value=<\/code><code class=\"actionscript3 string\">\"id\"<\/code><code class=\"actionscript3 plain\">) Integer id,<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"actionscript3 spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"actionscript3 plain\">@RequestParam(value=<\/code><code class=\"actionscript3 string\">\"name\"<\/code><code class=\"actionscript3 plain\">)<\/code><code class=\"actionscript3 keyword\">String<\/code> <code class=\"actionscript3 plain\">name){<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"actionscript3 spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"actionscript3 plain\">System.out.println(id+<\/code><code class=\"actionscript3 string\">\" \"<\/code><code class=\"actionscript3 plain\">+name);<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"actionscript3 spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"actionscript3 keyword\">return<\/code> <code class=\"actionscript3 string\">\"\/hello\"<\/code><code class=\"actionscript3 plain\">;<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"actionscript3 spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"actionscript3 plain\">}\u00a0\u00a0\u00a0 <\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"actionscript3 plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h2>\u5341\u4e8c\u3001RESTFul\u98ce\u683c\u7684SringMVC<\/h2>\n<p>1.RestController<\/p>\n<div>\n<div id=\"highlighter_716777\" class=\"syntaxhighlighter notranslate java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java color1\">@Controller<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java color1\">@RequestMapping<\/code><code class=\"java plain\">(<\/code><code class=\"java string\">\"\/rest\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">class<\/code> <code class=\"java plain\">RestController {<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@RequestMapping<\/code><code class=\"java plain\">(value=<\/code><code class=\"java string\">\"\/user\/{id}\"<\/code><code class=\"java plain\">,method=RequestMethod.GET)<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">String get(<\/code><code class=\"java color1\">@PathVariable<\/code><code class=\"java plain\">(<\/code><code class=\"java string\">\"id\"<\/code><code class=\"java plain\">) Integer id){<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">System.out.println(<\/code><code class=\"java string\">\"get\"<\/code><code class=\"java plain\">+id);<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java string\">\"\/hello\"<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@RequestMapping<\/code><code class=\"java plain\">(value=<\/code><code class=\"java string\">\"\/user\/{id}\"<\/code><code class=\"java plain\">,method=RequestMethod.POST)<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">String post(<\/code><code class=\"java color1\">@PathVariable<\/code><code class=\"java plain\">(<\/code><code class=\"java string\">\"id\"<\/code><code class=\"java plain\">) Integer id){<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">System.out.println(<\/code><code class=\"java string\">\"post\"<\/code><code class=\"java plain\">+id);<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java string\">\"\/hello\"<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@RequestMapping<\/code><code class=\"java plain\">(value=<\/code><code class=\"java string\">\"\/user\/{id}\"<\/code><code class=\"java plain\">,method=RequestMethod.PUT)<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">String put(<\/code><code class=\"java color1\">@PathVariable<\/code><code class=\"java plain\">(<\/code><code class=\"java string\">\"id\"<\/code><code class=\"java plain\">) Integer id){<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">System.out.println(<\/code><code class=\"java string\">\"put\"<\/code><code class=\"java plain\">+id);<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java string\">\"\/hello\"<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@RequestMapping<\/code><code class=\"java plain\">(value=<\/code><code class=\"java string\">\"\/user\/{id}\"<\/code><code class=\"java plain\">,method=RequestMethod.DELETE)<\/code><\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">String delete(<\/code><code class=\"java color1\">@PathVariable<\/code><code class=\"java plain\">(<\/code><code class=\"java string\">\"id\"<\/code><code class=\"java plain\">) Integer id){<\/code><\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">System.out.println(<\/code><code class=\"java string\">\"delete\"<\/code><code class=\"java plain\">+id);<\/code><\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java string\">\"\/hello\"<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>2.form\u8868\u5355\u53d1\u9001put\u548cdelete\u8bf7\u6c42<\/p>\n<p>\u5728web.xml\u4e2d\u914d\u7f6e<\/p>\n<div>\n<div id=\"highlighter_648861\" class=\"syntaxhighlighter notranslate xml\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"xml comments\">&lt;!-- configure the HiddenHttpMethodFilter,convert the post method to put or delete --&gt;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"xml spaces\">\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">filter<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">filter-name<\/code><code class=\"xml plain\">&gt;HiddenHttpMethodFilter&lt;\/<\/code><code class=\"xml keyword\">filter-name<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">filter-class<\/code><code class=\"xml plain\">&gt;org.springframework.web.filter.HiddenHttpMethodFilter&lt;\/<\/code><code class=\"xml keyword\">filter-class<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"xml spaces\">\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">filter<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"xml spaces\">\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">filter-mapping<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">filter-name<\/code><code class=\"xml plain\">&gt;HiddenHttpMethodFilter&lt;\/<\/code><code class=\"xml keyword\">filter-name<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">url-pattern<\/code><code class=\"xml plain\">&gt;\/*&lt;\/<\/code><code class=\"xml keyword\">url-pattern<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"xml spaces\">\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">filter-mapping<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u5728\u524d\u53f0\u53ef\u4ee5\u7528\u4ee5\u4e0b\u4ee3\u7801\u4ea7\u751f\u8bf7\u6c42<\/p>\n<div>\n<div id=\"highlighter_465462\" class=\"syntaxhighlighter notranslate xml\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">form<\/code> <code class=\"xml color1\">action<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"rest\/user\/1\"<\/code> <code class=\"xml color1\">method<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"post\"<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">input<\/code> <code class=\"xml color1\">type<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"hidden\"<\/code> <code class=\"xml color1\">name<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"_method\"<\/code> <code class=\"xml color1\">value<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"PUT\"<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">input<\/code> <code class=\"xml color1\">type<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"submit\"<\/code> <code class=\"xml color1\">value<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"put\"<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">form<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">form<\/code> <code class=\"xml color1\">action<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"rest\/user\/1\"<\/code> <code class=\"xml color1\">method<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"post\"<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">input<\/code> <code class=\"xml color1\">type<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"submit\"<\/code> <code class=\"xml color1\">value<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"post\"<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">form<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">form<\/code> <code class=\"xml color1\">action<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"rest\/user\/1\"<\/code> <code class=\"xml color1\">method<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"get\"<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">input<\/code> <code class=\"xml color1\">type<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"submit\"<\/code> <code class=\"xml color1\">value<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"get\"<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">form<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">form<\/code> <code class=\"xml color1\">action<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"rest\/user\/1\"<\/code> <code class=\"xml color1\">method<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"post\"<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">input<\/code> <code class=\"xml color1\">type<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"hidden\"<\/code> <code class=\"xml color1\">name<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"_method\"<\/code> <code class=\"xml color1\">value<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"DELETE\"<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">input<\/code> <code class=\"xml color1\">type<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"submit\"<\/code> <code class=\"xml color1\">value<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"delete\"<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">form<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h2>\u5341\u4e09\u3001\u8fd4\u56dejson\u683c\u5f0f\u7684\u5b57\u7b26\u4e32<\/h2>\n<p>1.\u5bfc\u5165\u4ee5\u4e0bjar\u5305<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/images0.cnblogs.com\/blog2015\/694841\/201506\/052029372696778.png\" alt=\"\" \/><\/p>\n<p>2.\u65b9\u6cd5\u4ee3\u7801<\/p>\n<div>\n<div id=\"highlighter_630121\" class=\"syntaxhighlighter notranslate java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java color1\">@Controller<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java color1\">@RequestMapping<\/code><code class=\"java plain\">(<\/code><code class=\"java string\">\"\/json\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">class<\/code> <code class=\"java plain\">jsonController {<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@ResponseBody<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@RequestMapping<\/code><code class=\"java plain\">(<\/code><code class=\"java string\">\"\/user\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code>\u00a0 <code class=\"java plain\">User get(){<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">User u = <\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">User();<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">u.setId(<\/code><code class=\"java value\">1<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">u.setName(<\/code><code class=\"java string\">\"jayjay\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">u.setBirth(<\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">Date());<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java plain\">u;<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h2>\u5341\u56db\u3001\u5f02\u5e38\u7684\u5904\u7406<\/h2>\n<p>1.\u5904\u7406\u5c40\u90e8\u5f02\u5e38\uff08Controller\u5185\uff09<\/p>\n<div>\n<div id=\"highlighter_545468\" class=\"syntaxhighlighter notranslate java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java color1\">@ExceptionHandler<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">ModelAndView exceptionHandler(Exception ex){<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">ModelAndView mv = <\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">ModelAndView(<\/code><code class=\"java string\">\"error\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">mv.addObject(<\/code><code class=\"java string\">\"exception\"<\/code><code class=\"java plain\">, ex);<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">System.out.println(<\/code><code class=\"java string\">\"in testExceptionHandler\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java plain\">mv;<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@RequestMapping<\/code><code class=\"java plain\">(<\/code><code class=\"java string\">\"\/error\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">String error(){<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">int<\/code> <code class=\"java plain\">i = <\/code><code class=\"java value\">5<\/code><code class=\"java plain\">\/<\/code><code class=\"java value\">0<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java string\">\"hello\"<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>2.\u5904\u7406\u5168\u5c40\u5f02\u5e38\uff08\u6240\u6709Controller\uff09<\/p>\n<div>\n<div id=\"highlighter_725348\" class=\"syntaxhighlighter notranslate java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java color1\">@ControllerAdvice<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">class<\/code> <code class=\"java plain\">testControllerAdvice {<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@ExceptionHandler<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">ModelAndView exceptionHandler(Exception ex){<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">ModelAndView mv = <\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">ModelAndView(<\/code><code class=\"java string\">\"error\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">mv.addObject(<\/code><code class=\"java string\">\"exception\"<\/code><code class=\"java plain\">, ex);<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">System.out.println(<\/code><code class=\"java string\">\"in testControllerAdvice\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java plain\">mv;<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>3.\u53e6\u4e00\u79cd\u5904\u7406\u5168\u5c40\u5f02\u5e38\u7684\u65b9\u6cd5<\/p>\n<p>\u5728SpringMVC\u914d\u7f6e\u6587\u4ef6\u4e2d\u914d\u7f6e<\/p>\n<div>\n<div id=\"highlighter_881246\" class=\"syntaxhighlighter notranslate java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java plain\">&lt;!-- configure SimpleMappingExceptionResolver --&gt;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;bean <\/code><code class=\"java keyword\">class<\/code><code class=\"java plain\">=<\/code><code class=\"java string\">\"org.springframework.web.servlet.handler.SimpleMappingExceptionResolver\"<\/code><code class=\"java plain\">&gt;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;property name=<\/code><code class=\"java string\">\"exceptionMappings\"<\/code><code class=\"java plain\">&gt;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;props&gt;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;prop key=<\/code><code class=\"java string\">\"java.lang.ArithmeticException\"<\/code><code class=\"java plain\">&gt;error&lt;\/prop&gt;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;\/props&gt;<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;\/property&gt;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">&lt;\/bean&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>error\u662f\u51fa\u9519\u9875\u9762<\/p>\n<h2>\u5341\u4e94\u3001\u8bbe\u7f6e\u4e00\u4e2a\u81ea\u5b9a\u4e49\u62e6\u622a\u5668<\/h2>\n<p>1.\u521b\u5efa\u4e00\u4e2aMyInterceptor\u7c7b\uff0c\u5e76\u5b9e\u73b0HandlerInterceptor\u63a5\u53e3<\/p>\n<div>\n<div id=\"highlighter_658208\" class=\"syntaxhighlighter notranslate java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">class<\/code> <code class=\"java plain\">MyInterceptor <\/code><code class=\"java keyword\">implements<\/code> <code class=\"java plain\">HandlerInterceptor {<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@Override<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">void<\/code> <code class=\"java plain\">afterCompletion(HttpServletRequest arg0,<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">HttpServletResponse arg1, Object arg2, Exception arg3)<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">throws<\/code> <code class=\"java plain\">Exception {<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">System.out.println(<\/code><code class=\"java string\">\"afterCompletion\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@Override<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">void<\/code> <code class=\"java plain\">postHandle(HttpServletRequest arg0, HttpServletResponse arg1,<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">Object arg2, ModelAndView arg3) <\/code><code class=\"java keyword\">throws<\/code> <code class=\"java plain\">Exception {<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">System.out.println(<\/code><code class=\"java string\">\"postHandle\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@Override<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">boolean<\/code> <code class=\"java plain\">preHandle(HttpServletRequest arg0, HttpServletResponse arg1,<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">Object arg2) <\/code><code class=\"java keyword\">throws<\/code> <code class=\"java plain\">Exception {<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">System.out.println(<\/code><code class=\"java string\">\"preHandle\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java keyword\">true<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>2.\u5728SpringMVC\u7684\u914d\u7f6e\u6587\u4ef6\u4e2d\u914d\u7f6e<\/p>\n<div>\n<div id=\"highlighter_334104\" class=\"syntaxhighlighter notranslate xml\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"xml comments\">&lt;!-- interceptor setting --&gt;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">mvc:interceptors<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">mvc:interceptor<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">mvc:mapping<\/code> <code class=\"xml color1\">path<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"\/mvc\/**\"<\/code><code class=\"xml plain\">\/&gt;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">bean<\/code> <code class=\"xml color1\">class<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"test.SpringMVC.Interceptor.MyInterceptor\"<\/code><code class=\"xml plain\">&gt;&lt;\/<\/code><code class=\"xml keyword\">bean<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">mvc:interceptor<\/code><code class=\"xml plain\">&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">mvc:interceptors<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>3.\u62e6\u622a\u5668\u6267\u884c\u987a\u5e8f<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/images0.cnblogs.com\/blog2015\/694841\/201506\/052112090047146.png\" alt=\"\" \/><\/p>\n<h2>\u5341\u516d\u3001\u8868\u5355\u7684\u9a8c\u8bc1\uff08\u4f7f\u7528Hibernate-validate\uff09\u53ca\u56fd\u9645\u5316<\/h2>\n<p>1.\u5bfc\u5165Hibernate-validate\u9700\u8981\u7684jar\u5305<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/images0.cnblogs.com\/blog2015\/694841\/201506\/052116271296839.png\" alt=\"\" \/>(\u672a\u9009\u4e2d\u4e0d\u7528\u5bfc\u5165)<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/images0.cnblogs.com\/blog2015\/694841\/201506\/052116407233893.png\" alt=\"\" \/><\/p>\n<p>2.\u7f16\u5199\u5b9e\u4f53\u7c7bUser\u5e76\u52a0\u4e0a\u9a8c\u8bc1\u6ce8\u89e3<\/p>\n<div>\n<div id=\"highlighter_511709\" class=\"syntaxhighlighter notranslate java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<div class=\"line number29 index28 alt2\">29<\/div>\n<div class=\"line number30 index29 alt1\">30<\/div>\n<div class=\"line number31 index30 alt2\">31<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">class<\/code> <code class=\"java plain\">User {<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">int<\/code> <code class=\"java plain\">getId() {<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java plain\">id;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">void<\/code> <code class=\"java plain\">setId(<\/code><code class=\"java keyword\">int<\/code> <code class=\"java plain\">id) {<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">this<\/code><code class=\"java plain\">.id = id;<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">String getName() {<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java plain\">name;<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">void<\/code> <code class=\"java plain\">setName(String name) {<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">this<\/code><code class=\"java plain\">.name = name;<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">Date getBirth() {<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java plain\">birth;<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">void<\/code> <code class=\"java plain\">setBirth(Date birth) {<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">this<\/code><code class=\"java plain\">.birth = birth;<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@Override<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">String toString() {<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java string\">\"User [id=\"<\/code> <code class=\"java plain\">+ id + <\/code><code class=\"java string\">\", name=\"<\/code> <code class=\"java plain\">+ name + <\/code><code class=\"java string\">\", birth=\"<\/code> <code class=\"java plain\">+ birth + <\/code><code class=\"java string\">\"]\"<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}\u00a0\u00a0\u00a0 <\/code><\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">private<\/code> <code class=\"java keyword\">int<\/code> <code class=\"java plain\">id;<\/code><\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@NotEmpty<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">private<\/code> <code class=\"java plain\">String name;<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@Past<\/code><\/div>\n<div class=\"line number29 index28 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@DateTimeFormat<\/code><code class=\"java plain\">(pattern=<\/code><code class=\"java string\">\"yyyy-MM-dd\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number30 index29 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">private<\/code> <code class=\"java plain\">Date birth;<\/code><\/div>\n<div class=\"line number31 index30 alt2\"><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>ps:@Past\u8868\u793a\u65f6\u95f4\u5fc5\u987b\u662f\u4e00\u4e2a\u8fc7\u53bb\u503c<\/p>\n<p>3.\u5728jsp\u4e2d\u4f7f\u7528SpringMVC\u7684form\u8868\u5355<\/p>\n<div>\n<div id=\"highlighter_170614\" class=\"syntaxhighlighter notranslate actionscript3\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"actionscript3 plain\">&lt;form:form action=<\/code><code class=\"actionscript3 string\">\"form\/add\"<\/code> <code class=\"actionscript3 plain\">method=<\/code><code class=\"actionscript3 string\">\"post\"<\/code> <code class=\"actionscript3 plain\">modelAttribute=<\/code><code class=\"actionscript3 string\">\"user\"<\/code><code class=\"actionscript3 plain\">&gt;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"actionscript3 spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"actionscript3 plain\">id:&lt;form:input path=<\/code><code class=\"actionscript3 string\">\"id\"<\/code><code class=\"actionscript3 plain\">\/&gt;&lt;form:errors path=<\/code><code class=\"actionscript3 string\">\"id\"<\/code><code class=\"actionscript3 plain\">\/&gt;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"actionscript3 spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"actionscript3 plain\">name:&lt;form:input path=<\/code><code class=\"actionscript3 string\">\"name\"<\/code><code class=\"actionscript3 plain\">\/&gt;&lt;form:errors path=<\/code><code class=\"actionscript3 string\">\"name\"<\/code><code class=\"actionscript3 plain\">\/&gt;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"actionscript3 spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"actionscript3 plain\">birth:&lt;form:input path=<\/code><code class=\"actionscript3 string\">\"birth\"<\/code><code class=\"actionscript3 plain\">\/&gt;&lt;form:errors path=<\/code><code class=\"actionscript3 string\">\"birth\"<\/code><code class=\"actionscript3 plain\">\/&gt;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"actionscript3 spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"actionscript3 plain\">&lt;input type=<\/code><code class=\"actionscript3 string\">\"submit\"<\/code> <code class=\"actionscript3 plain\">value=<\/code><code class=\"actionscript3 string\">\"submit\"<\/code><code class=\"actionscript3 plain\">&gt;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"actionscript3 spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"actionscript3 plain\">&lt;\/form:form&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>ps:path\u5bf9\u5e94name<\/p>\n<p>4.Controller\u4e2d\u4ee3\u7801<\/p>\n<div>\n<div id=\"highlighter_433193\" class=\"syntaxhighlighter notranslate java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java color1\">@Controller<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java color1\">@RequestMapping<\/code><code class=\"java plain\">(<\/code><code class=\"java string\">\"\/form\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">class<\/code> <code class=\"java plain\">formController {<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@RequestMapping<\/code><code class=\"java plain\">(value=<\/code><code class=\"java string\">\"\/add\"<\/code><code class=\"java plain\">,method=RequestMethod.POST)\u00a0\u00a0\u00a0 <\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">String add(<\/code><code class=\"java color1\">@Valid<\/code> <code class=\"java plain\">User u,BindingResult br){<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">if<\/code><code class=\"java plain\">(br.getErrorCount()&gt;<\/code><code class=\"java value\">0<\/code><code class=\"java plain\">){\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java string\">\"addUser\"<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java string\">\"showUser\"<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@RequestMapping<\/code><code class=\"java plain\">(value=<\/code><code class=\"java string\">\"\/add\"<\/code><code class=\"java plain\">,method=RequestMethod.GET)<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">String add(Map&lt;String,Object&gt; map){<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">map.put(<\/code><code class=\"java string\">\"user\"<\/code><code class=\"java plain\">,<\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">User());<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java string\">\"addUser\"<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>ps:<\/p>\n<p>1.\u56e0\u4e3ajsp\u4e2d\u4f7f\u7528\u4e86modelAttribute\u5c5e\u6027\uff0c\u6240\u4ee5\u5fc5\u987b\u5728request\u57df\u4e2d\u6709\u4e00\u4e2a\u201duser\u201d.<\/p>\n<p>2.@Valid \u8868\u793a\u6309\u7167\u5728\u5b9e\u4f53\u4e0a\u6807\u8bb0\u7684\u6ce8\u89e3\u9a8c\u8bc1\u53c2\u6570<\/p>\n<p>3.\u8fd4\u56de\u5230\u539f\u9875\u9762\u9519\u8bef\u4fe1\u606f\u56de\u56de\u663e\uff0c\u8868\u5355\u4e5f\u4f1a\u56de\u663e<\/p>\n<p>5.\u9519\u8bef\u4fe1\u606f\u81ea\u5b9a\u4e49<\/p>\n<p>\u5728src\u76ee\u5f55\u4e0b\u6dfb\u52a0locale.properties<\/p>\n<div>\n<div id=\"highlighter_214000\" class=\"syntaxhighlighter notranslate actionscript3\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"actionscript3 plain\">NotEmpty.user.name=name can't not be empty<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"actionscript3 plain\">Past.user.birth=birth should be a past value<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"actionscript3 plain\">DateTimeFormat.user.birth=the format of input <\/code><code class=\"actionscript3 keyword\">is<\/code> <code class=\"actionscript3 plain\">wrong<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"actionscript3 plain\">typeMismatch.user.birth=the format of input <\/code><code class=\"actionscript3 keyword\">is<\/code> <code class=\"actionscript3 plain\">wrong<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"actionscript3 plain\">typeMismatch.user.id=the format of input <\/code><code class=\"actionscript3 keyword\">is<\/code> <code class=\"actionscript3 plain\">wrong<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u5728SpringMVC\u914d\u7f6e\u6587\u4ef6\u4e2d\u914d\u7f6e<\/p>\n<div>\n<div id=\"highlighter_115003\" class=\"syntaxhighlighter notranslate actionscript3\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"actionscript3 plain\">&lt;!-- configure the locale resource --&gt;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"actionscript3 spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"actionscript3 plain\">&lt;bean id=<\/code><code class=\"actionscript3 string\">\"messageSource\"<\/code> <code class=\"actionscript3 color3\">class<\/code><code class=\"actionscript3 plain\">=<\/code><code class=\"actionscript3 string\">\"org.springframework.context.support.ResourceBundleMessageSource\"<\/code><code class=\"actionscript3 plain\">&gt;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"actionscript3 spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"actionscript3 plain\">&lt;property name=<\/code><code class=\"actionscript3 string\">\"basename\"<\/code> <code class=\"actionscript3 plain\">value=<\/code><code class=\"actionscript3 string\">\"locale\"<\/code><code class=\"actionscript3 plain\">&gt;&lt;\/property&gt;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"actionscript3 spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"actionscript3 plain\">&lt;\/bean&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>6.\u56fd\u9645\u5316\u663e\u793a<\/p>\n<p>\u5728src\u4e0b\u6dfb\u52a0locale_zh_CN.properties<\/p>\n<div>\n<div id=\"highlighter_814323\" class=\"syntaxhighlighter notranslate actionscript3\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"actionscript3 plain\">username=\u8d26\u53f7<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"actionscript3 plain\">password=\u5bc6\u7801<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>locale.properties\u4e2d\u6dfb\u52a0<\/p>\n<div>\n<div id=\"highlighter_974507\" class=\"syntaxhighlighter notranslate actionscript3\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"actionscript3 plain\">username=user name<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"actionscript3 plain\">password=password<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u521b\u5efa\u4e00\u4e2alocale.jsp<\/p>\n<div>\n<div id=\"highlighter_967094\" class=\"syntaxhighlighter notranslate html\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">body<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"html spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">fmt:message<\/code> <code class=\"html color1\">key<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"username\"<\/code><code class=\"html plain\">&gt;&lt;\/<\/code><code class=\"html keyword\">fmt:message<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"html spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">fmt:message<\/code> <code class=\"html color1\">key<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"password\"<\/code><code class=\"html plain\">&gt;&lt;\/<\/code><code class=\"html keyword\">fmt:message<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"html spaces\">\u00a0\u00a0<\/code><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">body<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u5728SpringMVC\u4e2d\u914d\u7f6e<\/p>\n<div>\n<div id=\"highlighter_458842\" class=\"syntaxhighlighter notranslate actionscript3\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"actionscript3 plain\">&lt;!-- make the jsp page can be visited --&gt;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"actionscript3 spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"actionscript3 plain\">&lt;mvc:view-controller path=<\/code><code class=\"actionscript3 string\">\"\/locale\"<\/code> <code class=\"actionscript3 plain\">view-name=<\/code><code class=\"actionscript3 string\">\"locale\"<\/code><code class=\"actionscript3 plain\">\/&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u8ba9locale.jsp\u5728WEB-INF\u4e0b\u4e5f\u80fd\u76f4\u63a5\u8bbf\u95ee<\/p>\n<p>\u6700\u540e\uff0c\u8bbf\u95eelocale.jsp\uff0c\u5207\u6362\u6d4f\u89c8\u5668\u8bed\u8a00\uff0c\u80fd\u770b\u5230\u8d26\u53f7\u548c\u5bc6\u7801\u7684\u8bed\u8a00\u4e5f\u5207\u6362\u4e86<\/p>\n<h2>\u5341\u4e03\u3001\u538b\u8f74\u5927\u620f\u2013\u6574\u5408SpringIOC\u548cSpringMVC<\/h2>\n<p>1.\u521b\u5efa\u4e00\u4e2atest.SpringMVC.integrate\u7684\u5305\u7528\u6765\u6f14\u793a\u6574\u5408\uff0c\u5e76\u521b\u5efa\u5404\u7c7b<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/images0.cnblogs.com\/blog2015\/694841\/201506\/052306155821182.png\" alt=\"\" \/><\/p>\n<p>2.User\u5b9e\u4f53\u7c7b<\/p>\n<div>\n<div id=\"highlighter_589122\" class=\"syntaxhighlighter notranslate java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<div class=\"line number29 index28 alt2\">29<\/div>\n<div class=\"line number30 index29 alt1\">30<\/div>\n<div class=\"line number31 index30 alt2\">31<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">class<\/code> <code class=\"java plain\">User {<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">int<\/code> <code class=\"java plain\">getId() {<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java plain\">id;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">void<\/code> <code class=\"java plain\">setId(<\/code><code class=\"java keyword\">int<\/code> <code class=\"java plain\">id) {<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">this<\/code><code class=\"java plain\">.id = id;<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">String getName() {<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java plain\">name;<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">void<\/code> <code class=\"java plain\">setName(String name) {<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">this<\/code><code class=\"java plain\">.name = name;<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">Date getBirth() {<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java plain\">birth;<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">void<\/code> <code class=\"java plain\">setBirth(Date birth) {<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">this<\/code><code class=\"java plain\">.birth = birth;<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@Override<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">String toString() {<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java string\">\"User [id=\"<\/code> <code class=\"java plain\">+ id + <\/code><code class=\"java string\">\", name=\"<\/code> <code class=\"java plain\">+ name + <\/code><code class=\"java string\">\", birth=\"<\/code> <code class=\"java plain\">+ birth + <\/code><code class=\"java string\">\"]\"<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}\u00a0\u00a0\u00a0 <\/code><\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">private<\/code> <code class=\"java keyword\">int<\/code> <code class=\"java plain\">id;<\/code><\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@NotEmpty<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">private<\/code> <code class=\"java plain\">String name;<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@Past<\/code><\/div>\n<div class=\"line number29 index28 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@DateTimeFormat<\/code><code class=\"java plain\">(pattern=<\/code><code class=\"java string\">\"yyyy-MM-dd\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number30 index29 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">private<\/code> <code class=\"java plain\">Date birth;<\/code><\/div>\n<div class=\"line number31 index30 alt2\"><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>3.UserService\u7c7b<\/p>\n<div>\n<div id=\"highlighter_358847\" class=\"syntaxhighlighter notranslate java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java color1\">@Component<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">class<\/code> <code class=\"java plain\">UserService {<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">UserService(){<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">System.out.println(<\/code><code class=\"java string\">\"UserService Constructor...\\n\\n\\n\\n\\n\\n\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">void<\/code> <code class=\"java plain\">save(){<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">System.out.println(<\/code><code class=\"java string\">\"save\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>4.UserController<\/p>\n<div>\n<div id=\"highlighter_231437\" class=\"syntaxhighlighter notranslate java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java color1\">@Controller<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java color1\">@RequestMapping<\/code><code class=\"java plain\">(<\/code><code class=\"java string\">\"\/integrate\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">class<\/code> <code class=\"java plain\">UserController {<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@Autowired<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">private<\/code> <code class=\"java plain\">UserService userService;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java color1\">@RequestMapping<\/code><code class=\"java plain\">(<\/code><code class=\"java string\">\"\/user\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">String saveUser(<\/code><code class=\"java color1\">@RequestBody<\/code> <code class=\"java color1\">@ModelAttribute<\/code> <code class=\"java plain\">User u){<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">System.out.println(u);<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">userService.save();<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code> <code class=\"java string\">\"hello\"<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>5.Spring\u914d\u7f6e\u6587\u4ef6<\/p>\n<p>\u5728src\u76ee\u5f55\u4e0b\u521b\u5efaSpringIOC\u7684\u914d\u7f6e\u6587\u4ef6applicationContext.xml<\/p>\n<div>\n<div id=\"highlighter_318127\" class=\"syntaxhighlighter notranslate xml\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<div class=\"line number29 index28 alt2\">29<\/div>\n<div class=\"line number30 index29 alt1\">30<\/div>\n<div class=\"line number31 index30 alt2\">31<\/div>\n<div class=\"line number32 index31 alt1\">32<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"xml plain\">&lt;?<\/code><code class=\"xml keyword\">xml<\/code> <code class=\"xml color1\">version<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"1.0\"<\/code> <code class=\"xml color1\">encoding<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"UTF-8\"<\/code><code class=\"xml plain\">?&gt;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">beans<\/code> <code class=\"xml color1\">xmlns<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"http:\/\/www.springframework.org\/schema\/beans\"<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml color1\">xmlns:xsi<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">xsi:schemaLocation=\"http:\/\/www.springframework.org\/schema\/beans\u00a0 <\/code><\/div>\n<div class=\"line number5 index4 alt2\"><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"xml plain\">http:\/\/www.springframework.org\/schema\/beans\/spring-beans.xsd<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><\/div>\n<div class=\"line number8 index7 alt1\"><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"xml plain\">http:\/\/www.springframework.org\/schema\/util<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><\/div>\n<div class=\"line number11 index10 alt2\"><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"xml plain\">http:\/\/www.springframework.org\/schema\/util\/spring-util-4.0.xsd<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><\/div>\n<div class=\"line number14 index13 alt1\"><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"xml plain\">http:\/\/www.springframework.org\/schema\/context<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><\/div>\n<div class=\"line number17 index16 alt2\"><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"xml plain\">http:\/\/www.springframework.org\/schema\/context\/spring-context.xsd<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">\"<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml color1\">xmlns:util<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"http:\/\/www.springframework.org\/schema\/util\"<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml color1\">xmlns:p<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"http:\/\/www.springframework.org\/schema\/p\"<\/code><\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml color1\">xmlns:context<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"http:\/\/www.springframework.org\/schema\/context\"<\/code><\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">context:component-scan<\/code> <code class=\"xml color1\">base-package<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"test.SpringMVC.integrate\"<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">context:exclude-filter<\/code> <code class=\"xml color1\">type<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"annotation\"<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml color1\">expression<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"org.springframework.stereotype.Controller\"<\/code><code class=\"xml plain\">\/&gt;<\/code><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">context:exclude-filter<\/code> <code class=\"xml color1\">type<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"annotation\"<\/code><\/div>\n<div class=\"line number29 index28 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml color1\">expression<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"org.springframework.web.bind.annotation.ControllerAdvice\"<\/code><code class=\"xml plain\">\/&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/code><\/div>\n<div class=\"line number30 index29 alt1\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">context:component-scan<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number31 index30 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number32 index31 alt1\"><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">beans<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u5728Web.xml\u4e2d\u6dfb\u52a0\u914d\u7f6e<\/p>\n<div>\n<div id=\"highlighter_828277\" class=\"syntaxhighlighter notranslate xml\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"xml comments\">&lt;!-- configure the springIOC --&gt;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"xml spaces\">\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">listener<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">listener-class<\/code><code class=\"xml plain\">&gt;org.springframework.web.context.ContextLoaderListener&lt;\/<\/code><code class=\"xml keyword\">listener-class<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"xml spaces\">\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">listener<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"xml spaces\">\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">context-param<\/code><code class=\"xml plain\">&gt;\u00a0 <\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">param-name<\/code><code class=\"xml plain\">&gt;contextConfigLocation&lt;\/<\/code><code class=\"xml keyword\">param-name<\/code><code class=\"xml plain\">&gt;\u00a0 <\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">param-value<\/code><code class=\"xml plain\">&gt;classpath:applicationContext.xml&lt;\/<\/code><code class=\"xml keyword\">param-value<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"xml spaces\">\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">context-param<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>6.\u5728SpringMVC\u4e2d\u8fdb\u884c\u4e00\u4e9b\u914d\u7f6e\uff0c\u9632\u6b62SpringMVC\u548cSpringIOC\u5bf9\u540c\u4e00\u4e2a\u5bf9\u8c61\u7684\u7ba1\u7406\u91cd\u5408<\/p>\n<div>\n<div id=\"highlighter_833717\" class=\"syntaxhighlighter notranslate xml\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"xml comments\">&lt;!-- scan the package and the sub package --&gt;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">context:component-scan<\/code> <code class=\"xml color1\">base-package<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"test.SpringMVC.integrate\"<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">context:include-filter<\/code> <code class=\"xml color1\">type<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"annotation\"<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml color1\">expression<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"org.springframework.stereotype.Controller\"<\/code><code class=\"xml plain\">\/&gt;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">context:include-filter<\/code> <code class=\"xml color1\">type<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"annotation\"<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml color1\">expression<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"org.springframework.web.bind.annotation.ControllerAdvice\"<\/code><code class=\"xml plain\">\/&gt;<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"xml spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">context:component-scan<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h2><strong>\u5341\u516b\u3001SpringMVC\u8be6\u7ec6\u8fd0\u884c\u6d41\u7a0b\u56fe<\/strong><\/h2>\n<p><img decoding=\"async\" src=\"http:\/\/images0.cnblogs.com\/blog2015\/694841\/201506\/052340331602684.png\" alt=\"\" \/><\/p>\n<h2>\u5341\u4e5d\u3001SpringMVC\u4e0estruts2\u7684\u533a\u522b<\/h2>\n<p>1\u3001springmvc\u57fa\u4e8e\u65b9\u6cd5\u5f00\u53d1\u7684\uff0cstruts2\u57fa\u4e8e\u7c7b\u5f00\u53d1\u7684\u3002springmvc\u5c06url\u548ccontroller\u91cc\u7684\u65b9\u6cd5\u6620\u5c04\u3002\u6620\u5c04\u6210\u529f\u540espringmvc\u751f\u6210\u4e00\u4e2aHandler\u5bf9\u8c61\uff0c\u5bf9\u8c61\u4e2d\u53ea\u5305\u62ec\u4e86\u4e00\u4e2amethod\u3002\u65b9\u6cd5\u6267\u884c\u7ed3\u675f\uff0c\u5f62\u53c2\u6570\u636e\u9500\u6bc1\u3002springmvc\u7684controller\u5f00\u53d1\u7c7b\u4f3cweb service\u5f00\u53d1\u3002<br \/>\n2\u3001springmvc\u53ef\u4ee5\u8fdb\u884c\u5355\u4f8b\u5f00\u53d1\uff0c\u5e76\u4e14\u5efa\u8bae\u4f7f\u7528\u5355\u4f8b\u5f00\u53d1\uff0cstruts2\u901a\u8fc7\u7c7b\u7684\u6210\u5458\u53d8\u91cf\u63a5\u6536\u53c2\u6570\uff0c\u65e0\u6cd5\u4f7f\u7528\u5355\u4f8b\uff0c\u53ea\u80fd\u4f7f\u7528\u591a\u4f8b\u3002<br \/>\n3\u3001\u7ecf\u8fc7\u5b9e\u9645\u6d4b\u8bd5\uff0cstruts2\u901f\u5ea6\u6162\uff0c\u5728\u4e8e\u4f7f\u7528struts\u6807\u7b7e\uff0c\u5982\u679c\u4f7f\u7528struts\u5efa\u8bae\u4f7f\u7528jstl\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u539f\u6587\u51fa\u5904\uff1a <a href=\"http:\/\/www.cnblogs.com\/sunniest\/p\/4555801.html\" target=\"_blank\">cnblogs-Sunnier<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e00\u3001SpringMVC\u57fa\u7840\u5165\u95e8\uff0c\u521b\u5efa\u4e00\u4e2aHelloWorld\u7a0b\u5e8f 1.\u9996\u5148\uff0c\u5bfc\u5165SpringMVC\u9700\u8981\u7684jar [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[91],"tags":[],"_links":{"self":[{"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=\/wp\/v2\/posts\/1952"}],"collection":[{"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1952"}],"version-history":[{"count":1,"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=\/wp\/v2\/posts\/1952\/revisions"}],"predecessor-version":[{"id":1953,"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=\/wp\/v2\/posts\/1952\/revisions\/1953"}],"wp:attachment":[{"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1952"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1952"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1952"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}