前言:
今天兄弟们对“整合ssm框架常见的问题”大致比较珍视,我们都需要了解一些“整合ssm框架常见的问题”的相关内容。那么小编同时在网上汇集了一些有关“整合ssm框架常见的问题””的相关知识,希望你们能喜欢,你们快快来了解一下吧!一、SpringMVC的异常处理
1.1 异常处理的思路:
系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息, 后者主要通过规范代码开发、测试通过手段减少运行时异常的发生。
系统的 dao、service、controller 出现都通过 throws Exception 向上抛出,最后由 springmvc 前端 控制器交由异常处理器进行异常处理,如下图:
1.2实现步骤
1.2.1 编写异常类和错误页面
自定义异常类:
jsp 页面:
1.2.2 自定义异常处理器
1.2.3 配置异常处理器
二、SpringMVC 中的拦截器
2.1 拦截器的作用
Spring MVC 的处理器拦截器类似于 Servlet 开发中的过滤器 Filter,用于对处理器进行预处理和后处理。
用户可以自己定义一些拦截器来实现特定的功能。
谈到拦截器,还要向大家提一个词——拦截器链(Interceptor Chain)。拦截器链就是将拦截器按一定的顺 序联结成一条链。在访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用。
拦截器和过滤器的区别:
过滤器是 servlet 规范中的一部分,任何 java web 工程都可以使用。
拦截器是SpringMVC框架自己的,只有使用了SpringMVC框架的工程才能用。
过滤器在 url-pattern 中配置了/*之后,可以对所有要访问的资源拦截。
拦截器它是只会拦截访问的控制器方法,如果访问的是 jsp,html,css,image 或者 js 是不会进行拦截的。
它也是 AOP 思想的具体应用。 我们要想自定义拦截器, 要求必须实现:HandlerInterceptor 接口。
2.2 自定义拦截器的步骤:
2.2.1 第一步:编写一个普通类实现 HandlerInterceptor 接口
2.2.2 第二步: 在springmvc.xml中配置拦截器
2.3 拦截器的细节
2.3.1 拦截器的放行
放行的含义是指,如果有下一个拦截器就执行下一个,如果该拦截器处于拦截器链的最后一个,则执行控制器中的方法。
2.3.2 拦截器中方法的说明
2.3.3 拦截器的作用路径
2.4 拦截器的简单案例(验证用户是否登录)
2.4.1 实现思路:
1、有一个登录页面,需要写一个 controller 访问页面
2、登录页面有一提交表单的动作。需要在 controller 中处理。
2.1、判断用户名密码是否正确
2.2、如果正确 向 session 中写入用户信息
2.3、返回登录成功。
3、拦截用户请求,判断用户是否登录
3.1、如果用户已经登录。放行
3.2、如果用户未登录,跳转到登录页面
2.4.2 拦截器代码
三、SSM 整合
3.1 SSM整合图解:
3.2 环境准备
3.2.1 创建数据库和表结构
3.2.2 创建 Maven 工程
1. 创建ssm_parent父工程(打包方式选择pom,必须的)
2. 创建ssm_web子模块(打包方式是war包)
3. 创建ssm_service子模块(打包方式是jar包)
4. 创建ssm_dao子模块(打包方式是jar包)
5. 创建ssm_domain子模块(打包方式是jar包)
6. web依赖于service,service依赖于dao,dao依赖于domain
7. 在ssm_parent的pom.xml文件中引入坐标依赖
8. 部署ssm_web的项目,只要把ssm_web项目加入到tomcat服务器中即可
3.2.3 编写实体类
3.2.4 编写业务层接口
3.2.5 编写持久层接口
3.3 整合步骤
3.3.1 保证 Spring 框架在 web 工程中独立运行
3.3.1.1 第一步:编写 spring 配置文件并导入约束
3.3.1.2 第二步:使用注解配置业务层和持久层
3.3.1.3 第三步:测试 spring 能否独立运行
3.3.2 保证 SpringMVC 在 web 工程中独立运行
3.3.2.1 第一步:在 web.xml 中配置核心控制器(DispatcherServlet)
在web.xml中配置DispatcherServlet过滤器解决中文乱码
3.3.2.2 第二步:编写 SpringMVC 的配置文件
3.3.2.3 第三步:编写 Controller 和 jsp 页面
3.3.3 整合 Spring 和 SpringMVC
3.3.3.1 目的:在controller中能成功的调用service对象中的方法。
3.3.3.2 在项目启动的时候,就去加载applicationContext.xml的配置文件,在web.xml中配置 ContextLoaderListener监听器(该监听器只能加载WEB-INF目录下的applicationContext.xml的配置文件)
3.3.3.3 在controller中注入service对象,调用service对象的方法进行测试
3.3.4 保证 MyBatis 框架在 web 工程中独立运行
3.3.4.1 第一步: 在web项目中编写SqlMapConfig.xml的配置文件
3.3.4.2 第二步:在AccountDao接口的方法上添加注解,编写SQL语句
3.3.4.3 编写测试的方法
3.3.5 整合 Spring 和 MyBatis
3.3.5.1 第一步:把SqlMapConfig.xml配置文件中的内容配置到applicationContext.xml配置文件中
3.3.5.2 第二步:在AccountDao接口中添加@Repository注解
3.3.5.3 第三步:在service中注入dao对象,进行测试
3.3.5.4 第四步: 配置Spring的声明式事务管理
标签: #整合ssm框架常见的问题