Servlet是如何实现MVC的
Servlet是一种服务器端的编程语言,是J2EE中比较关键的组成部分,Servlet技术的推出,扩展了Java语言在服务器端开发的功能,巩固了Java语言在服务器端开发中的地位,而且现在使用非常广泛的JSP技术也是基于Servlet的原理.
JSP+JavaBeans+Servlet成为实现MVC模式的一种有效的选择。

如果我们要实现一个对用户的增删改查,并且要求符合对扩展开发,对修改关闭的原则,该怎么做呢?
首先,这是我们的类图以及类与类之间调用的时序图。


根据UML图来实现代码:
TestServlet类
String path = "/servlet/delUser"; // 根据截取的URL请求,到Map中取得本次请求对应的Action ActionMapping actionMapping =(ActionMapping)map.get(path); //取得本次请求对应的Action类的完整路径 String type = actionMapping.getType(); //com.bjpowernode.servlet.DelUserAction // 采用反射动态实例化Action Action action = (Action)class.forName(type).newInstance(); //动态待用Action中的execute方法 String forward = action.execute(request.response); //根据路径完成转向 request.getRequestDispatcher(forward).forward(request, response);
这样,我们基本就是实现了对扩展开发,对修改封闭的原则,但是,这仅仅是一个功能我们就需要做这么多事情,写这么多代码,对程序员来说这是一项不小的工作量,那么我们有没有其他的办法让我们的工作量小一点呢?