2013-10-14 57 views
0

我想第一次使用一个servlet(并且在业余时间我是一个非常糟糕的web开发人员)。我的servlet没有找到

我创建了一个servlet,并将其与我所有其他类(javabean)放在一个文件夹中。我放课的包叫做牛仔裤。

我做了一个页面,它在提交时(在按下提交按钮之后)调用servlet。

<form action="prova" method="post" id="FormNews" name="FormNews"> 
//prova is the name of the servlet 

我可以看到,在web.xml中有我的servlet

<servlet> 
    <description></description> 
    <display-name>prova</display-name> 
    <servlet-name>prova</servlet-name> 
    <servlet-class>prova</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>prova</servlet-name> 
    <url-pattern>/prova</url-pattern> 
    </servlet-mapping> 

但是,当我想看到一个浏览器我得到这个错误我的servlet

javax.servlet.ServletException: Wrapper cannot find servlet class prova or a class it depends on 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291) 
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) 
    org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
    java.lang.Thread.run(Unknown Source) 

应该是什么我确实使用servlet?可能是我设置的地方它的路径... 大概Tomcat的不能看到我的servlet是在文件夹my_web_application_name /牛仔裤

谢谢你们

回答

0
The package where i put my classes is called Jeans 

然后你的servlet prova.java

package jeans; //use small case package name 

public class Prova extends HttpServlet { //see the class name, this is by java naming conventions 
.... 
....... 
} 

另外的第一线,网络。 xml

<servlet> 
    <description></description> 
    <display-name>Prova</display-name> 
    <servlet-name>Prova</servlet-name> 
    <servlet-class>jeans.Prova</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>Prova</servlet-name> 
    <url-pattern>/Prova</url-pattern> 
</servlet-mapping> 

有用的链接:

  1. java-naming-conventions
  2. servlets info
0

你必须把完全合格class名称为<servlet-class>

例子:

<servlet-class>examples.servlets.HelloWorld</servlet-class> 
0

谢谢大家。 我的错误发生在“servlet-class”标签上。

我写 <servlet-class>Prova</servlet-class>

而不是

<servlet-class>jeans.Prova</servlet-class>

其中牛仔裤是这里我把我的课的文件夹。