
代碼實作
springMVC的配置:
@Configuration
@ComponentScan(basePackages={"com.czxy.demo1.controller"})
public class MVCConfiguration {
/**
* 設定了一個視圖決議器,交給spring管理
* @return
*/
@Bean
public InternalResourceViewResolver getInternalResourceViewResolver(){
InternalResourceViewResolver internalResourceViewResolver = new InternalResourceViewResolver();
//設定前綴
internalResourceViewResolver.setPrefix("/");
//設定后綴
internalResourceViewResolver.setSuffix(".jsp");
return internalResourceViewResolver;
}
}
Demo1Controller:
@RequestMapping("/run5")
public String run5(){
System.out.println("run5");
// return "/demo5.jsp";
//視圖決議器會自動補全為: /demo5.jsp
return "demo5";
}
注意:光理論是不夠的,在此順便送大家十套2020最新JAVA架構專案實戰教程及大廠面試題庫,進我扣裙 :七吧傘吧零而衣零傘 (數字的諧音)轉換下可以找到了,還可以跟老架構師交流
小結:
視圖決議器: 控制器的回傳值會經過視圖決議器,自動補全 前綴和 后綴,
二.實用2:? 繞開視圖決議器
代碼實作
Demo1Controller
@RequestMapping("/run6")
public String run6(){
System.out.println("run6");
//繞開視圖決議器方式一:重定向
// return "redirect:/demo6.html";
//繞開視圖決議器方式二:完整版的請求轉發
return "forward:/demo6.html";
}
小結:
繞開視圖決議器:
重定向: return “redirect:/路徑”;
完整版的請求轉發:return “forward:/路徑”;
三. 知識點:Controller方法回傳值
回傳字串
三種:
使用視圖決議器(請求轉發): return “資源名”;
繞開視圖決議器-請求轉發:return “forward:/路徑”;
繞開視圖決議器-重定向:return “redirect:/路徑”;
回傳ModelAndView(SpringMVC特有)
/*
* 需要跳轉到demo5.jsp上 ModelAndView
* */
@RequestMapping("/run7")
public ModelAndView run7(){
ModelAndView mav = new ModelAndView();
//設定request作用域傳遞引數 相當于request.setAttribute
mav.addObject("uname","煌煌");
//設定跳轉路徑
mav.setViewName("demo5");//使用視圖決議器,請求轉發
// mav.setViewName("forward:/demo5.jsp");//繞開視圖決議器,請求轉發
// mav.setViewName("redirect:/demo5.jsp");//繞開視圖決議器,重定向
return mav;
}
ModelAndView:springMVC專門用來封裝作用域資料,并且跳轉頁面
四.??????? 知識點:@RequestMapping
窄化請求路徑
@RequestMapping放在類名上邊,設定請求前綴
@RequestMapping放在方法名上邊,設定方法對應請求路徑,
完整請求:前綴 + 請求路徑
多路徑映射
/*
* /專案名/d1/run8.action
* /專案名/d1/8run.action
* /專案名/d1/run88.action
* */
@RequestMapping(value = https://www.cnblogs.com/chengxuyuanaa/p/{"/run8","/8run","/run88"})
public String run8(){
System.out.println("run8");
return "index";
}
請求方式限定
默認情況下,不會限定請求方式,get/post或其他方式均可訪問

/*
該方法的請求方式,僅允許POST方式
* */
@RequestMapping(value = https://www.cnblogs.com/chengxuyuanaa/p/{"/run9"},method = {RequestMethod.POST})
public String run9(){
System.out.println("run8");
return "index";
}
今日總結:
視圖決議器:
在控制器執行之后,為控制器補全前綴和后綴,
Controller方法的回傳值:
demo1.jsp
使用視圖決議器:return “demo1”;
繞開視圖決議器:
請求轉發:return “forward:/demo1.jsp”;
重定向:return “redirect:/demo1.jsp”;
ModelAndView:封裝請求資料,跳轉頁面
addObject(); 向request作用域保存鍵值對
setViewName(); 設定跳轉路徑,
@RequestMapping:為方法/類設定訪問路徑,
@RequestMapping(value=https://www.cnblogs.com/chengxuyuanaa/p/{“/run1”,”/1run”})
注意:最后送大家十套2020最新JAVA架構專案實戰教程及大廠面試題庫,進我扣裙 :七吧傘吧零而衣零傘 (數字的諧音)轉換下可以找到了,還可以跟老架構師交流
本文的文字及圖片來源于網路加上自己的想法,僅供學習、交流使用,不具有任何商業用途,著作權歸原作者所有,如有問題請及時聯系我們以作處理,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/190801.html
標籤:Java
下一篇:語言基礎
