<%
B b=new B();
%>我在eclipse ee版建立的一个项目 然后建立了一个jsp页面 里面加入这代码   
源文件哪里建立一个类 public class B{} 
好了问题来了 运行不起来 告诉我 B cannot be resolved to a type这个问题我搜遍了很多论坛 网站 以前有人提过类似的问题答案有什么没import 缺乏基础知识 下个myeclipse等等之类的 复制class到web-inf\classes 都没用据我所了解的jsp 到最后也是编译成class文件 源文件的意义就是一个classpath所以我推断问题的关键是 tomcat找不到我自定义的B类 由于刚接触j2ee不了解 希望以前遇到这个问题的同学能帮着解答一下谢谢   如果大家有时间 可以下一个最新的eclipse ee版 和tomcat 7.0最新版 尝试我这3部 然后给我个回复 谢谢我这3部依次是 1建立 dynamic web project 2建立B.java 文件 3 创建jsp文件里面写这个 B b=new B();

解决方案 »

  1.   

    在jsp文件上面加入
    <%@page import="包名.B"%>
    如果B没在包下面
    直接
    <%@page import="B"%>
      

  2.   

    不需要这么麻烦,请你到你tomcat7下面的work目录下,找到你项目的jsp编译后的java文件,然后在看看
      

  3.   

    main_jsp.java 只有这一个文件 没有B.class 文件。
      

  4.   

    肯定没有啊,你看下那个main_jsp.java有import B吗,然后在看下你项目web-inf/classes目录下有B.class吗,如果没有,那就是你IDE有问题了
      

  5.   

    package org.apache.jsp;import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.servlet.jsp.*;public final class main_jsp extends org.apache.jasper.runtime.HttpJspBase
        implements org.apache.jasper.runtime.JspSourceDependent {没有import   classes目录下有B。class
      

  6.   

    为什么说是ide的问题? 生成这个java文件的是tomcat吧
      

  7.   

    OK,该有的都有了,那行,那你按1楼的方法做,然后访问下这个jsp,在看下这个
    package org.apache.jsp;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.servlet.jsp.*;
    有没有import B
      

  8.   

    tomcat是生成jsp对应的class文件,你想想,你没装tomcat,难道你新建一个web工程,你写的类就不能编译成class呢吗
      

  9.   

    我还是觉得是 tomcat找不到我的 这个B。class   eclipse 并没有报错而且奇怪的是 我在jsp页面下 alt+ / 却没有 B 这个类  但是我F3 却能找到定向到B.java
      

  10.   

    报错呀。 和刚才一样。  有了import B 照样报错。
      

  11.   

    终于解决了 在haiercs的艰苦奋斗下 哈哈  就是说写jsp的时候必须带包名 也就是说你的类如果没有package tomcat就不认 别的服务器认不认还不知道 反正tomcat 5 6 7都不认
    必须加package jsp页面这样写就没错了<%@ page language="java" import="dd.bb" %>
    <html>
    <body>
    <%
    bb b=new bb();
    %>
    </body>
    </html>已经过测试 eclipse j2ee 3.6 + tomcat 5 6 7