Spring-mvc-jdbc知识点小结

1、首先谈谈Spring-mvc

在使用Spring-mvc之前,为一直使用的是struts,关于struts的介绍为前面也曾小结过,所以这里就不多说了。还是来谈谈Spring的mvc吧.

Web开发大家都知道Servlet,和大多数基于Java的MVC框架一样,SpringMVC将所有的请求都经过一个前端Servlet控制器--DispatchServlet.DispatchServlet的工作就是将一个客户端的request请求分发给不同的springMVC控制器(Controller),所谓控制器就是处理请求的spring组件。不管那么多了,既然DispatchServlet是一个前端控制器(Servlet),那么就要在Web.xml配置它才行:

 

配置完DispatchServlet以后,我们就可以用它来控制所有的请求了.所有的以*.do结尾的请求都将会被拦截.下面我们就需要分解应用上下文了。首先在WEB_INF目录下创建一个wiscom-servlet.xml文件,根据上面的配置,DispatchServlet会载入wiscom-servlet.xml.

不过这里最好是将应用文件分解开来,将不同的配置文件对应于不同的应用层次。比如服务层的配置文件可以使用service-servlet.xml..

下面一步就需要配置上下文载入器了,这里我们使用的是Servlet的监听器实现的

 

 

 

到这里spring-mvc的环境基本上已经完成了,下面我们需要思考一个问题,Spring的前端控制器是如何将请求分发到下面不同的Controller中去的以及Controller是如何显示相应的页面的??

带着上面的两个问题,我们继续走下去.创建一个Controller.这里有必要解释一下Controller.当请求到达DispatchServlet时,需要一些目录来指明请求应该被如何分配。此时处理器映射可以帮助DispatchServlet了解请求应该被分发到哪个Controller中。所以我们必须在wiscom-servlet.xml中配置相应的处理器映射(HandleMapping)

 

 

 

这里使用的处理器映射的实现类是SimpleUrlHandleMapping.除此之外还有三种处理器映射类:

BeanNameUrlHandleMapping--根据控制器的名字将控制器映射到URL;

ControllerClassNameHandleMapping--通过将控制器的类名作为URL的基础将控制器映射到URL

CommonsPathMapHandleMapping--使用元数据映射控制器

 

在配置完处理器映射以后我们就可以创建自己的Controller来实现相应的业务了.spring为开发者提供了许多控制器,对于初学者而言会觉得很难选择(包括我自己).但是所有的Controller都实现了同一个接口:

对于那么多种Controller到底该如何选择,这里就不讨论了,根据业务的不同需求而选用合适的Controller。这里主要常用的Controller是AbstractController和SimpleFormController.下面就给出一个简单的实例使用spring-mvc实现用户注册功能:

创建自己的Controller类,继承于SimpleFormController(用于表单提交)

 

 

解释一下:这里为将HandleUserDao直接注入到了Controller中,调用后台类实现用户注册功能.需要提及一下的是这里的ModelAndView对象.这里我们不免产生了疑惑, RegisterController是如何在实习业务功能后跳转到相应的页面中去的?

为了帮助springMVC了解使用哪一个JSP,我们需要在wiscom-servlet.xml中声明一个bean:一个视图解析器

通过视图解析器DispatchServlet将请求导向/WEB-INF/show/xxx.jsp呈现给用户.

 

 

2、使用Spring-jdbc操作数据库:

2.1、使用JDBC模板(JdbcTemplate、NamedParameterTemplate、SimpleJdbcTemplate)

在操作数据库之前我们必须配置数据源

 

 

这里我们使用的是jdbcTemplate类实现JDBC的CRUD操作.

JdbcTemplate是core包的核心类。它替我们完成了资源的创建以及释放工作,从而简化了我们对JDBC的使用。它还可以帮助我们避免一些常见的错误,比如忘记关闭数据库连接。JdbcTemplate将完成JDBC核心处理流程,比如SQL语句的创建、执行,而把SQL语句的生成以及查询结果的提取工作留给我们的应用代码。它可以完成SQL查询、更新以及调用存储过程,可以对ResultSet进行遍历并加以提取。它还可以捕获JDBC异常并将其转换成org.springframework.dao包中定义的,通用的,信息更丰富的异常。

 

上面简单的演示了一下使用jdbcTemplate操作数据库实现模糊查询的功能,这里我们将jdbctTemplate注入到实现类中

 

同样我们使用Spring对jdbc的DAO支持类实现相应的CRUD操作,可以选择继承JdbcDaoSupport类,这里就不再解释了...下班啦~~

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值