1. 程式人生 > 其它 >SpringMVC 五大元件

SpringMVC 五大元件

  • DispatcherServlet
  • HandleMapping
  • Controller
  • ModeAndView
  • ViewResolver

1.DispatcherServlet

這個控制元件是SpringMVC 最核心的一個控制元件,顧名思義其實他就是一個Servlet,是Spring寫好的一個Servlet

2.HandleMapping

控制元件標明瞭路徑與Controller的對應關係,不同的路徑訪問不同的Controller

3. Controller

用來處理業務邏輯的Java類

4. ModeAndView

Mode用來繫結處理後所得的資料,View檢視名

5. ViewResolver

檢視解析器明確了檢視名與檢視物件的關係,是呼叫demo.jsp還是呼叫demo.html,以及明確檢視的位置

DispatcherServlet屬於servlet所以位於Tomcat等伺服器容器中,而、HandleMapping ViewResolver 屬於Spring所以位於SpringMVC配置檔案中,Contrlloer以及ModeView位於src檔案中處理具體邏輯業務

配置DispatcherServlet

DispatcherServlet屬於Servlet所以配置在web.xml檔案中。init-param為該Servlet啟動所需引數。DispatcherServlet會讀取初始化contextConfigLocation引數裡面的值從而獲取spring的配置位置,然後自啟動容器

<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:springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!--配置請求路徑-->
<servlet-mapping>
<servlet-name>springMvc</servlet-name>
<url-pattern>*.form</url-pattern>
</servlet-mapping>

2. HandleMapping

mvc:annotation-driven 配置mvc註解掃描 可以用註解@RequestMapping(“url”)加在方法上簡化配置prop標明路徑和XXController的關係

<!--開啟mvc註解掃描-->
<mvc:annotation-driven/>
<!--建立Controllerbean-->
<beanid="loginController"class="包名+類名"/>

<beanclass="org.springframework.web.servlrt.handler.SimpleUrlHandlerMapping">
<propertyname="mappings">
<props>
<propkey="/login.form">loginController</prop>
</props>
</property>
</bean>

3.Controller

@Controller
publicclassDataController{
@RequestMapping("getData.form")
publicModeAndViewhello(StringstationId){
System.out.println("hello");
returnnewModeAndView("hello")
}
}

4. ModeAndView

ModeAndView(StringviewName)
ModeAndView(StringviewName,Mapdata)

5. ViewResolver

<!--配置檢視解析器-->
<beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver">
<propertyname="prefix"value="/WEB-INF/"/>
<propertyname="suffix"value=".html"></property>
</bean>