SpringMVC入門學習(二)應用註解方式+註解最佳化,springmvc註解

來源:互聯網
上載者:User

SpringMVC入門學習(二)應用註解方式+註解最佳化,springmvc註解

前篇已經介紹使用SpringMVC的方式進行環境搭建,以及一個簡單的demo測試,下面我們再來介紹一下使用註解的方式,如何?。

 

添加設定檔

 

springAnnotation-servlet.xml

 <!-- 註解掃描包 --><context:component-scan base-package="com.tgb.web.controller.annotation" /><!-- 開啟註解,這兩種方式通用 --><!-- <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /><bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"></bean> --> <mvc:annotation-driven></mvc:annotation-driven><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/"></property><property name="suffix" value=".jsp"></property></bean>

web.xml


<servlet>  <servlet-name>SpringMVC</servlet-name>  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>   <!-- 修改設定檔的名稱和路徑均可 -->   <init-param>  <param-name>contextConfigLocation</param-name>  <!-- <param-value>classpath*:config/SpringMVC-servlet.xml</param-value> -->  <param-value>classpath*:config/springAnnotation-servlet.xml</param-value>   </init-param>   <load-on-startup>1</load-on-startup>  </servlet>  <servlet-mapping>  <servlet-name>SpringMVC</servlet-name>  <url-pattern>/</url-pattern>    </servlet-mapping>  


執行個體測試:

 

 

添加UserController:


@Controllerpublic class UserController {/*方法的註解,value為瀏覽器的訪問地址,method為接收方式*/@RequestMapping(value="/user/addUser",method=RequestMethod.GET)public ModelAndView addUser(){String result ="this is addUser------";/*向前台介面傳值的方式---帶參數的返回前台頁面*/return new ModelAndView("/jquery","result",result);}@RequestMapping(value="/user/delUser",method=RequestMethod.GET)public ModelAndView delUser(){String result ="this is delUser------";return new ModelAndView("/jquery","result",result);}@RequestMapping(value="/user/toUser",method=RequestMethod.GET)public ModelAndView toUser(){/*返回的頁面*/return new ModelAndView("/jquery");}}


Jquery.jsp(提交方式為post,而如果此時addUser的接收方式為GET)

<form action="/SpringMVC/user/addUser" method="post"><h>SpringMVC註解</h><br/><div>${result }</div><input type="submit" value="post請求"></form>

出現以下錯誤:

 

訪問toUser時沒有問題,但是當點擊按鈕時,報錯!




解釋:

 

當我們訪問:http://localhost:8080/SpringMVC/user/toUser時,顯示jquery頁面,但是當我們點擊jquery頁面中的按鈕時,會post提交到addUser的方法,而此時addUser的方法接收為Get,故報錯。正確的方式是將addUser的接收方式改為POST

 

正確方式執行過程:

 

首先訪問toUser,到達jquery頁面,點擊jquery頁面的按鈕,post提交到addUser,同時將addUser中的result參數返回




注意:

 

前台頁面直接存取的方式只支援GET方式,即當我們的controller的接收方式均為GET時,均可以在瀏覽器中輸入相應的地址訪問到相應的頁面

 

例如:




因為此時addUser的接收方式為GET,但是如果我們將它的接收方式改為Post,那麼則會報如下錯誤,因為當我們直接存取頁面,那麼接收方式為Post,而提交方式預設為GET




我們想要get方法請求可以到,post方法請求也可以到

不想要區分的那麼清楚,直接把那個配置刪掉(method=RequestMethod.GET)

 

 

SpringMVC註解最佳化

 

1,對於要訪問的均為同一目錄下的方法時,可以這樣修改

@RequestMapping("/user")

2,刪除掉method的配置method=RequestMethod.GET

3,返回值為String類型

4,帶參數使用

request.setAttribute("result",result);,引入import javax.servlet.http.HttpServletRequest;

 

最佳化後的Controller:


總結:應用註解的方式使得我們不必去設定檔中寫那麼多映射代碼,減少了開發人員的工作量。但是對於我們來說無論是註解還是設定檔的方式我們均需要瞭解,個人覺得設定檔的方式更容易讓我們理解。




相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.