1. 程式人生 > >spring mvc請求controller訪問方式

spring mvc請求controller訪問方式

1.一個Controller裡含有不同的請求url

@Controller  //類似Struts的Action
public class TestController {
    @RequestMapping("test/login.do")  // 請求url地址對映,類似Struts的action-mapping
    public String testLogin(@RequestParam(value="username")String username, String password, HttpServletRequest request) {
        // @RequestParam是指請求url地址對映中必須含有的引數(除非屬性required=false)
        
// @RequestParam可簡寫為:@RequestParam("username") if (!"admin".equals(username) || !"admin".equals(password)) { return "loginError"; // 跳轉頁面路徑(預設為轉發),該路徑不需要包含spring-servlet配置檔案中配置的字首和字尾 } return "loginSuccess"; }
}

2.採用一個url訪問,通過url引數來區分訪問不同的方法

@Controller
@RequestMapping(
"/test2/login.do") // 指定唯一一個*.do請求關聯到該Controller public class TestController2 { @RequestMapping public String testLogin(String username, String password, int age) { // 如果不加任何引數,則在請求/test2/login.do時,便預設執行該方法 if (!"admin".equals(username) || !"admin".equals(password) || age < 5) {
return "loginError"; } return "loginSuccess"; } @RequestMapping(params = "method=1", method=RequestMethod.POST) public String testLogin2(String username, String password) { // 依據params的引數method的值來區分不同的呼叫方法 // 可以指定頁面請求方式的型別,預設為get請求 if (!"admin".equals(username) || !"admin".equals(password)) { return "loginError"; } return "loginSuccess"; } @RequestMapping(params = "method=2") public String testLogin3(String username, String password, int age) { if (!"admin".equals(username) || !"admin".equals(password) || age < 5) { return "loginError"; } return "loginSuccess"; } }

3.RequestMapping在Class上,可看做是父Request請求url,而RequestMapping在方法上的可看做是子Request請求url,父子請求url最終會拼起來與頁面請求url進行匹配

@Controller
@RequestMapping("/test3/*")  // 父request請求url
public class TestController3 {

    @RequestMapping("login.do")  // 子request請求url,拼接後等價於/test3/login.do
    public String testLogin(String username, String password, int age) {
        if (!"admin".equals(username) || !"admin".equals(password) || age < 5) {
            return "loginError";
        }
        return "loginSuccess";
    }
}

4.在SpringMVC中常用的註解還有@PathVariable,@RequestParam,@PathVariable標記在方法的引數上,利用它標記的引數可以利用請求路徑傳值

@Controller  //類似Struts的Action
public class TestController {

@RequestMapping(value="/comment/{blogId}", method=RequestMethod.POST)
public void comment(Comment comment,@PathVariable int blogId) throws IOException {
    
}
}

相關推薦

spring mvc請求controller訪問方式

1.一個Controller裡含有不同的請求url @Controller //類似Struts的Action public class TestController { @RequestMapping("test/login.do") // 請求url地址對

Spring MVCController向頁面傳值的方式

用戶 () 傳參數 control let att model enter 設定 Spring MVC 從 Controller向頁面傳值的方式 在實際開發中,Controller取得數據(可以在Controller中處理,當然也可以來源於業務邏輯層),傳給頁面,常用的方

spring mvc 請求處理方式...

標題實在不知應該如何定義,略處尷尬。 相信有很多剛接觸Spring mvc的小夥伴跟我一樣都有個小疑問。如何正確根據場景需要來處理請求,舉個栗子吧~~~   拿login作為栗子,賬號密碼輸入完畢 -》 登陸按鈕 -》 Controller -》賬戶正確 -》 主頁.jsp

通過攔截器Interceptor實現Spring MVCController介面訪問資訊的記錄

java web工程專案使用了Spring+Spring MVC+Hibernate的結構,在Controller中的方法都是用於處理前端的訪問資訊,Controller通過呼叫Service進行業務處理後給前端返回ModelAndView物件或者只返回Json格式資料。如

spring mvc請求過程

logs ont com 邏輯 src resolv 發送 pre mage 1. 請求會首先發送到DispatchServlet,這是spring的前置Servlet,它會接收請求並轉發給spring的MVC controller,也就是業務controller 2. D

Spring MVC筆記(四) 訪問靜態頁面

inpu web-inf bean ... 逗號 beans efi back 發送 本例通過<mvc:resources>標簽訪問一個靜態或動態頁面。 首先還是創建一個web工程,並引入相關jar包: 創建控制器類,WebController.java

6.Spring MVC靜態資源訪問

cati 解決 fault 是我 直接 mage 所有 param 進行 在SpringMVC中常用的就是Controller與View。但是我們常常會需要訪問靜態資源,如html,js,css,image等。 默認的訪問的URL都會被DispatcherServlet所攔

MyBatis-Plus 多庫部署方式spring mvc 多庫部署方式

1、實現mybatis-plus的多個數據庫的切換方式      原始碼地址:https://github.com/baomidou/mybatisplus-spring-mvc 2、因為其文件都是相互依賴的,所以修改配置,就是在已有的配置中修改    

spring mvc 請求引數String 轉date

以spring boot為背景 1 實現org.springframework.core.convert.converter.Converter介面生成一個自定義Converter。 public class DateConverter implements Converter&l

簡單讀!spring-mvc請求的來龍去脈

  相信spring-mvc這種被玩壞了的架構理念,大家都爛熟於胸了,不過還是想來扒一扒他的細節。   一個http請求,怎麼樣被 spring 接收,又怎樣做出響應呢? 一般地,我們會配置一個 web.xml,然後開始程式碼之旅。    在 web.xml 中配置 servlet-mapping, 將

spring MVC框架controller間跳轉失效問題

info control 代碼 img nbsp ont response 返回 生效 今天調試時,發現redirect:url 不生效,訪問直接返回這串字符串。忘了找了兩個來小時,才找到正確的原因。 原來是因為我代碼開始用的是@RestController, 用了這個後,

Spring MVC請求流程

Spring MVC  發起請求到前端控制器DispathServlet 前端控制器請求處理器對映器 handerMapping查詢handler 處理器對映器handerMapping像前端控制器返回handler 處理器對映器呼叫處理器介面卡,去執行handler han

spring mvccontroller怎麼接收頁面表單提交的資料

轉自:http://blog.csdn.net/wujiaqi168/article/details/41957187 1、定義一個類,該類的欄位要包含表單中所有input的name對應的值,並且在類中為對應的欄位生成getter 與setter方法 2、在對應的c

Spring MVC請求處理流程及架構

protected void doDispatch(HttpServletRequest request, HttpServletResponse response) throws Exception { HttpServletRequest processedRequest = request; H

Spring MVC攔截器+註解方式實現防止表單重複提交

表單重複提交是在多使用者Web應用中最常見、帶來很多麻煩的一個問題。有很多的應用場景都會遇到重複提交問題,比如: 1.點選提交按鈕兩次。2.點選重新整理按鈕。3.使用瀏覽器後退按鈕重複之前的操作,導致重複提交表單。4.使用瀏覽器歷史記錄重複提交表單。5.瀏覽器重複的HTTP

spring mvc 請求轉發和重定向

請求重定向與請求轉發的比較,HttpServletResponse.sendRedirect方法和RequestDispatcher.forward方法都可以讓瀏覽器獲得另外一個URL所指向的資源,但兩者的內部執行機制有很大的區別。 1.RequestDisp

spring mvccontroller識別同一個form表單的多個submit按鈕問題以及相關處理

          之前只寫過spring mvc的controller處理form表單中一個submit的程式碼,今天遇到了form表單中存在多個submit,然後自己百度了一下,找到了解決方案,不過又出現了其他錯誤,現在來總結一下。 sp

spring mvccontroller使用介紹

SpringMVC是一個基於DispatcherServlet的MVC框架,每一個請求最先訪問的都是DispatcherServlet,DispatcherServlet負責轉發每一個Request請求給相應的Handler,Handler處理以後再返回相應的檢視(View

Spring AOP 對Spring MVCController切面攔截不起作用

1 問題描述 當使用Spring AOP對Controller層的Controller類的方法進行切面攔截,不起作用。AOP配置沒有任何問題。 2 排查過程 Spring AOP配置沒有任何問題;【正常】 斷點除錯:Spring原始碼斷點除錯,在呼叫Controller方法時,Controller的例項被JD

spring MVCcontroller層和service層的junit4測試

import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; import static org.springframework.test.web.servlet.result.MockMvcResul