servlet总是说找不到类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了servlet总是说找不到类相关的知识,希望对你有一定的参考价值。

这是我写的简单的Servlet类:package com.javaweb.ch10;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletDemo extends HttpServlet
/**
*
*/
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
PrintWriter out= response.getWriter();
out.println("This is my first Servlet application!!");


这是我配置的web.xml<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
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_2_5.xsd">

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

<Servlet>
<servlet-name>ServletDemo</servlet-name>
<servlet-class>com.javaweb.ch10.ServletDemo</servlet-class>
</Servlet>
<Servlet-mapping>
<servlet-name>ServletDemo</servlet-name>
<url-pattern>/ServletDemo</url-pattern>
</Servlet-mapping>
</web-app>

你的问题我开发的时候遇到过,你只要打服务器停掉确认项目中的文件都保存过后,重新发布,再启动服务器就可以了 参考技术A 不知道你什么IDE,以下几点可以试试。

1、你的访问这个Servlet的URL http://localhost:8080/ServletDemo
2、你的项目名,网站目录都要正确,类的位置都要正确,如ServletDemo的位置都要正确。

用IDE,一般是自动完成相关的配置要求。建议用IDE.
参考技术B javabean文件是保存在web-inf文件夹下的classes文件夹下的吗? 参考技术C 确认一下类文件是否在 WEB-INF文件夹下的classes文件夹里
包地址如下 com.javaweb.ch10

我感觉 部署文件结构 存在问题
参考技术D <?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
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_2_5.xsd">

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

<servlet>
<servlet-name>ServletDemo</servlet-name>
<servlet-class>com.javaweb.ch10.ServletDemo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletDemo</servlet-name>
<url-pattern>/ServletDemo</url-pattern>
</servlet-mapping>
</web-app>

把以上覆盖到web.xml中本回答被提问者和网友采纳

import java.io.*; 怎么没有导入类成功呢?编译的时候报错说找不到输入类。

import java.io.*;
public class demo
public static void main(String []args)

try//输入流 从控制台接受数字
InputStringmReader isr=new InputStringmReader(System.in);
BufferedReader br=new BufferedReader(isr);
//给出提示
System.out.println("请输入第一个数字");
String a1=br.readline();
System.out.println("请输入第一个数字");
String a2=br.readline();
//把string转为float
float num1=Float.parseFloat(a1);
float num2=Float.parseFloat(a2);
if(num1>num2)

System.out.println("第一个大");

if(num1==num2)

System.out.println("相等");

if(num1<num2)

System.out.println("第二个大");

catch(Exception e)
e.printStackTrace();


InputStringmReader
BufferedReader 就是这两个类
难道没有导入成功吗?我的JDK安装成功了啊 环境变量也没有设置错误啊,在dos命令下运行java和javac都正常啊!求高手指点!

你的类中的InputStringmReader 写错了 应该为InputStreamReader
改好后 导入包
接着 String a1=br.readLine(); 会报错 把这句话 剪切 粘贴就行了

这是修改后的代码 :
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Testaa

public static void main(String[] args)
try // 输入流 从控制台接受数字
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
// 给出提示
System.out.println("请输入第一个数字");
String a1 = br.readLine();
System.out.println("请输入第二个数字");
String a2 = br.readLine();
// 把string转为float
float num1 = Float.parseFloat(a1);
float num2 = Float.parseFloat(a2);
if (num1 > num2)
System.out.println("第一个大");

if (num1 == num2)
System.out.println("相等");

if (num1 < num2)
System.out.println("第二个大");

catch (Exception e)
e.printStackTrace();


参考技术A 虽然我也是个菜鸟,但你都学到流了,格式在这样写有点。。。。。

别的不说,一眼就看出了 InputStringmReader 这个。 JAVA 有这个类吗?
仔细看看吧! 是 InputStreamReader 不是 InputStringmReader ,而且你这程序最后还少了一个括号。。。。
还有,JAVA有这个方法的 readline(); ? 是readLine() 吧! l 要大写啊!

就这3个地方错了!

总体来说,我觉得你要多看API文档
参考技术B 你的 InputStringmReader 应该为 InputStreamReader ,你的 readline 应该为 readLine
编译通过代码如下

package test1;
import java.io.*;
public class demo
public static void main(String []args)

try//输入流 从控制台接受数字
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
//给出提示
System.out.println("请输入第一个数字");
String a1=br.readLine();
System.out.println("请输入第一个数字");
String a2=br.readLine();
//把string转为float
float num1=Float.parseFloat(a1);
float num2=Float.parseFloat(a2);
if(num1>num2)

System.out.println("第一个大");

if(num1==num2)

System.out.println("相等");

if(num1<num2)

System.out.println("第二个大");

catch(Exception e)
e.printStackTrace();


参考技术C 现在哪里还有人用dos下运行 大多都是IDE工具 你去www.eclipse.org下载一个 eclipse去 啥提示都有了 如果不会用 到网上随便搜个视频教程 学学eclipse怎么用 很简单的。追问

我是在用eclipse 。只是刚开始学习,没有使用那么专业的开发工具,现在用的是记事本。

追答

记事本没啥用 你不需要那么努力的记住每一个方法 前期主要学的是概念 还有一些实战 不一定知道内部怎么回事儿 慢慢的 用多了自然就懂了

追问

哦,可是这个程序是什么问题呢?如果本身没哟错误,在dos下也应该不会错的啊

追答

一般估计就是找不到jar包的原因 你要把异常贴出来 才能帮你解决问题

追问

恩,我再回去看看先,谢谢啦

追答

别光谢谢 到时采纳答案啊 - -!有问题可以再问 = -!

以上是关于servlet总是说找不到类的主要内容,如果未能解决你的问题,请参考以下文章

我在Eclipse中做WEB项目在import javax.servlet.Filter时候说找不到这个类.为啥?

Eclipse中HttpServlet类找不到

java 主启动类找不到

控制器类找不到 html 模板

为啥查询里嵌套查询总是说找不到指定的列啊(JSP)

Javatest报错为啥说找不到测试类?