我第一次尝试使用servlet(在业余时间我是一个非常糟糕的Web开发人员)。
我创建了一个servlet,并将其放入包含所有其他类(javabean)的文件夹中。我把课程打包的包裹叫做牛仔裤。
我创建了一个在提交servlet时调用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 / jeans
谢谢你们
答案 0 :(得分:0)
您的课程在课程路径中不可用。确保其可用。如果您放入一个包,请确保使用包声明进行编译。手动复制类文件后,重新启动应用程序服务器。在Web.xml中,使用包名声明该类。
您可能需要有关如何编写servlet的教程。 http://www.mkyong.com/servlet/a-simple-servlet-example-write-deploy-run/
答案 1 :(得分:0)
您必须将完全限定的class
名称放入<servlet-class>
示例:
<servlet-class>examples.servlets.HelloWorld</servlet-class>
答案 2 :(得分: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
....
.......
}
另外,web.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>
有用的链接:
答案 3 :(得分:0)
谢谢大家。 我的错误出现在“servlet-class”标签上。
我写道<servlet-class>Prova</servlet-class>
而不是
<servlet-class>jeans.Prova</servlet-class>
牛仔裤是我上课的文件夹。