您的位置:首页 > 编程语言 > Java开发

基于配置的springmvc流程分析

2016-07-09 14:21 357 查看
当用户发起请求时,根据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-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</pre>DispatcherServlet 根据加载的配置文件查找HandlerMapping(控制器映射器),根据控制器映射器的映射规则查找到相应的控制器,注意的是编写相应的控制器需要纳入spring的管理。配置如下:<pre name="code" class="html"><!-- test控制器被纳入到spring的管理中 -->
<bean id="test" class="com.springmvc.controller.test"></bean>
<!-- 控制器映射器根据URL的规则把URL映射到相应的控制器即test控制器 -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="test.do">test</prop>
</props>
</property>
</bean>
到test控制器中,调用业务方法处理业务,返回ModelAndView类,即模型和视图,模型封装数据,视图返回的为逻辑视图名,
public class test implements Controller{

public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {

System.out.println("Controller Work");

return new ModelAndView("test");
}

}

本例就简单的打印和返回了一个名为test的逻辑视图。在由相应的视图解析器把逻辑视图视图转为相应的物理视图。

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/view/" />
<property name="suffix" value=".jsp"></property>
</bean>根据解析器返回的视图为/WEB-INF/view 下的test.jsp。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring mvc