将Java中的AJAX响应编码为JSP而不是Servlet会导致问题吗?

时间:2014-05-21 12:11:10

标签: java ajax jsp

我正在使用JQuery对我的tomcat7服务器进行一些AJAX调用,例如:

$.get("ajax.jsp", {param1: val}, function(data, status) { ... }

将Java中的AJAX响应编码为纯粹的JSP而不是带有doGet()的servlet是否有问题?就我而言,我正在返回HTML而不是JSON,我正在使用JSP将Java与HTML混合以返回我想要的内容。

我问的原因是我看到的所有示例和其他stackoverflow答案都与Java中的AJAX编码有关,建议将其作为Servlet。我是否会将此编码为JSP?

2 个答案:

答案 0 :(得分:1)

是的,你会遇到麻烦。无法调试和维护服务器端和客户端代码的混乱,并且它处于意想不到的位置。

服务器应返回一个视图,或者在这种情况下,它应该从@responsebody带注释的控制器方法返回模型为json。

答案 1 :(得分:0)

在jsp中实现响应处理程序并编写所有代码和html并混合它们完全没有问题。 但是从可维护性,简单性,清晰性和安全性的设计决策和最佳实践中分离出不同模块中的代码,每个模块都负责特定的工作,在Web应用程序中,将java业务逻辑代码与呈现的页面分开是个好主意。和关心数据。

此问题的最佳设计模式是模型视图控制器(MVC设计模式)。

想象一下,如果你改变你的渲染框架。 想象一下,如果您在团队中工作,包括Java开发人员,Web图形设计,数据库开发人员,您如何与其他人分离您的任务。

请记住,对设计模式和MVC的良好理解将为您提供一种学习和使用Spring,Spring MVC,struts2,JSF,Javaee等的良好框架的方法,