gpt4 book ai didi

java - 何时使用 Servlet 或 @Controller

转载 作者:IT老高 更新时间:2023-10-28 13:46:52 26 4
gpt4 key购买 nike

我需要弄清楚一些事情。我一直在寻找这个问题的答案,但我似乎无法为我的具体问题找到一个好的答案(例如,这个问题正在蚕食答案:Difference between servlet and web service)。

据我了解,您可以通过多种方式在“面向 MVC”的 Web 应用程序中实现“请求处理”,也就是“ Controller ”,其中两种是:

  1. 特定于 Java 的 Servlet(即您通过单击新建创建的一个 ->Servlet,例如在 Eclipse 中),用作“ Controller ”。这个扩展 HttpServlet 并使用 doGetdoPost 等方法。
  2. 一个 Spring MVC 注释的 @Controller 类(是的,使用 DispatcherServlet)。有了这个,您可以使用 @RequestMethod GET/POST 等。

现在我的问题...

  • 您什么时候使用其中一种?
  • 使用一种方法比另一种方法有任何一般优势吗? (例如,一般来说,推荐一种方法优于另一种方法吗?)

[编辑]:强调的关键字

最佳答案

如果您是一名有兴趣学习这门语言的学生,那么我现在会坚持使用 servlet。仅使用 servlet 编写 Web 应用程序是可能的,但实际上您可能还想查看 JSP。

JSP 是编写 servlet 的便捷方式,它允许您将 html 与脚本元素混合(尽管建议避免在 jsp 中使用 Java 代码,而使用标签和 el 表达式)。在幕后,它将被编译为一个 servlet,但它避免了您必须使用大量凌乱的打印语句。

至少对 servlet 和 JSP 有基本的了解是很重要的。 Spring MVC 是构建在 servlet 之上的众多框架之一,旨在尝试使编写 Web 应用程序的任务更容易一些。基本上所有请求都映射到充当 front controller 的 DispatcherServlet。 .

然后 DispatcherServlet 将调用注解匹配传入请求的 Controller 。这比必须自己在 web.xml 中编写这些映射更简洁(尽管使用 servlet 3.0 您现在可以注释 servlet)。但是您还可以获得许多其他可以使用的好处,例如将表单字段映射到对象,使用 jsr303 注释验证该对象,将输入和输出映射到 xml 或 json 等。此外,它与核心 spring 紧密集成,因此您可以轻松连接供 Controller 调用的服务。

值得注意的是,在 servlet 之上构建了许多相互竞争的框架。 Spring MVC 是最流行的一种,因此它是一个不错的选择。

关于java - 何时使用 Servlet 或 @Controller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16439249/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com