小结之前的入门小程序
通过入门程序理解springmvc的前端控制器、
处理器映射器、处理器适配器和视图解析器的用法
前端控制器:
配置前端控制器内的 url-pattern
<!--
第一种配置方式: *.action 访问以 .action结尾的 由DispatcherServlet进行解析
第二种配置方式:/ , 所有访问的地址 都由DispatcherServlet进行解析,若有图片或者其他的静态文件的解析,需要配置不让DispatcherServlet进行解析
使用这种方式可以实现RESTful风格的url
第三种配置模式: /* , 这样配置不对,使用该配置,最终要转发到一个JSP页面时,仍然会由dispaerServlet解析JSP,不能根据jsp页面找到handler,会报错的
-->
<url-pattern>*.action</url-pattern>
处理器映射器:
非注解的处理器映射器(了解,一般不用)
注解的处理器映射器(掌握,常用)
对标记有
@Controller类中有标识有
@RequestMapping的方法进行映射。在
@RequestMapping("url")里面定义映射的
url
使用注解的映射器不用在xml中配置url和handler的映射关系(简洁明了)
处理器适配器:
非注解的处理器适配器(了解)
注解的处理器适配器(掌握)
注解的处理器适配器是和注解的处理器映射器是配对使用的。不能使用非注解的映射器去进行映射。
<mvc:annotation-driven></mvc:annotation-driven>
该标签可以代替下面的配置:
<!-- 注解映射器 -->
<!--<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>-->
<!-- 注解适配器 -->
<!--<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>-->
实际开发使用该标签
视图解析器:
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--
配置视图解析器的jsp前缀和后缀 在handler内可精简代码
prefix:前缀
suffix:后缀
-->
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp" />
</bean>
这样配置后,在handler内部,即可:
ModelAndView modelAndView = new ModelAndView();
//相当于request中的setAttribute方法,在jsp页面中通过items取到书库
modelAndView.addObject("itemsList",itemsList);
//指定视图
//下面的路径若在视图解析器中若配置了jsp路径的前缀和后缀,即可修改为如下
// modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");
modelAndView.setViewName("/items/itemsList");
return modelAndView;
这样配置,程序中不用指定前缀和后缀
非注解的处理器映射器