JdbcTemplate和Spring MVC执行过程

发布于 2021-08-31  51 次阅读


JdbcTemplate

  • JdbcTemplate是Spring对JDBC的封装,目的是使JDBC更加易于使用,JdbcTemplate类通过模板设计模式帮助我们消除了冗长的代码,只做需要做的事情(即可变部分),并且帮我们做哪些固定部分,如连接的创建及关闭。
  • 增删改操作不用返回结果集,所以可以抽取成一个方法update(),公司框架传入的形参是update(String sql,Object arg1),Spring当中是update(String sql, Object… args)。
  • 批量增加、删除、更新数据调用batchUpdate()方法。批量操作比for循环单次操作效率高。
  • 查询操作调用query()方法因为查询有返回结果集,所以需要传入domain.class。


SpringMVC的执行流程

  • 1.用户向服务器发送请求,请求被SpringMVC 前端控制器 DispatcherServlet捕获。
  • 2.DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI),判断请求URI对应的映射。
  • 3.如果DispatcherServlet没找到对应的映射则交给DefaultServlet处理,都没找到会展示404。
  • 4.开始执行拦截器的preHandler(…)方法(正向)。
  • 5.开始执行Controller方法。
  • 6.异常处理器(项目中没找到配置)。
  • 7.开始执行拦截器的postHandle(…)方法(逆向 )。
  • 8.渲染视图完毕执行拦截器的afterCompletion(…)方法(逆向)。

因为在项目中的web.xml中将前端控制器DispatcherServlet的映射请求设置为“/”,所以需要添加 标签用来相应静态文件。
Tomcat容器的web.xml中有一个DefaultServlet(用于处理静态资源),映射路径是"/",项目中的web.xml最终相当于会与容器的web.xml合并,而项目DispatchServlet一般也是使用"/",导致容器中的DefaultServlet被覆盖,从而静态资源请求也会被发送到SpringMVC,SpringMVC会去找这个路径的映射器(相当于对应的Controller,这是找不到的),配置这个,就是在SpringMVC找不到映射路径后,再将其转给Tomcat的DefaultServlet这是就可以Tomcat就可以正确解析静态资源路径。