Spring Web MVC 核心元件第一種方法
阿新 • • 發佈:2018-11-09
Spring Web MVC 核心元件
Spring Web MVC提供了M、V和C相關的主要實現元件,具體如下:
DispatcherServlet(控制器,請求入口)
HandlerMapping(控制器,請求派發)
Controller(控制器,請求處理流程)
ModelAndView(模型,封裝業務處理結果和檢視)
ViewResolver(檢視,檢視顯示處理器)
通過以上配置,所有從前端傳送過來的請求,都將交給DispatherServlet處理。關於SpringMVC中一次完整的請求過程請看下邊:
瀏覽器向Spring傳送請求,請求交給前端控制器DispatcherServlet處理。
1.在WEB-INF配置Web.xml檔案。
<!-- 配置DispatcherServlet --> <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:spring-*.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
2、控制器通過HandlerMapping找到相應的Controller元件處理請求。
<!-- 定義請求處理影視 HandlerMapping --> <bean id="handlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/demo/hello.do">helloController</prop> </props> </property> </bean> <!-- 宣告Controller --> <bean id="helloController" class="com.zhiyou.entity.HelloController"/> <!-- 定義檢視解析器ViewResovler --> <bean id="viewResovler" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/"/> <property name="suffix" value=".jsp"/> </bean>
3、執行Controller元件約定方法處理請求,在約定方法呼叫模型元件完成業務邏輯處理。約定方法可以返回一個ModelAndView物件,封裝了處理結果資料和檢視名稱資訊。
控制器接收到ModelandView之後,呼叫ViewResolver元件,定位View(JSP)並傳遞資料資訊,生成相應的介面資訊
@Controller
// 宣告bean 實現implement
//一級請求
@RequestMapping("/demo")
public class DemoController {
// 二級請求 進入這個方法
@RequestMapping ("/day01.do")
public ModelAndView execute() {
return new ModelAndView("jsp/demo");
}
// 三級請求
@RequestMapping("/hello.do")
public ModelAndView execute1() {
return new ModelAndView("jsp/demo1");
}
}
4.在WEB-INF下建Jsp資料夾,建hello.jsp
在裡面隨意輸入程式碼:
<h1>hello,SpringMVC</h1>
5、執行專案即可