关于springmvc杂七杂八看了许多,这次好好总结一下。
客户请求首先到 spring的 dispatcherservlet,也就是spring的前端控制器,通过web.xml配置
配置前端控制的名称,配置文件xml路径,以及拦截的URL地址规则
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- contextConfigLocation不是必须的, 如果不配置contextConfigLocation, springmvc的配置文件默认在:WEB-INF/servlet的name+"-servlet.xml" -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:config/springmvc-servlet.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配置文件里 启用注解,自动扫描@Controller注解的jar包,
<!-- 自动扫描controller包下的所有类,使其认为spring mvc的控制器 -->
<context:component-scan base-package="com.therp.controller" />
<!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->
<mvc:annotation-driven />controller可以有多个,当接受到用户URL请求,根据控制器的@RequstMapping("/urla") 选择合适的控制器。 @RequstMapping也即完成了处理器映射功能
一般controller里尽量减少逻辑处理工作,交由service处理。 service内实现业务逻辑,同DAO打交道获取数据。
完成后controller返回一个modelandview。 model相当于数据,可通过getattribu在jsp页面内获取。返回的视图通过springmvc配置文件进行解析,定位到合适的页面
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean> springmvc有对应的 interface ViewResolver View,可以直接编写实现,不过一般直接xml配置即可。可以调用其他viewresolver解析成freemaker bean的其他资源
基本概念到此为止,后面是进阶部分,到时候随着代码一起学吧。
本文详细介绍了SpringMVC的工作流程,从DispatcherServlet的作用开始,深入探讨了配置文件的设置方式、Controller的扫描与自动注册机制、处理器映射原理及视图解析器的配置方法。
1075

被折叠的 条评论
为什么被折叠?



