Tomcat 7一直给我一个404。我在做什么错?

Tomcat 7一直给我一个404。我在做什么错?,第1张

Tomcat 7一直给我一个404。我在做什么错?

您应该将servlet类放在包中。无包servlet是否起作用取决于旧版Tomcat和JVM版本的特定组合。如果您在书/教程中看到此示例,那么它肯定已经过时了。

package com.example;// ...public class Ch1Servlet extends HttpServlet {    // ...}

您应该有一个

/com/example/Ch1Servlet.java
文件。编译如下

javac -classpath /usr/share/tomcat7/common/lib/servlet-api.jar -d classes src/com/example/Ch1servlet.java

(I however wonder what the

common
lib is doing there, this was typical for
Tomcat 4.x/5.x, but it’s not present since Tomcat 6. If you manually changed
Tomcat’s structure in order to follow the instructions of an outdated
tutorial, undo it!)

Put the

com
folder with the generated class by its entirity in
/WEB-INF/classes
folder of your webapp. So you must have a
/WEB-INF/classes/com/example/Ch1Servlet.class
.

Then, edit your

/WEB-INF/web.xml
to specify the fully qualified name (FQN)
of the servlet class in
<servlet-class>
:

<?xml version="1.0" encoding="UTF-8"?><web-app     xmlns="http://java.sun.com/xml/ns/javaee"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"    version="3.0" >    <servlet>        <servlet-name>Chapter1 Servlet</servlet-name>        <servlet-class>com.example.Ch1Servlet</servlet-class>    </servlet>    <servlet-mapping>        <servlet-name>Chapter1 Servlet</servlet-name>        <url-pattern>/Serv1</url-pattern>    </servlet-mapping></web-app>

(please note that I fixed the root declaration as well to comply Tomcat 7
supported servlet version, it would otherwise fall back to least compatibility
modus)



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5506575.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-13
下一篇2022-12-13

发表评论

登录后才能评论

评论列表(0条)

    保存