考虑一个 Web 应用程序,它具有一些主要功能,例如注册功能、登录功能,以及一旦用户登录,CRUD 操作功能。我的问题是,我是否有多个 servlet 处理每个特定任务,或者我是否将它们全部分组到一个与数据访问对象通信的主控制器 servlet。
我不想使用任何预先存在的框架,并且想学习正确实现此类功能的正确方法。如果有人可以帮助我,将不胜感激。
谢谢。
好吧,控制器的数量取决于您要实现的功能的类型。如果两个或多个特性相似(做相似的工作),那么您可以轻松地将它们组合成一个或两个 servlet。
但是,如果您要实现的功能不同,那么拥有单独的控制器会很好。
以下是为什么为单独和不同的功能使用单独的控制器更好的几个原因:
1.) 您的应用程序将更加模块化
2.) 这些功能的升级和维护将更容易,因为要更改一项功能,您不必降低其他功能(在一个控制器 servlet 中实现所有功能时这是不可能的)
3.) 添加和删除新功能会更容易,因为您不必触摸其他控制器。
4.) 调试和错误查找将更容易,因为每个控制器都有特定的任务,因此调试组件将有效减少。
为您的 Web 应用程序拥有一个入口点可以在一定程度上简化您的生活。这就是为什么我赞成编写一个控制器来接受所有传入的请求。当你有一个入口点而不是多个入口点时,调试代码会更容易。控制器应该简单高效,因为它的工作应该是将请求分派给适当的处理程序(其他类)。
我对您的问题的建议是,如果您有多个操作,那么您可以使用多个控制器,例如,如果它们与用户相关的任务,那么您只能为用户相关的任务创建一个控制器并在该用户控制器中编写方法/请求映射。像这种方式,您可以在单独的控制器中为其他操作创建,这将帮助您简化项目。