1. 程式人生 > 實用技巧 >springmvc執行原理

springmvc執行原理

1.確定 maven lib 匯入正確

2.配置web.xml , 註冊DispatcherServlet


<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
        version="4.0">

   <!--1.註冊DispatcherServlet-->
   <servlet>
       <servlet-name>springmvc</servlet-name>
       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
       <!--關聯一個springmvc的配置檔案:【servlet-name】-servlet.xml-->
       <init-param>
           <param-name>contextConfigLocation</param-name>
           <param-value>classpath:springmvc-servlet.xml</param-value>
       </init-param>
       <!--啟動級別-1  和伺服器一起啟動-->
       <load-on-startup>1</load-on-startup>
   </servlet>

   <!--/ 匹配所有的請求;(不包括.jsp)-->
   <!--/* 匹配所有的請求;(包括.jsp)-->
   <servlet-mapping>
       <servlet-name>springmvc</servlet-name>
       <url-pattern>/</url-pattern>
   </servlet-mapping>

</web-app>
```java
##3.編寫SpringMVC 的 配置檔案!名稱:springmvc-servlet.xml  : [servletname]-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">

</beans>

4.、新增

處理對映器  檢視解析器
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
處理器介面卡 
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
<!--檢視解析器:DispatcherServlet給他的ModelAndView-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
   <!--字首-->
   <property name="prefix" value="/WEB-INF/jsp/"/>
   <!--字尾-->
   <property name="suffix" value=".jsp"/>
</bean>

實現Controller介面 註釋也能實現

public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
       //ModelAndView 模型和檢視
       ModelAndView mv = new ModelAndView();

       //封裝物件,放在ModelAndView中。Model
       mv.addObject("msg","HelloSpringMVC!");
       //封裝要跳轉的檢視,放在ModelAndView中
       mv.setViewName("hello"); //: /WEB-INF/jsp/hello.jsp
       return mv;
  }

將自己的類交給SpringIOC容器,註冊bean

<!--Handler-->
<bean id="/hello" class="com.kuang.controller.HelloController"/>

寫要跳轉的jsp頁面,顯示ModelandView存放的資料,以及我們的正常頁面;

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
   <title>Kuangshen</title>
</head>
<body>
${msg}
</body>