使用Jsp和Servlet是如何实现MVC模式的?

2025-01-21 12:01:03
推荐回答(2个)
回答1:

我个人最近也在学习这个MVC三层架构原理也遇到了很多的一些疑问,我就把我对MVC模式的认识和你分享下吧,如果说的不对敬请谅解;MVC:M(model层),V(View(界面)层),C(controll(控制器)层);在之前我们在开发的时候比如一个JSP表单请求过来了可能这个表单请求是一个用户名密码登陆验证,直接是在JSP页面中开始写业务逻辑(访问数据的代码),这样呢在界面层和数据库层之间就没有了桥梁,而是直接性的一个线就通过来了,这样界面层的代码将会显示的非常混乱,因为界面层主要是用于显示给用户观看的如果涉及到更多的业务逻辑代码这样效果不好,原因是:因为现在基本上很多公司包括我自己在合肥这家还是比较小的公司里做项目都是前台和后台之分,用不同的人来开发前后台,可能前台都不知道后台写的业务是什么,他只要管理好自己的界面显示就可以了,如果按照上面那种界面层和数据库层直接一个线就来了那么前台在写代码的时候也是相当的麻烦,这个不是重点,但是这个说法也能更明显的来理解,从MVC模式出来了之后,将界面层和业务层之间分开了,而是通过界面层→modle层→数据库层;也就是我们的业务代码单独的放在一个层中用单独定义的类来进行些,被界面层调用,而model层去直接访问数据库然后将结果反映到界面层上去,这样简单的一个MV模式就来了,至于C其实是控制器,它不是完全需要的,只是对于一些大型的请求比如注册产品信息可能字段比较多提交到服务器的数据比较多,这时呢界面层也不是直接的和model层进行打交道,而是界面层先将数据提交给控制器(控制器通常由一个servlet来扮演,因为不需要涉及的界面显示的效果处理的都是提交数据)而后由控制器将数据提交给model层的业务逻辑层,然后又业务层和数据库打交道,不过这些都不是很完全,其实这个model层又分了很多种,比如service(业务层).domain(关系对象映射类).dao(操作数据),还有就是model层和数据库层也不是完全的直接打交道而是通过一个叫ORM框架(对象关系映射文件)的技术去交流,现在ORM框架用的比较火的是hibernate技术,不过这些我不是太懂,只了解这么多,希望对你有帮助;

回答2:


controlServlet
xidian.sl.equipment.Servlet.ControlServlet



AdminLogin

xidian.sl.equipment.action.LoginAction


picListAction
xidian.sl.equipment.action.PicListAction


newListAction
xidian.sl.equipment.action.NewListAction



controlServlet
*.action