Notice: Undefined index: in /data/phpspider/phplib/misc.function.php on line 226
Java 处理单页web应用程序设计的单个servlet_Java_Jsp_Jakarta Ee_Servlets_Web Applications - Fatal编程技术网

Java 处理单页web应用程序设计的单个servlet

Java 处理单页web应用程序设计的单个servlet,java,jsp,jakarta-ee,servlets,web-applications,Java,Jsp,Jakarta Ee,Servlets,Web Applications,我有一个单页web应用程序,设计成使用普通Jsp/Servlet的桌面应用程序。在后端,我有一个servlet,它为单个web页面上发生的各种动作传递动作参数。90%的请求是ajax。当功能在单个网页上增长时,在单个servlet下将存在更多的操作。现在我的问题是 使用单个servlet管理大量操作是一个好的设计吗?更好的设计是什么 使用单个servlet与使用多个servlet相比,性能优势是什么 当servlet代码增长时,它是否会在某一点上变得不可管理 由于公司政策的原因,我不能使用s

我有一个单页web应用程序,设计成使用普通Jsp/Servlet的桌面应用程序。在后端,我有一个servlet,它为单个web页面上发生的各种动作传递动作参数。90%的请求是ajax。当功能在单个网页上增长时,在单个servlet下将存在更多的操作。现在我的问题是

  • 使用单个servlet管理大量操作是一个好的设计吗?更好的设计是什么

  • 使用单个servlet与使用多个servlet相比,性能优势是什么

  • 当servlet代码增长时,它是否会在某一点上变得不可管理

由于公司政策的原因,我不能使用spring mvc

使用单个servlet管理大量操作是一个好的设计吗?更好的设计是什么

不,一个基本上承担了后端所有职责的类不是好的设计。除非它只是作为操作的分派器,否则您将重新发明所有现有MVC框架已经发明多年的轮子(SpringMVC,等等)。坦率地说,我会反对“公司政策”,并使用合适的工具来完成这项工作:SpringMVC,或JAX-RS,或任何其他可以用来轻松实现适当REST后端的现代框架

使用单个servlet与使用多个servlet相比,性能优势是什么

没有

当servlet代码增长时,它是否会在某一点上变得不可管理

对。您最好遵循REST原则,为不同的操作分配不同的URL,而不是使用参数来传递操作。此外,所有操作不应使用相同的HTTP方法。搜索或阅读信息应使用GET,而创建内容应使用POST,更新内容应使用PUT

当然,每个URL使用一个servlet。

您可以使用jsf

它是一个单独的servlet

--

除了笑话, 您可以使用一个servlet,创建多个类来处理不同的场景,并通过良好的设计将servlet类保持在100行代码以下


但这实际上是自己编写mvc,正如JB Nizet所建议的,REST是正确的方法。使用JAX-RS处理请求。如果您不想走这条路线,可以使用单个servlet,但可以像控制器一样使用servlet,将请求发送到不同的模块来处理它。只要不将所有代码放在同一个类中,单个servlet就可以了

如果您使用多个servlet,那么当您计划将其中一个servlet移动到另一台服务器时,设计会更好。但是对于多个servlet,UI(html或java脚本)需要处理到正确servlet的路由


只有在一个servlet类中编写所有内容时,代码才是不可管理的。。。如果设计正确,它应该是可管理的

您不需要spring来创建单独的servlet,因此不能使用spring并不是不使用多个servlet的理由。检查您的组织是否反对jsf,因为它是JavaEE的一部分,这可能是可以接受的哈哈,好笑。不过,这不是他所说的一个servlet的意思。你会把这个可怜的家伙搞糊涂的。