做好是在同一目录下,也可以在不同的目录下,但需要import语句。
另外,你的getClass()用法也错了。incCount(CName)是不是也用错了?
你可以把整个程序贴出来呀!

解决方案 »

  1.   

    这是第一个Servlet程序:
    /一个可以被多个servlet所使用的计数器
    import java.io.*;
    import java.util.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class classaccesscounter extends HttpServlet
    {
    private Hashtable counts = new Hashtable();

    public void init (ServletConfig config)
    throws ServletException
    {
    super.init(config);

    try
    {
    FileReader fr=new FileReader("D:/tomcat/webapps/ROOT/WEB-INF/classes/" + 
    getClass().getName() + ".CNT");
    BufferedReader br=new BufferedReader(fr);
    String line=null;
    String scnt="";
    int cnt;

    while ((line =br.readLine())!=null)
    {
    cnt=Integer.parseInt(line);

    try
    {
    scnt=scnt.valueOf(cnt);
    counts.put(getClass().getName(),scnt);
    }
    catch(Exception e)
    {}
    }
    }
    catch (Exception e)
    {}
    }

    public int inccount(String CName)
    {
    String scnt="" ;
    int cnt;
    Object ocnt=counts.get(CName);

    if (ocnt!=null)
    {
    scnt=ocnt.toString();
    cnt=Integer.parseInt(scnt);
    }
    else
    cnt=0;

    cnt++;
    scnt=scnt.valueOf(cnt);
    counts.put(CName,scnt);
    return cnt;
    }

    public void destroy()
    {
    try
    {
    FileWriter fw=new FileWriter("D:/tomcat/webapps/ROOT/WEB-INF/classes/" + 
    getClass().getName() + ".CNT");
    BufferedWriter bw=new BufferedWriter(fw);
    String cnt=counts.get(getClass().getName()).toString();

    fw.write(cnt,0,cnt.length());
    bw.close();
    fw.close();
    }
    catch (IOException e)
    {}
    }
    } 调用上面servlet的另一个servlet
    //(ClassOne.java)与classaccesscounter.java共同使用<未完成>
    import java.io.*;
    import java.util.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class classone extends classaccesscounter
    {
    public void deGet(HttpServletRequest req,
    HttpServletResponse resp)
    throws ServletException,IOException
    {
    resp.setContentType("text/html");
    PrintWriter outhtml=resp.getWriter();
    String CName =getClass().getName();
    int cnt = 0;
    String scnt="";

    outhtml.println("<html><body>");
    outhtml.println("<center><h2>");
    outhtml.println("<The ClassOne Program<br><br>");
    cnt = incCount(CName);
    scnt=scnt.valueOf(cnt);
    outhtml.println("ClassOne has been accessed");
    outhtml.println(scnt);
    outhtml.println("times!!!<br>");
    outhtml.println("</center></h2>");
    outhtml.println("</body></html>");
    }
    }
    在编译这个servlet时,就出现了如下的错误:
    E:\myjava\myservlet>javac classone.java
    classone.java:6: cannot resolve symbol
    symbol  : class classaccesscounter
    location: class classone
    public class classone extends classaccesscounter
                                  ^
    classone.java:14: cannot resolve symbol
    symbol  : method getClass  ()
    location: class classone
                    String CName =getClass().getName();
                                  ^
    classone.java:21: cannot resolve symbol
    symbol  : method incCount  (java.lang.String)
    location: class classone
                    cnt = incCount(CName);
                          ^
    3 errors            此两个文件是放在同一目录下
      

  2.   

    1。应该用import引入classaccesscounter
    2.应该是同样的道理。
    3.incCount(CName)函数在classaccesscounter中并没有被声明,classaccesscounter没有被正确继承,所以也不认识。
      

  3.   

    那怎样用import引入classaccesscounter啊?我才学了2天java啊
      

  4.   

    import classaccesscounter;
    就行了。
      

  5.   

    添加了import classaccesscounter后又提示以下错误:
    E:\myjava\myservlet>javac classone.java
    classone.java:6: cannot resolve symbol
    symbol: class classaccesscounter
    import classaccesscounter;
    ^
    classone.java:7: cannot resolve symbol
    symbol  : class classaccesscounter
    location: class classone
    public class classone extends classaccesscounter
                                  ^
    classone.java:15: cannot resolve symbol
    symbol  : method getClass  ()
    location: class classone
                    String CName =getClass().getName();
                                  ^
    classone.java:22: cannot resolve symbol
    symbol  : method incCount  (java.lang.String)
    location: class classone
                    cnt = incCount(CName);
                          ^
    4 errorsE:\myjava\myservlet>
      

  6.   

    将两个Servlet程序在程序头上都加上Package myServlet就可以了。
    或者将其中一个package进一个包,另外一个import 包名.servlet名就行了。
      

  7.   

    是否在环境变量Classpath中设置了当前路径,c:\jdk\lib\tools.jar;c:\jdk\lib\dt.jar;.;最后的点表示当前路径下的Class。你在编译servlet的时候E:\myjava\myservlet>javac classone.java即可。
      

  8.   

    靠,编译classone之前,编译classaccesscounter了吗?
      

  9.   

    当然先编译了classaccesscounter啦