【问题标题】:Best practice for a JSP/Servlet Environment [duplicate]JSP/Servlet 环境的最佳实践 [重复]
【发布时间】:2025-12-02 01:10:02
【问题描述】:

好吧,我现在要做的是直接链接到 JSP 页面(比如说 index.jsp),当我想做一个 doPost 时,我会将它链接到表单中的 Servlet。

但我一直在试验,我意识到我可以直接链接到 servlet 并使用 .include() 将 jsp 代码放入 servlet。

最佳做法是什么?

【问题讨论】:

    标签: java jsp servlets


    【解决方案1】:

    将 JSP 代码直接放入您的 Servlet 不是一个好习惯,一旦任何需求更改都会使您在 JSP 旁边更改 Servlet。

    假设您的 jsp 将充当用户的视图(使用 MVC 模式),您最好分离职责并使代码更简洁。

    常用request.getRequestDispatcher("view.jsp").forward();将请求分派给JSP,那么JSP可以是视图,而你的Servlet可以是控制器。 或者,您可以使用response.sendRedirect("view.jsp"); 来执行此操作。

    您必须了解的是,使用第一个,网络容器将发送请求而不会对最终用户进行任何更改。 使用第二个,“重定向”的工作是通过用户的网络浏览器完成的,所以他/她可以注意到棕褐色的 URL 变化。

    【讨论】:

    • 这真的很有趣!所以你说的是Servlet = Controller, JSP = view?
    • 你可以假设!多亏了 Java Web 结构,在 MVC 设计模式中将 Servlet 假设为控制器而将 JSP 假设为视图非常简单。
    • 我从来没有这样想过!谢谢你,先生!这让我的生活变得轻松多了!上网!
    • 当你的应用程序开始长大时,你会看到以不同的方式处理这个结构的问题。将任何视图代码与控制器代码混合总是一个糟糕的主意。