发表于: 2018-09-10 22:35:45
2 450
今天完成的事情:
springmvc中的过滤器与拦截器
过滤器:过滤器配置在DispatcherServlet里面(web.xml文件里面):主要作用。。。。。(现在只知道保证不乱码),看下面图:


具体在springmvc的哪个位置看图:
上面的图可以看到过滤器所在的位置,他的作用根据他的位置发挥想象吧。(上面还可以看到有一个拦截器)
拦截器:所在的位置在上图所在,概念:spring提供的一个特殊的组件,当DispatcherServlet收到请求之后,如果有拦截器,会会先调用拦截器,然后调用相应的处理器。
注:过滤器属于servelt规范,而拦截器属于spring框架(相当于国标跟公司的内标)
怎样写一个拦截器:
1.写一个java类,实现 handlerInterceptor接口。


2.实现具体的拦截处理逻辑,比如session验证。


3.配置拦截器:当然你写了拦截器后,就必须告诉spring,不然的话它不知道啊(在springxml文件中配置)


异常处理:两种方法(应该是三种,还有一种try catch):
springmvc异常处理:可以将异常抛给spring,由spring来处理这些异常;
具体两种方式:
1.使用简单异常处理器:在spring配置文件中配置(等下整理,配置在下面)
编写异常处理页面。(这种方式处理异常适合全局处理简单异常,没有逻辑,只给用户一个提示,一般是系统异常。)在springxml文件中。
2使用ExceptionHandler注解:在处理器类中,添加一个异常处理方法,该方法必须使用@ExceptionHandler修饰。
注:在该方法里面,依据异常类型,分别进行不同的处理。
添加异常处理页面

mybatis


mybatis框架的执行流程:SqlSessionFactory读取SqlMapConfig.xm文件(里面包含mapper映射文件),然后依据配置文件创建多个statement的对象(有多少sql就创建多少,把它加载到方法区吧)
,然后创建SqlSession对象,传入sqlid和参数到Sqlsession,Sqlsession依据sqlid找到对应的statement(里面是一个hashMap散列表,key是sqlid,value是sql语句),statement执行sql语句返回相应的实体对象(mybatis会将查询结果封装到一个Map对象里面(以字段名作为key,以字段值作为value),然后再将Map对象中的数据添加到实体对象里面。)。
编程步骤:(很少用一般是spring框架集成的mybatis框架)


映射器:最主要的作用是不用写dao层的实现类了, 其实他就是一个符合映射文件的接口(以前先是写接口然后再写实现类的,现在是把接口当成映射器,不用写实现类。)
注:下面是映射器的要求


评论