现在错误变成下面的了。.
我的sampleform 是和sampleaction是同一个目录下的两个类.  
D:\tomcat\webapps\sb-1\WEB-INF\src\sample>javac sampleaction.java
sampleaction.java:26: cannot resolve symbol
symbol  : class SampleForm
location: class sample.SampleAction
if(form instanceof SampleForm)
                   ^
sampleaction.java:30: cannot resolve symbol
symbol  : class SampleForm
location: class sample.SampleAction
SampleForm theForm = (SampleForm)form;
^
sampleaction.java:30: cannot resolve symbol
symbol  : class SampleForm
location: class sample.SampleAction
SampleForm theForm = (SampleForm)form;
                      ^
Note: sampleaction.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.
3 errorsD:\tomcat\webapps\sb-1\WEB-INF\src\sample>

解决方案 »

  1.   

    sampleaction.java:::
    package sample;import javax.servlet.ServletRequest;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.*;// Referenced classes of package com.ilovejsp.action.form:// SampleFormpublic class SampleAction extends Action{
    public SampleAction()
    {
    }public ActionForward perform(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response){if(form instanceof SampleForm){SampleForm theForm = (SampleForm)form;String user = theForm.getTheName();String password = theForm.getThePassword();request.setAttribute("user", user);request.setAttribute("password", password);return mapping.findForward("play");}else{return null;}}}
      

  2.   

    你要把servlet.jar包放到classpath中你要确保SampleForm类引用路径是否准确
      

  3.   

    和 SampleForm.java  SampleForm.clss  SampleAction.java 他们都在sample目录下
      

  4.   

    http://community.csdn.net/Expert/topic/3353/3353720.xml?temp=.9000208各位老大帮忙.谢谢
      

  5.   

    象struts.jar一样,要把servlet.jar放到classpath中。
      

  6.   

    首先,设置好CLASSPATH,将所有的包(JDK和TOMCAT)都设置进去,也可以用javac -classpath <path>方式指定.
    第二,先编译SampleForm.java,将编译出来的CLASS文件放在sample下,然后用javac -sourcepath <path>编译.
      

  7.   

    看样子你的这两个类都定义了包名为sample,所以不需要import就可以直接使用对方.同包名下的java文件编译: javac *.java
      

  8.   

    http://search.csdn.net/Expert/topic/1705/1705725.xml?temp=.3820764这里例子 哪个老大能帮我实现了。我在tomcat 5 下尝试了好多次,老出错。
    谢谢 : [email protected] 
      

  9.   

    CLASSPATH=.;%JAVA_HOME%\lib;D:\tomcat\server\lib;D:\tomcat\struts\lib\struts.jar
    Path=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\KAV6;C:\KAV2003;d:\Program Files\Real\Helix Producer Plus;C:\mysql\bin;D:\j2sdk\bin;D:\tomcat\bin;JAVA_HOME=D:\j2sdk\TOMCAT_HOME=D:\tomcat我得怎么设  path  和 classpath 为什么我的javac 无法识别我的同目录下的 类???/
      

  10.   

    classpath.;D:\j2sdk\lib\tools.jar;D:\j2sdk\lib\dt.jar;
      

  11.   

    [email protected] 谢谢各位老大。
      

  12.   

    你的 javax servlet 包有问题你看看 到底有这个包估计没有  !你可以在 jbuilder 里面的 thirdparty 的tomcat 里面找到这个包放在你的应用程序 web-inf  下面的lib  就可以了或者 在用:classpath  指向这个包!
      

  13.   

    哈哈,跟我的一样,不过后来我解决了,那就是用了 jcreator就可以了
      

  14.   

    classpath用一定要有.;这个部分,.表示当前目录
      

  15.   

    JAVA_HOME=D:\j2sdk        <--没有反斜杠,也没有分号(到目录名为止什么也不应该有)TOMCAT_HOME=D:\tomcat     <--4.0版本之前设置这个
    CATALINA_HOME=D:\tomcat   <--4.0版本之后设置这个CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;D:\tomcat\server\lib;D:\tomcat\struts\lib\struts.jarPath=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\KAV6;C:\KAV2003;d:\Program Files\Real\Helix Producer Plus;C:\mysql\bin;D:\j2sdk\bin;D:\tomcat\bin;.;
      

  16.   

    老大, 我现在的问题是无法识别同目录下的包.例如:
    app 文件夹有下列文件:
    RegisterForm.java   
    UserDirectory.java
    UserDirectoryException.java
    RegisterAction.java
    前面3个都可以正常编译,可是到了RegisterAction.java 出现下列错误:
    D:\tomcat\webapps\sb-1\WEB-INF\classes\app>javac registeraction.java
    registeraction.java:12: cannot resolve symbol
    symbol  : class RegisterForm
    location: class app.RegisterAction
    RegisterForm rf = (RegisterForm) form;
    ^
    registeraction.java:12: cannot resolve symbol
    symbol  : class RegisterForm
    location: class app.RegisterAction
    RegisterForm rf = (RegisterForm) form;
                       ^
    registeraction.java:20: cannot resolve symbol
    symbol  : variable UserDirectory
    location: class app.RegisterAction
    UserDirectory.getInstance().setUser(username,password1);
    ^
    registeraction.java:22: cannot resolve symbol
    symbol  : class UserDirectoryException
    location: class app.RegisterAction
    } catch (UserDirectoryException e) {
             ^
    Note: registeraction.java uses or overrides a deprecated API.
    Note: Recompile with -deprecation for details.
    4 errors
    D:\tomcat\webapps\sb-1\WEB-INF\classes\app>
    我就是象您说的那样设置的各个量./
      

  17.   

    RegisterAction.java 代码如下: 就是 struts in action 的第一个例子 ./package app; import org.apache.struts.action.*; 
    import javax.servlet.http.*; 
    import java.io.*; 
    public class RegisterAction extends Action { 
    public ActionForward perform (ActionMapping mapping, 
                                            ActionForm form, 
                                            HttpServletRequest req, 
                                            HttpServletResponse res) { 
    // ①Cast the form to the RegisterForm 
    RegisterForm rf = (RegisterForm) form; 
    String username = rf.getUsername(); 
    String password1 = rf.getPassword1(); 
    String password2 = rf.getPassword2(); 
    // ②Apply business logic 
    if (password1.equals(password2)) { 
    try { 
    // ③Return ActionForward for success 
    UserDirectory.getInstance().setUser(username,password1); 
    return mapping.findForward("success"); 
    } catch (UserDirectoryException e) { 
    return mapping.findForward("failure"); 


    // ④Return ActionForward for failure 
    return mapping.findForward("failure"); 

    }
      

  18.   

    你的这个action是没有错误,但是在你的import中怎么没有看到RegisterForm 的导入呢?
      

  19.   

    楼上说的 import app.RegisterForm;
    ??
      

  20.   

    这几个Java文件都需定义包名为app
      package app;编译: javac *.java
      

  21.   

    package app;没有文件开头都是导入这个包.
      

  22.   

    用这个命令 javac *.java
    就可以全部编译 生成 .class文件 
    出现一个信息:
    Note:RegisterAction.java uses or overrides a deprecated API.Note:Recompile with -deprecation for details.如果一个.java 文件一个的编译,到 RegisterAction.java 就出现D:\tomcat\webapps\sb-1\WEB-INF\classes\app>javac registeraction.java
    registeraction.java:12: cannot resolve symbol
    symbol  : class RegisterForm
    location: class app.RegisterAction
    RegisterForm rf = (RegisterForm) form;
    ^
    registeraction.java:12: cannot resolve symbol
    symbol  : class RegisterForm
    location: class app.RegisterAction
    RegisterForm rf = (RegisterForm) form;
                       ^
    registeraction.java:20: cannot resolve symbol
    symbol  : variable UserDirectory
    location: class app.RegisterAction
    UserDirectory.getInstance().setUser(username,password1);
    ^
    registeraction.java:22: cannot resolve symbol
    symbol  : class UserDirectoryException
    location: class app.RegisterAction
    } catch (UserDirectoryException e) {
             ^
    Note: registeraction.java uses or overrides a deprecated API.
    Note: Recompile with -deprecation for details.
    4 errors
    D:\tomcat\webapps\sb-1\WEB-INF\classes\app>这个错误信息。 郁闷  真么回师?
      

  23.   

    如果已经全部都定义相同的包名,那么同包内的类之间的互相引用是不需要import的.既然已经可以用javac *.java了,为什么还要单个地进行编译?Note: registeraction.java uses or overrides a deprecated API.
    提示你使用或覆盖了不赞成使用的方法.(:::有可能在以后的JDK中不再支持这个方法:::)