Performance servlet或bean具有更好的性能?有人问我

Performance servlet或bean具有更好的性能?有人问我,performance,servlets,memory,javabeans,forward,Performance,Servlets,Memory,Javabeans,Forward,我觉得这个问题有些奇怪,我找不到直接的答案,所以请耐心等待 我正在一家使用servlet的公司从事一项服务 基于代码中的某些条件,我将继续向两个servlet中的一个进行请求 if(SOME_CODITIONS == VALUE1) getServletContext().getRequestDispatcher("/SERVLET_1").forward(request,response); else getServletContext().getRequestDispatc

我觉得这个问题有些奇怪,我找不到直接的答案,所以请耐心等待

我正在一家使用servlet的公司从事一项服务

基于代码中的某些条件,我将继续向两个servlet中的一个进行请求

if(SOME_CODITIONS == VALUE1)
    getServletContext().getRequestDispatcher("/SERVLET_1").forward(request,response);
else 
    getServletContext().getRequestDispatcher("/SERVLET_2").forward(request,response);
有人告诉我,使用包含代码的bean并调用该方法来完成servlet必须完成的相同工作会更好,而上面的方法性能较差,bean方式更好

这是否正确?转发请求是否会分配更多内存

注意:在SERVLET_1或SERVLET_2中编写的代码不会直接从浏览器中调用


希望任何人都能给我一个建议。

简而言之,他是对的。应该使用RequestDispatcher.forward方法转发到JSP文件,因为它们允许更轻松地开发UI代码,并将表示代码html、javascript等与Java分开。转发到servlet意味着表示代码是在Java类中硬编码的,这是一种糟糕的做法。因此,如果该代码必须在类中,并且您的servlet不能作为servlet访问,那么将它们设置为servlet是没有意义的,应该只是bean。但是你应该使用MVC模式,检查一下:好的,很好,我同意你的观点,但是他所说的要点是bean的性能比servlet好。说真的,我调用的servlet不包含任何表示代码,其次,我认为我们可能需要将此servlet用于其他服务。