以前是怎么做项目的 ?
CoreServlet,起到一个中心处理器作用。所有的请求到服务器,服务器给CoreServlet,在里面处理所有表的增删改查,跳转也在里面做。
以前做部门就是 DepServlet/ds? 每个模块都访问自己的Servlet。
干脆就提出一个核心的CoreServlet,处理所有表的增删改查。这样做项目很困难。
后来改进一下,通过反射机制来一个核心的分发的DispatcherServlet然后让这个去访问其他表,
一个请求过来,先到达DispatcherServlet。其实就相当于CoreServlet,只不过CoreServlet没有访问其他部门的Servlet。
直接在里面写dao,dao掉方法,相当于DispatcherServlet去调其他的Servlet,去调其他的Dao方法。
但是Servlet多以后会有什么问题呢?Servlet是叫做单例模式。单例模式是挺好的。但是CoreServlet里写增删改查的时候, ICategoryDao是写在方法里面,new了个对象。调一个方就法new一个对象,
按道理说,这些方法是重复的,按以前的来说就在上面写个属性就可以了,但是没有这么做。
因为他是单例模式,单例模式写属性的话就会有安全问题,怎么办呢,就要涉及到锁,如果是单例模式的话就非常复杂处理起来,
所有我们写的框架就没有这么多Servlet的原因。
我们能用到的就只有一个核心DispatcherServlet。不用EmpServlet.改成了CoreServlet
它就不叫Servlet了, 因为Servlet是要继承HttpServlet,
但是EmpController他是多例模式。说难听点就是一个普通的java类,
为什么叫Controller,控制。这样在里面写属性,没有所谓的安全性问题,
处理与部门相关的增删改查,而EmpServlet是处理与EmpServlet相关的增删改查