【问题标题】:servlet mapping [duplicate]servlet 映射
【发布时间】:2011-11-01 20:38:28
【问题描述】:

我已经创建了 Sample.java servlet,它在 src 文件夹中。

并在 pages 目录中创建 HTML 页面,即 pages/First.html

现在我需要在 servlet 映射中提供页面/示例,我不明白为什么页面目录名称应该在 servlet url 映射中提及。

因为它在根文件夹中。

【问题讨论】:

    标签: servlets


    【解决方案1】:

    你不应该把任何类放在根包中。

    一旦您将 Sample 类放入一个包中(例如:com.foo.andy.sample),您需要在 Web 应用程序的 web.xml 中声明 servet,并为此 servlet 声明一个(至少)映射。

    您可以关注this tutorial 了解如何操作。

    web.xml 中需要这些行:

    <servlet>
        <servlet-name>SampleServlet</servlet-name>
        <servlet-class>com.foo.andy.sample.Sample</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>SampleServlet</servlet-name>
        <url-pattern>/pages/Sample</url-pattern>
    </servlet-mapping>
    

    您的 servlet 可以在 .../yourWebApp/pages/Sample 访问

    【讨论】:

      【解决方案2】:

      我们需要 servlet 映射以确保在哪种类型的 url 请求中调用哪个 servlet。为此,您需要编写web.xml 文件。 让我们假设您的课程位于 com.example 包中。

      <servlet>
          <servlet-name>SampleServlet</servlet-name>
          <servlet-class>com.example.Sample</servlet-class>
      </servlet>
      <servlet-mapping>
          <servlet-name>SampleServlet</servlet-name>
          <url-pattern>/Sample</url-pattern>
      </servlet-mapping> 
      

      完成此代码后,将 URL (/Sample) 放在 HTML 页面中的 &lt;form action="/Sample"&gt; 中。 确保您不应该将类放在根目录中。

      【讨论】:

        猜你喜欢
        • 2015-03-01
        • 2017-09-12
        • 2012-01-20
        • 2017-09-21
        • 2012-10-16
        • 2013-01-20
        • 2012-02-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多