博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
搭建ssm框架项目基本原理和主要的配置文件小结
阅读量:6118 次
发布时间:2019-06-21

本文共 5997 字,大约阅读时间需要 19 分钟。

原文地址:https://blog.csdn.net/baidu_32739019/article/details/73928040

1.springmvc是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合。springmvc是一个基于mvc的web框架。

mvc的思想大家已经很熟悉了,简称“Model-View-Controller”。

下面先简单介绍下我对spring-mvc的理解。

上面这张图大概说明了springmvc的运行过程,看起来可能有点云里雾里的,总结起来就是下面这些:

  1. 客户端发起请求到前端控制器(DispatcherServlet).

  2. 前端控制器请求HandlerMappering 查找Handler,可以根据xml配置、注解进行查找。

  3. DispatcherServlet将请求提交到Controller;

  4. Controller调用业务逻辑处理后,返回ModelAndView;

  5. DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图;

  6. 视图负责将结果显示到客户端。

这里稍微解释下常用的几个组件名称和作用。

  • 前端控制器(DispatcherServlet):用于接收请求,响应结果

  • 处理器映射器(HandlerMapping):根据请求的url查找Handler(三大核心组件之一)

  • 处理器适配器(HandlerAdapter):按照特定的规则去执行Handler(三大核心组件之一)

  • 处理器(Handler):编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler

  • 视图解析器(View resolver):进行视图解析(三大核心组件之一)

  • 视图(View):包括jsp、pdf等

    在了解了上面的基础原理后下面来讲下几个主要的配置文件。项目开发前所需要的jar包提前要导入项目工程里面去。

 

有几个主要的配置文件,先了解下每个配置文件的作用。

1. web.xml:当服务启动时首先会去加载web.xml这个资源文件,里面包括了对前端控制器乱码问题等配置。

2.applicatonContext.xml : 一般配置数据源,事务注解 ,指定SqlMapConfig.xml等。

在这里我使用的是applicatonContext-*.xml的形式将DAO层、Service层、Transaction层分开配置,这样便于管理

分别为applicatonContext-dao.xml、applicatonContext-service.xml、applicatonContext-transaction.xml

分开配置时,需要在web.xml中配置上下文位置。

3.springmvc.xml: 里面配置的是控制层的 ,如视图解析器静态资源 mvc 文件上传拦截器等。

4.SqlMapConfig.xml: 该配置文件为MyBatis的配置文件,里面无需配置,一切交给spring管理,但是xml文件基础配置要有。

 

以下是配置文件代码:

web.xml:处理配置applicationContext的位置,和前端控制器,前端控制器里面需要配置springMvc.xml。

ssm_boot_crm
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
contextConfigLocation
classpath:applicationContext-*.xml
org.springframework.web.context.ContextLoaderListener
encoding
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
encoding
*.action
crm
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springmvc.xml
1
crm
*.action

applicationContext-dao.xml: 这个是Dao层,配置数据库,mybatis的sqlsessionFactory,

applicationContext-service.xml:配置扫描@Service

applicationContext-transaction.xml:专门配置数据库的事务管理

springmvc.xml:专门用来配置前端控制器的,配置@Controller注解,视图解析器拦截什么文件

注意:mvc:annotation-driven,之前一直不理解这句话的意思:

用来注解驱动:配置处理器映射器和适配器,也就是:HandlerMapping和HandlerAdapter

SqlMapConfig.xml(由于这个SqlMapConfig.xml的原文是弄错了,这里放上一共自己的实例吧)

id, user_name, password, age
delete from user_t where id = #{id,jdbcType=INTEGER}
insert into user_t (id, user_name, password, age) values (#{id,jdbcType=INTEGER}, #{userName,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{age,jdbcType=INTEGER})
insert into user_t
id,
user_name,
password,
age,
#{id,jdbcType=INTEGER},
#{userName,jdbcType=VARCHAR},
#{password,jdbcType=VARCHAR},
#{age,jdbcType=INTEGER},
update user_t
user_name = #{userName,jdbcType=VARCHAR},
password = #{password,jdbcType=VARCHAR},
age = #{age,jdbcType=INTEGER},
where id = #{id,jdbcType=INTEGER}
update user_t set user_name = #{userName,jdbcType=VARCHAR}, password = #{password,jdbcType=VARCHAR}, age = #{age,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER}

db.properties

jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/crm?characterEncoding=utf-8jdbc.username=rootjdbc.password=root

以上就是主要的配置文件的配置,特别注意的是在web.xml中默认加载的资源文件再WEB_INF目录下,如果的你xml不在的话就要写清楚的文件路径,例如写在src目录下面就要写classpath,之前开发过程中忽略了这一点,所以启动一直报错找不到资源文件。

你可能感兴趣的文章
JPA(5)使用二级缓存
查看>>
ExecutorService invokeAll 实例(转)
查看>>
JavaScript-闭包深入浅出
查看>>
在设计模式关系类
查看>>
涉及技术
查看>>
ROS ZYNQ移植
查看>>
比較两个 List 的值是否相等
查看>>
【转】一个不错的eclipse反编译插件
查看>>
Android清理内存
查看>>
android:ProgressDialog控件
查看>>
jquery源码分析
查看>>
基本图形生成算法
查看>>
sizeof()和lstrlen()和strlen()区别
查看>>
.NET MVC自定义错误处理页面的方法
查看>>
多线程设计模式(三):Master-Worker模式
查看>>
Could not launch process failed:security
查看>>
ZooKeeper 会话超时
查看>>
I.MX6 bq27441 driver porting
查看>>
Ubuntu14.04 LTS更新源
查看>>
Nginx 因 Selinux 服务导致无法远程訪问
查看>>