【问题标题】:java servlet mapping concept in web.xml fileweb.xml 文件中的 java servlet 映射概念
【发布时间】:2016-07-02 03:18:46
【问题描述】:

我对 java servlet 很陌生。我很困惑为什么我们在 web.xml 中使用 servlet 映射。我做了一个项目,其中我使用了两个 servlet。如果我不使用 servlet 映射,那么也项目以正确的方式执行..那么为什么要使用 servlet 映射..???

【问题讨论】:

  • 你是如何定义你的servlet的?在问题中显示一些代码,以便我们了解一些上下文。
  • 我有两个 servlet。一个用于登录,一个用于注销。我还没有编辑 web.xml 文件。然后程序也以正确的方式执行。那么为什么我们使用 servlet 映射?
  • 您如何定义您的 servlet? 使用 web.xml 或 @annotations。 给我们看看!

标签: java servlets


【解决方案1】:

Servlet 应该注册到 servlet 容器中。为此,您应该在 Web 部署描述符 web.xml 中添加条目。它位于 Web 应用程序的 WEB-INF 目录中。您有两个选择,要么是基于注释的 Servlet,其中 XMl 不是必需的,要么是没有注释的,其中 web.xml 需要 Servlet Mapping 。映射在 web.xml 上定义,如

<servlet>
<servlet-name>Welcome</servlet-name>    
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>    
<servlet-name>Welcome</servlet-name>    
<url-pattern>/HelloWorld.do</url-pattern>
</servlet-mapping>
  • 假设在提交任何您想要调用 HelloWorld Servlet 的表单数据时,我们已经为该 servlet 配置了一个唯一的 URl,它被定义为 /HelloWorld.do,因此当您提交表单数据时,它将加载 prepspective Servlet 但 URL 应该显示为/HelloWorld.do
  • 如果您想从表单数据调用 HelloServlet,然后从客户端代码/前端代码调用 action ="/HelloWorld.do" 完整标签是 <form action="action=/HelloWorld.do" method="post">
  • 您也可以通过创建 servlet 对象来调用 Servlet。但是假设如果你有很多 servlet 文件,那么需要独特的 URl 模式,这对程序员来说很方便。
  • 一旦您登录表单操作调用登录操作 servlet URL 并注销调用 logout servlet URL。

乐于助人

【讨论】:

  • 先生,但是 url 模式是自动生成的。那为什么我们要为不同的 servlet 显式提供唯一的 url?
  • kushagra - 意味着您正在使用基于 @annotation 的 servlet,因此不需要 XML 映射。正如我在帖子中提到的那样。乐于助人
猜你喜欢
  • 2015-03-01
  • 2013-01-20
  • 2012-04-17
  • 2013-11-28
  • 1970-01-01
  • 2013-06-20
  • 2012-07-23
  • 2016-07-05
  • 2012-01-02
相关资源
最近更新 更多