【问题标题】:How to find my servlet for web.xml?如何找到我的 web.xml servlet?
【发布时间】:2016-11-16 10:00:31
【问题描述】:

我正在使用wildflyJBOSS 我做了一个Servlet...称为ServletImg

我的文件夹结构如下:

WebContent/WEB-INF/classes/ServletImg.java

现在我正在尝试将他添加到web.xml 文件中...像这样:

  <servlet>
     <servlet-name>ServletImg</servlet-name>
     <servlet-class>ServletImg</servlet-class> <!-- Here is the problem -->
  </servlet>

  <servlet-mapping>
     <servlet-name>ServletImg</servlet-name>
     <url-pattern>/ServletImg</url-pattern>
  </servlet-mapping> 

错误信息:

servlet.class 必须是有效的全限定类名

有解决问题的建议吗?

【问题讨论】:

标签: java servlets web.xml


【解决方案1】:

关键是,您需要知道的一切都在问题中: 使用完全限定名称。

要解决您的问题,您需要做的就是:

  • 创建一个包来放入您的 servlet,
  • web.xml 中使用名称my.package.ServletImg

将 Java 类放在默认包中并不是一个好习惯,而且有时会让服务器感到困惑,因为您刚刚遇到过这种情况

【讨论】:

    【解决方案2】:

    您提到的错误中非常清楚地给出了问题。

    您需要提及带有完整包结构的 Servlet 类名。 例如,检查一下!

        <servlet>
            <servlet-name>HelloServlet</servlet-name>
            <servlet-class>examples.Hello</servlet-class>
        </servlet>
    
        <servlet-mapping>
            <servlet-name>HelloServlet</servlet-name>
            <url-pattern>/hello</url-pattern>
        </servlet-mapping>
    

    注意标记&lt; servlet-class&gt; 是一个完全限定的类名,其中包括声明该类的包。

    【讨论】:

      【解决方案3】:

      在 src 文件夹中创建 .java 类,而不是在 WebContent/WEB-INF/classes/ 中

      接下来,如果您正在创建 java 动态 Web 项目,则选择 Dynamic Web module version 2.5,以便您可以在 Path /ProjectName/WebContent/WEB-INF/web.xml 中找到 web.xml 文件

      【讨论】:

        猜你喜欢
        • 2017-11-05
        • 2012-07-24
        • 2010-11-19
        • 2015-03-01
        • 2017-02-04
        • 1970-01-01
        • 2023-03-29
        • 2012-01-30
        • 1970-01-01
        相关资源
        最近更新 更多