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>