如何找到我的web.xml的servlet?

时间:2016-11-16 10:00:31

标签: java servlets web.xml

我正在使用wildflyJBOSS 我做了Servlet ...叫ServletImg

我的文件夹结构如下所示:

的WebContent / WEB-INF /类/ 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必须是有效的完全限定类名

有关解决问题的任何建议吗?

3 个答案:

答案 0 :(得分:1)

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

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

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

将Java类放在默认包中并不是一个好习惯,有时可能会混淆服务器,就像你刚才面对的那样

答案 1 :(得分:0)

在你提到的错误中非常清楚地表明了这个问题。

您需要提及具有完整包结构的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>

注意标记< servlet-class>是一个完全限定的类名,包括声明该类的包。

答案 2 :(得分:0)

在src文件夹中创建不在WebContent / WEB-INF / classes /

中的.java类

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