0

我已经阅读了很多关于 MVC 的内容,但真的不知道我是否清楚 MVC 的概念,或者最近没有开发过一个应用程序我所做的是 1)在称为函数的 jsp 加载上 2)使用称为 servlet 和 servlet 的 AJAX是否执行所有逻辑 3)servlet 称为 java bean 和 java 类来执行一些逻辑并返回结果 4)基于从类返回的结果我正在显示图像说如果结果为 1 则图像 A ,如果 0然后图像 b 5)关于 servlets POST 方法我正在使用 out.println()--> 编写完整的输出 6)返回调用后 jsp 上的函数将通过 servlet 生成的输出设置所需 div 的 innetHTML

现在说输出 servlet 生成的是表


实例名称|实例状态


现在,如果我想在某个时候更改此表的显示以说


实例状态|实例名称


要进行上述更改,我必须重新编译我的 servlet 并重新部署战争

它真的是 MVC 吗?有人建议我使用包含数据的 bean 的 JSON 存储对象作为 JSON,然后将 JSON 对象返回给 jsp,并在 jsp 中使用该对象构造表!

对此的任何指示都会有很大帮助!

4

3 回答 3

0

是否必须重新部署通常取决于您的开发环境。如果您使用的是在您进行更改时自动构建的 IDE,并且服务器是从您正在使用的 IDE 运行的,那么您可能不需要重新构建 war。您可以随时尝试查看源代码以查看是否需要重新部署。后端代码通常必须重新部署。

于 2013-02-26T14:41:55.490 回答
0

让我们快速了解一下什么是 MVC?

MVC(Mode-view-controller )顾名思义就是软件架构模式,它鼓励应用have its Model Classes (i.e domain models / DTOs) views (i.e can be JSP, JSON etc) and controller (i.e Servlet) to be as modularized as possible so that it encourages re-usability, loose-coupling between the different layers and Seperation of Concerns

所以这背后的关键思想是encourage Seperation of ConcernsSay i want to change the view from JSP to freemarker view , if MVC is tighly followed , i should be able to accomplish the change with minimum to no impact to Controller layer (i.e Servlets)

好吧,您看到这只有在我的 web 应用程序中有明确的层分离才能实现。 If i had just scattered all the functions without regard to MVC like having views generated from the Servlet, or making service level calls like accessing the DB directly from the Controller etc is bad because any change in the view or the Database layer will cause massive changes at the Servlet .

所以回答你的问题,your servlet should not directly produce the HTML outputStore all the objects想要生成视图in Request Attributeaccess it in JSP 重新编译 Sevlet 并不意味着您不遵循 MVC,只是通过遵循 MVC,您的更改是最小的并且被分组在一个地方。

现在放弃 JSON 概念,让它简单明了 阅读本教程,它公平地解释了如何实现一个简洁的 MVC

Jsp MVC 教程。

一旦你掌握了,你总是可以添加更复杂的东西,比如 JSON、AJAX、异步请求等

于 2013-02-27T07:07:16.570 回答
0

基于获得的ajax响应。

您可以隐藏或显示您喜欢的图像。

如果我没记错的话,如何获取图像链接而不是 out.print 打印字节 []。

当您想重定向到另一个页面时,如何使用响应重定向从 servlet 本身重定向它。

于 2013-02-26T15:57:46.643 回答