我在..\WEB-INF\classes\db目录里创建了两个类,分别为UserInfo,UserRegist.我用UserRegist调用UserInfo.我单独编译UserInfo类可以通过,编译UserRegist类就会出现错误:
UserRegist.java:9: cannot resolve symbol
symbol : class UserInfo
location: class db.UserRegist
private UserInfo userinfo;但是我在..\WEB-INF\classes\db\目录用javac *.java 命令编译就都可以通过.小弟很是不解,还请高手帮帮忙,解决一下.以下是源码:
************** UserInfo ***************
package db;import java.util.Date;public class UserInfo
{
private String UserId;
private String Password;
public String getUserId()
{
System.out.println("getUserid="+this.UserId);
return this.UserId;
}
public String getPassword()
{
System.out.println("getPassword="+this.Password);
return this.Password;
}
public void setUserId(String userid)
{
System.out.println("setUserid="+userid);
this.UserId = userid;
}
public void setPassword(String passwd)
{
System.out.println("setPasswd="+passwd);
this.Password = passwd;
}
}
************** end UserInfo ************
************** UserRegist ***************
package db;import java.sql.*;public class UserRegist
{ private Connection conn;
private UserInfo userinfo;
public UserRegist()
{
String CLASSFORNAME = "org.gjt.mm.mysql.Driver";
String Servanddb = "jdbc:mysql://localhost/mydatabase?user=root&password=1985";
try{
Class.forName(CLASSFORNAME);
conn = DriverManager.getConnection(Servanddb);
}catch(Exception e){
System.err.println("can't connect Database");
}
}
public String GetNowDate(){
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date rightNow = new java.util.Date();
String now = sdf.format(rightNow);
return now;
}
public void SetUserInfo(UserInfo user)
{
this.userinfo = user;
System.out.println(" set User Info");
}
public void executeInsert(String sql)
{
Statement stmt;
try{
stmt = conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
}catch(Exception e){
System.out.println("ExecuteInsert error");
}
}
}************* end UserRegist ******************
UserRegist.java:9: cannot resolve symbol
symbol : class UserInfo
location: class db.UserRegist
private UserInfo userinfo;但是我在..\WEB-INF\classes\db\目录用javac *.java 命令编译就都可以通过.小弟很是不解,还请高手帮帮忙,解决一下.以下是源码:
************** UserInfo ***************
package db;import java.util.Date;public class UserInfo
{
private String UserId;
private String Password;
public String getUserId()
{
System.out.println("getUserid="+this.UserId);
return this.UserId;
}
public String getPassword()
{
System.out.println("getPassword="+this.Password);
return this.Password;
}
public void setUserId(String userid)
{
System.out.println("setUserid="+userid);
this.UserId = userid;
}
public void setPassword(String passwd)
{
System.out.println("setPasswd="+passwd);
this.Password = passwd;
}
}
************** end UserInfo ************
************** UserRegist ***************
package db;import java.sql.*;public class UserRegist
{ private Connection conn;
private UserInfo userinfo;
public UserRegist()
{
String CLASSFORNAME = "org.gjt.mm.mysql.Driver";
String Servanddb = "jdbc:mysql://localhost/mydatabase?user=root&password=1985";
try{
Class.forName(CLASSFORNAME);
conn = DriverManager.getConnection(Servanddb);
}catch(Exception e){
System.err.println("can't connect Database");
}
}
public String GetNowDate(){
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date rightNow = new java.util.Date();
String now = sdf.format(rightNow);
return now;
}
public void SetUserInfo(UserInfo user)
{
this.userinfo = user;
System.out.println(" set User Info");
}
public void executeInsert(String sql)
{
Statement stmt;
try{
stmt = conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
}catch(Exception e){
System.out.println("ExecuteInsert error");
}
}
}************* end UserRegist ******************
解决方案 »
- jsp使用cookie实现记住密码的功能
- 一道面试题
- 双缓冲问题
- 请教怎样设计一个员工类,实现对员工的增加、修改、查询功能?
- 急!急!急!关于JDBC的问题
- 线程与继承问题?
- 用SOCKET传输数据的问题?(急急急)
- 唉! byte 和 char---- 让我困惑已久!
- 怎样将bufferedImage转成byte[](散分)
- java有没有延时的方法???
- applet 中使用 java communication api 20出现ClassNotFoundException: com.sun.comm.Win32Driver异常
- 我想在JSP页中显示存储在ORACLE数据库中的图片,500分!
小弟我觉得是访问权限不对!
如果我说错了大家和楼主请见量!
BloodMaster(恍如隔世) :因为设了package所以照楼主这样做当然会出错/那为什么设了package 就会出错? 有点不理解. package不只是声明一个包名,好让其他类引用吗?
呵呵,如果你在环境变量中设置了...\WEB-INF\classes,那么编译应该没有问题的。我估计你现在的classpath包含 . 这个表示当前目录的符号。发现表达不是很清楚。
import java.sql.*;
......
private UserInfo userinfo;所以会去..\WEB-INF\classes\db\db文件夹下找UserInfo.class。
因为UserInfo.java 编译好后UserInfo.class在..\WEB-INF\classes\db文件夹下,
所以当然不会找到UserInfo.class