首页 > 编程语言 > 详细

对Spring MVC的思考

时间:2016-01-13 07:00:50      阅读:102      评论:0      收藏:0      [点我收藏+]

  最近连续几个项目,都用到Spring MVC,在开发项目的过程中,有着对Spring MVC的思考,在这里就谈一谈我的思考吧。

一、为什么会学习Spring MVC?

  在接触Spring MVC之前,我都是用Servlet+JSP进行编程的,记得当时在做一个网上云打印店的项目,开始时项目规模比较少,但后来发现,随着功能的增多,Servlet类也越来越多,记得当时还没有用到Servlet的注解技术,每新增一个Servlet,都要调整web.xml,这样对多人协作开发,带来了很多的不便。面对着一大堆的Servlet,有没有办法减少他们的数量呢?答案是有的,最原始的方法,当然就是把一个URL请求,通过传一个参数来做标记,如xxx?action=getAllOrder,servlet接收到action参数,再把请求分发到不同的方法。对于这样的请求分发,当时我们自己尝试实现了一下:

             action = request.getParameter("action");
		if(action==null)
		{
			action="myMessages";
		}
		
		if("submitMessage".equals(action))
		{
			submitMessage(request, response);
		}else if("myMessages".equals(action))
		{
			myMessages(request, response);
		}else if("adminMessages".equals(action))
		{
			adminMessages(request, response);
		}else if("userMessages".equals(action))
		{
			userMessages(request, response);
		}else if("viewMessage".equals(action))
		{
			viewMessage(request, response);
		}else  if("allMessages".equals(action))
		{
			allMessages(request, response);
		}else if("markMessage".equals(action)){
			markMessage(request, response);
		}
		                    

  通过对action参数的匹配,去调用不同的方法,这样一来,这个servlet就集合了对Message的操作的逻辑。而这个Servlet,我们也称作Message的控制器。

这样做的好处是,我们可以按照功能,对Servlet进行分类,同一个功能模块的操作,都可以放到一个Servlet类里面了。即:以前URL跟Servlet类进行映射,现在变为URL跟类里面的方法进行映射了。很显然,映射到方法上,项目的架构上没这么臃肿,Servlet类本身充当控制器的角色,其职责功能已经不再是单一功能。然而,在没用框架的情况下,要实现请求的分发,往往要用上if else或者 switch 去实现,代码上不够简洁。而在此时,我们刚好遇到了Spring MVC的诞生,它的思想,跟我们不谋而合,于是便开始了学习Spring MVC之旅。

对Spring MVC的思考

原文:http://www.cnblogs.com/xillkey/p/5126102.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!