( 项目中有两个容器 一个是springmvc 管理controller类的, 第二个是spring容器 管理service dao 工具类的对象的 ,整合就是把这两个容器能够发生关系,,这两个容器本身是父 子关系 spring是父,所以使用时在web.xml文件注册两个容器)
有什么问题欢迎来私信
目标:
对三个框架进行集合运用,了解整合步骤,对容器和对象加深理解
项目实现功能:
1.添加学生
2.查找学生
整合步骤(动力节点王老师的课程学的)
1.在所需要的数据库中,建立使用的表 student
2.新建Maven web项目
3.加入所需要的依赖
4.配置web.xml文件
5.新建包 目录 文件
6.写ssm的三个主要配置文件
7.在相应的包中添加实现功能的代码
代码及思路
一:建立所需的表
注意这里设置的id是自增的
二:新建Maven的model,
从原型中选择webapp,修改自己想要的构建坐标
三: 加入依赖项
包括 spring, mybatis ,spring和mybatis整合, springmvc ,mysql驱动 ,jsp ,servlet , 阿里的连接池 jackson (处理json数据用的)
四:配置web.xml文件
1.注册DispatcherServlet (这是框架提供的Servlet类 叫中央调度器)
目的:1)创建Servlet 接受用户请求
2)创建springmvc的容器 ,后面才能创建Controller对象
2.注册spring的监听器
目的:能够创建spring的容器,才能存放service dao的对象
3.注册字符集过滤器
目的:解决post请求乱码问题
<!--1.注册中央调度器-->
<servlet>
<servlet-name>mywebServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<!-- 更改配置文件的默认位置 -->
<param-name>contextConfigLocation</param-name>
<param-value>classpath:conf/dispatcherServlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<!-- 这里表示tomcat启动时会创建servlet对象 即上面的中心调度器 -->
</servlet>
<servlet-mapping>
<servlet-name>mywebServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!--2.注册spring的监听器-->
<!-- 先声明spring配置文件的位置 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:conf/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextCleanupListener</listener-class>
</listener>
<!--3.注册字符集过滤器 -->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<!-- 过滤器有三个属性 1.encoding字符集 2. -->
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
<init-param>
<param-name>forceRequestEncoding</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>forceResponseEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<!-- 过滤器的映射 表示/*文件拦截过滤 -->
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>