http://blog.csdn.net/yerenyuan_pku/article/details/72721120

上文我们一起学习了Service层的整合,本文将教大家如何整合表现层。 
我们在taotao-manager-web工程的src/main/resource目录下新建一个spring文件夹,在该目录下新建一个springmvc.xml文件,如下图所示。 
 
springmvc.xml文件的内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd"> <context:component-scan base-package="com.taotao.controller" /> <mvc:annotation-driven /> <bean> class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean> </beans>
  • 1
  • 2

从上可以看到我们springmvc.xml文件中配置的扫描包是com.taotao.controller,因此我们需要创建这么一个目录,并且从视图解析器的配置中可以看出,我们还要在WEB-INF目录下新建一个jsp目录,如下图所示。 
 
下面我们需要在taotao-manager-web工程下的web.xml文件中配置一下编码和前端控制器,web.xml文件的配置内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>taotao-manager-web</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- 解决post乱码 --> <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- springmvc的前端控制器 --> <servlet> <servlet-name>taotao-manager</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:spring/springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>taotao-manager</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
  • 1

其中前端控制器配置中<load-on-startup>1</load-on-startup>这句话的意思是tomcat启动之后便加载DispatcherServlet,如果不配置的话,需要等请求访问的时候才会加载DispatcherServlet。另外可以看到,我们并没有配置父容器(ContextLoaderListener),这是因为我们在taotao-manager工程中已经配置过了,而且配置了Dao和Service。因此我们表现层不需要再配置一遍父容器了。 
说到这里,我们一般会对父子容器(同一个工程下)比较感兴趣,想知道是怎么回事,请看下面这张图。Spring父容器一般配置的是Dao层和Service层,而Spring子容器一般配置的是Controller层,父子容器的访问关系是,子容器可以访问父容器中的对象,但是父容器无法访问子容器中的对象,比如Controller可以把Dao和Service注入进来,但是Dao和Service无法把Controller注进来。 

我们在service配置扫描包的时候配置的扫描范围是”com.taotao.service”,如果我们配置成com.taotao,那么就会把com.taotao.controller也扫描到父容器中,这样父子容器中就都有Controller层了,但是在父容器中扫进来Controller是没有用的,我们在表现层访问的时候,访问的还是子容器的Controller。同理,如果把子容器的扫描范围扩大,变为com.taotao,那么它便会把Dao和Service也扫描到子容器当中,这样当我们访问表现层的时候,访问的便是子容器中的Dao和Service,子容器中的Dao和Service是没有事务的,但是父容器中的Dao和Service是有事务的,这样就会导致虽然我们在父容器中配置了事务,但由于子容器扫描范围太大,而导致访问子容器中的Dao和Service没有事务的问题。 

由于子容器可以直接访问父容器中的对象,因此我们在子容器中不用配置Dao和Service便可以直接使用它们。子容器其实也可以完全当父容器使用,之所以搞出父子容器,是为了让父容器有更好的扩展性,子容器只需要消费父容器就可以了。

转载于:https://www.cnblogs.com/telwanggs/p/6934045.html

(转)淘淘商城系列——SSM框架整合之表现层整合相关推荐

  1. (转)淘淘商城系列——SSM框架整合之Dao层整合

    http://blog.csdn.net/yerenyuan_pku/article/details/72721093 一个项目中往往有三层即Dao层.Service层和Web层,看标题就知道了,本文 ...

  2. (转)淘淘商城系列——SSM框架整合之逆向工程

    http://blog.csdn.net/yerenyuan_pku/article/details/72758590 我们知道在开发中有些工作是非常耗时但是又没有什么技术含量的,比如创建mapper ...

  3. (转)淘淘商城系列——SSM框架整合之Service层整合

    http://blog.csdn.net/yerenyuan_pku/article/details/72721108 上文我们一起学习了Dao层的整合,本文将教大家如何整合Service层.  我们 ...

  4. 基于java的服装商城平台SSM框架

    实现一个基于SSM框架的服装商城平台的的设计与开发.实现用户从浏览服装,搜索服装,加入购物车,下订单,评论服装一整个购物流程的功能,系统采用了jsp的mvc框架,SSM(springMvc+sprin ...

  5. SSM框架中MVC各层的作用以及运行流程

    这篇博文主要介绍的是SSM(Spring.SpringMVC.Mybatis)框架中,MVC各层的作用以及各层之间的交互和框架整体运行流程. 一.MVC各层级间的作用及关系 表现层(springMVC ...

  6. SSM框架Spring+SpringMVC+MyBatis——详细整合教程

    2019独角兽企业重金招聘Python工程师标准>>> 摘要: 包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了几乎所有的JDBC代码和参 ...

  7. SSM分布式项目之淘淘商城-第二天(IDEA)

    文章大纲 一.第二天课程计划 二.功能分析 三.Dubbo 四.框架整合 五.dubbo配置测试 六.商品列表查询 七.Dubbo监控中心 八.参考文章 淘淘商城课程大纲 课程大纲 一共14天课程 ( ...

  8. 黑马淘淘商城第十二天 购物车实现、订单确认页面展示

    1. 课程计划 第十二天: 1.购物车实现 2.订单确认页面展示 2. 购物车的实现 2.1. 功能分析 1.购物车是一个独立的表现层工程. 2.添加购物车不要求登录.可以指定购买商品的数量. 3.展 ...

  9. 帮忙写基于SSM框架的购物商城管理系统

    SSM(Spring+SpringMVC+MyBatis)框架集由Spring.MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容).常作为数据源较简单的web项目的框架 ...

  10. 大数据WEB阶段 Maven与SSM框架整合

    Maven整合SSM框架 零. 目录 Maven整合SSM 常见的问题 以及一些优化 一. Maven整合SSM 创建webapp工程 修改jdk和编译器 配置pom.xml文件 并在pom.xml文 ...

最新文章

  1. 关键数据保险箱,AD RMS服务器部署指南
  2. 查看linux版本信息
  3. 自定义log4j2配置文件地址
  4. 作业调度算法--短作业优先 操作系统_处理器管理_编程题
  5. bzoj 3343 教主的魔法 分块
  6. XKC's basketball team(2019徐州站网络赛E线段树)
  7. 计算机过程控制系统教材,过程控制系统-样章试读.PDF
  8. HTC公布多款Android新机系统内核源代码
  9. 通过vmstat命令判断服务器瓶颈
  10. Memcached FAQ(2) 集群架构方面的问题
  11. 分布式 id 生成系统 滴滴 Tinyid 快速入门
  12. python 车牌识别训练模型_使用Python基于HyperLPR/Mask-RCNN的中文车牌识别
  13. uni-app配置代理
  14. Node.js 实现远程桌面监控
  15. 利用xiaopiu做产品原型输出与交互设计
  16. python写excel,请大表哥喝杯茶
  17. 护照阅读器助力港珠澳大桥拓展大湾区
  18. 如何用网页脚本追踪用户
  19. PL/SQL程序基础2
  20. 芯片资料中的pad,pin,bump

热门文章

  1. IDEA 打包docker镜像详解
  2. 安卓熄屏录像_最屌免费安卓Android屏幕录像软件 (免ROOT)
  3. 解决SecureCRT信号灯超时
  4. RGB颜色 取色器/拾色器 颜色混搭
  5. windows反馈中心服务器,Windows 管理中心入门
  6. TCPUDP调试工具 Linux 版
  7. 金蝶基础资料中物料信息中的计价方法详细解释!小白不能让客户虎住,多多了解
  8. linux 执行play war,centos下执行war包
  9. imhist()函数使用
  10. mysql 拼音排序_mysql汉字字段按拼音排序的方法