java - 除了 web.xml,您还能在哪里告诉您的 Web 应用程序将请求映射到 servlet?

标签 java tomcat

我是 Java 网络开发新手。我已完成研究,但仍无法自行解决这个问题。

我正在尝试分析一个项目,它集成了spring、struts和hibernate。用于 POJO 和基本应用程序开发的 Spring,struts 似乎用于处理请求和项目的更多“web-ish”部分,而 hibernate 与 hql 一起用于数据库接口(interface)。

我非常非常好奇信息流是如何工作的,尤其是 post 方法。通过漫长但有益的研究,似乎在离开 TLS/SSL 隧道后,解密的 http(已解密因此“s”部分可能不再存在,大声笑)请求(这是 ascii 文本)将被发送到java 对象(从 java 类实例化,当然可能已编译)容器。这些对象通常被称为 servlet(如果我错了请纠正我)。

当我试图弄清楚容器如何决定它向哪个 servlet 发出请求时,令人费解的部分出现了。再次通过研究,它似乎通常由一个名为 web.xml 的配置文件处理,但奇怪的是我在这个文件中找不到任何标签,更不用说名称与“目标”匹配的 servlet "由 action 属性指定的名称,如下所示:

<form action="<%=context %>/handler/register"  method="post">

然而,整个项目在 Tomcat 服务器上运行得很好。我唯一能得出的结论是,必须有其他方法来配置tomcat服务器中的“java对象容器”来处理用户请求。它们是什么?/它是什么?

在我的理解中也可能存在很多错误概念,例如整个 java-class-object 部分,如果我错了请纠正我。

最佳答案

从 Servlet 规范的 3.0 版本开始,您还可以使用注释来告诉服务器您的 servlet 在哪里。

在代码中,您正在寻找类似的东西:

@WebServlet("/handler/register")
public class SomeRandomServlet extends HttpServlet

关于java - 除了 web.xml,您还能在哪里告诉您的 Web 应用程序将请求映射到 servlet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50114727/

相关文章:

java - 检查整数是否太大

php - 在同一个文件中同时执行 PHP 和 JSP?

java - IntelliJ Tomcat 延迟 war 部署

java - SpringBoot嵌入式tomcat服务器读取查询参数中的unicode字符为null

java - 创建具有读写访问权限的新文件夹

java - 如何使用 QueryDsl 按日期分组?

tomcat - 什么可以替代 javax.servlet-api-3.1.0.jar

tomcat - 多个 tomcat 实例更新 - 如何?

java - 在java中创建一个目录

java - 如何使用Gson保留列表名称