高手帮忙!servlet 提示找不到类 The requested resource (Servlet Hello is not available) is n

时间:2022-01-14 16:46:34
package com.tsinghua;

import javax.servlet.*;
import java.io.*;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.io.IOException;

public class Hello  implements Servlet{

public void init(ServletConfig parm1) throws ServletException {
// TODO: Add your code here
System.out.println("init:");
}


public ServletConfig getServletConfig() {
// TODO: Add your code here
return null;
}


public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
// TODO: Add your code here
PrintWriter pw=res.getWriter();
pw.println("helloworld");
}


public String getServletInfo() {
// TODO: Add your code here
return null;
}


public void destroy() {
// TODO: Add your code here



}

*******************************************************************************************
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  <servlet>
   <servlet-name>Hello</servlet-name>
   <servlet-class>com.tsinghua.Hello</servlet-class>
  </servlet>
  
  <servlet-mapping>
   <servlet-name>Hello</servlet-name>
  
   <url-pattern>/Hello</url-pattern>
    
  </servlet-mapping>
</web-app>

运行:
http://127.0.0.1:8080/myWebSite/Hello

结果提示: The requested resource (Servlet Hello is not available) is not available.

10 个解决方案

#1


<url-pattern>/Hello </url-pattern> 你的路径不对,比如你的jsp文件在Tomcat 6.0\webapps\test\smart\hello.jsp,那么你的路径就必须是<url-pattern>/smart/Hello </url-pattern>

#2


在配置文件中修改:
<url-pattern>/servlet/hello </url-pattern> 

然后访问的时候:
http://127.0.0.1:8080/myWebSite/servlet/hello

#3


public class Hello  implements Servlet{ ......
-->
public class Hello  extends HttpServlet{ 

#4


你的classpath路径没有包含Tomcat里的servlet-api.jar和jsp-api.jar包吧

#5


Hello文件放在classes下了吗

#6


为什么不继承HttpServlet呢,这么做不是自找麻烦吗。

#7


不过仔细看了下,代码和配置文件都没有错。
就是目录层次等这些具体部署的问题了。找个能跑的应用比较看看目录格局就行了。

#8


如果都不行,支持重新启动tomcat服务器

#9


另外提下,哥们servic类里开启流后,最后最好关闭流

#10


明显就是 路径有误了

#1


<url-pattern>/Hello </url-pattern> 你的路径不对,比如你的jsp文件在Tomcat 6.0\webapps\test\smart\hello.jsp,那么你的路径就必须是<url-pattern>/smart/Hello </url-pattern>

#2


在配置文件中修改:
<url-pattern>/servlet/hello </url-pattern> 

然后访问的时候:
http://127.0.0.1:8080/myWebSite/servlet/hello

#3


public class Hello  implements Servlet{ ......
-->
public class Hello  extends HttpServlet{ 

#4


你的classpath路径没有包含Tomcat里的servlet-api.jar和jsp-api.jar包吧

#5


Hello文件放在classes下了吗

#6


为什么不继承HttpServlet呢,这么做不是自找麻烦吗。

#7


不过仔细看了下,代码和配置文件都没有错。
就是目录层次等这些具体部署的问题了。找个能跑的应用比较看看目录格局就行了。

#8


如果都不行,支持重新启动tomcat服务器

#9


另外提下,哥们servic类里开启流后,最后最好关闭流

#10


明显就是 路径有误了