BEAN的问题,为何总是报 cannot resolve symbol问题

hgw_ycl_bull 2005-05-12 10:44:40
我在网上下了一个学生成绩管理系统,配置好了ODBC数据源,我看它的连接串
private String DatabaseConnStr="jdbc:odbc:ClassDB2,'sa',sa";,不知其中的后面的用户与口令两个串是否可以不要
我的JSP文件路径在C:\Tomcat 4.1\webapps\test\下
我的class文件在C:\Tomcat 4.1\webapps\test\WEB-INF\classes\test下应该说路径是对的呀,但是一运行http://localhost:8080/test/AddClass.jsp它就报如下错误type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 6 in the jsp file: /AddClass.jsp

Generated servlet error:
[javac] Compiling 1 source file

C:\Tomcat 4.1\work\Standalone\localhost\test\AddClass_jsp.java:49: cannot resolve symbol
symbol : class classp
location: class org.apache.jsp.AddClass_jsp
classp classp = null;
^



An error occurred at line: 6 in the jsp file: /AddClass.jsp

Generated servlet error:
C:\Tomcat 4.1\work\Standalone\localhost\test\AddClass_jsp.java:51: cannot resolve symbol
symbol : class classp
location: class org.apache.jsp.AddClass_jsp
classp = (classp) pageContext.getAttribute("classp", PageContext.PAGE_SCOPE);
^



An error occurred at line: 6 in the jsp file: /AddClass.jsp

Generated servlet error:
C:\Tomcat 4.1\work\Standalone\localhost\test\AddClass_jsp.java:54: cannot resolve symbol
symbol : class classp
location: class org.apache.jsp.AddClass_jsp
classp = (classp) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "classp");
^
3 errors


at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:130)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:293)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:353)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:370)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)




...全文
951 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
su27007 2005-05-12
  • 打赏
  • 举报
回复
JavaBean必须放在package里面,
classp.java文件上面要加一个
---------------------------
package xxx;
---------------------------
然后编译后放到 WEB-INF\classes
这个目录下.
最后在AddClass.jsp文件上调用时,
要这样用.
---------------------------
<jsp:useBean id="classp" scope="page" class="xxx.classp"/>
---------------------------
MARS.nEIL 2005-05-12
  • 打赏
  • 举报
回复
sa可以不要,当你没有设置用户密码的情况下.
AddClass.jsp中的classp bean放在包里面..
hgw_ycl_bull 2005-05-12
  • 打赏
  • 举报
回复
class.java

import java.sql.*;
public class classp {

private String id;
private String cour_id;
private String tea_id;
private String room_id;
private String cour_time;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getCour_id() {
return cour_id;
}
public void setCour_id(String cour_id) {
this.cour_id = cour_id;
}
public String getTea_id() {
return tea_id;
}
public void setTea_id(String tea_id) {
this.tea_id = tea_id;
}
public String getRoom_id() {
return room_id;
}
public void setRoom_id(String room_id) {
this.room_id = room_id;
}
public String getCour_time() {
return cour_time;
}
public void setCour_time(String time) {
this.cour_time = time;
}

public ResultSet getTeachers(){
String sql="select id,name from teacher ";
sqlBean db = new sqlBean();
ResultSet rs = db.executeQuery(sql);
return rs;
}

public ResultSet getCourses(){
String sql="select id,name from course ";
sqlBean db = new sqlBean();
ResultSet rs = db.executeQuery(sql);
return rs;
}

public boolean hasLogin(String id){
boolean f=false;
String sql="select id from classes where id ='"+id+"'";
sqlBean db =new sqlBean();
try{
ResultSet rs=db.executeQuery(sql);
if(rs.next()){ f=true;}
else{ f=false;}
}catch(Exception e){ e.getMessage();}
return f;
}

public String hasMoreclass(String tea_id,String cour_time){ //检查教师是否同一时间上两门课程

String temp="";
String sql="select id from classes "+
"where tea_id='"+tea_id+"' and cour_time='"+cour_time+"' ";
sqlBean db =new sqlBean();
try{
ResultSet rs=db.executeQuery(sql);
if(rs.next()){ temp=rs.getString("id");}
else{ temp="no";}
}catch(Exception e){ System.out.print(e.getMessage());}
return temp;
}


public void addClass(){

String sql="insert into classes(id,tea_id,cour_id,room_id,cour_time) "+
"values('"+id+"','"+tea_id+"','"+cour_id+"','"+room_id+"','"+cour_time+"') ";
try{
sqlBean db =new sqlBean();
db.executeInsert(sql);} catch(Exception e){System.out.print(e.toString());}
}


public void updateClass(String id,String tea_id,String cour_id,
String room_id,String cour_time){
String sql="update classes "+
" set tea_id='"+tea_id+"',cour_id='"+cour_id+"',"+
"room_id='"+room_id+"',cour_time='"+cour_time+"' "+
" where id='"+id+"' ";
sqlBean db= new sqlBean();
db.executeInsert(sql);
}

public void updateClass(String id,String cour_id,
String room_id){
String sql="update classes "+
" set cour_id='"+cour_id+"',"+
"room_id='"+room_id+"' "+
" where id='"+id+"' ";
sqlBean db= new sqlBean();
db.executeInsert(sql);
}

public int deleteClass(String id){
int num=0;
String sql="delete from classes where id ='"+id+"' ";
sqlBean db= new sqlBean();
num=db.executeDelete(sql);
return num;
}

public ResultSet getClasses(){

String sql="select classes.id,tea_id,cour_id,room_id,cour_time, "+
"course.name as cour_name,teacher.name as tea_name "+
"from classes ,course,teacher "+
"where classes.cour_id=course.id "+
"and classes.tea_id=teacher.id ";
sqlBean db= new sqlBean();
ResultSet rs = db.executeQuery(sql);
return rs;
}


}
sqlbean.java
import java.io.*;
import java.sql.*;

public class sqlBean{///

public Connection conn=null;

public ResultSet rs=null;

private String DatabaseDriver="sun.jdbc.odbc.JdbcOdbcDriver";
//DataSource 数据源名称DSN
private String DatabaseConnStr="jdbc:odbc:ClassDB2,'sa',sa";

//定义方法
/*setXxx用于设置属性值;getXxx用于得到属性值*/
public void setDatabaseDriver(String Driver){
this.DatabaseDriver=Driver;
}
public String getDatabaseDriver(){
return (this.DatabaseDriver);
}

public void setDatabaseConnStr(String ConnStr){
this.DatabaseConnStr=ConnStr;
}
public String getDatabaseConnStr(){
return (this.DatabaseConnStr);
}

public sqlBean(){/////构造函数
try{


Class.forName(DatabaseDriver);
}
catch(java.lang.ClassNotFoundException e){
System.err.println("加载驱动器有错误:"+e.getMessage( ));
System.out.print("执行插入有错误:"+e.getMessage());//输出到客户端
}
}


public int executeInsert(String sql){
int num=0;
try{
conn = DriverManager.getConnection("jdbc:odbc:ClassDB","limq","123");
Statement stmt=conn.createStatement( );
num=stmt.executeUpdate(sql);
}
catch(SQLException ex){
System.err.println("执行插入有错误:"+ex.getMessage() );
System.out.print("执行插入有错误:"+ex.getMessage());//输出到客户端
}

CloseDataBase();
return num;
}
// display data

public ResultSet executeQuery(String sql){
rs=null;
try{
conn = DriverManager.getConnection("jdbc:odbc:ClassDB","limq","123");
Statement stmt=conn.createStatement( );
rs=stmt.executeQuery(sql);
}
catch(SQLException ex){
System.err.println("执行查询有错误:"+ex.getMessage() );
System.out.print("执行查询有错误:"+ex.getMessage()); //输出到客户端
}

return rs;
}
// delete data
public int executeDelete(String sql){
int num=0;
try{

conn = DriverManager.getConnection("jdbc:odbc:ClassDB","limq","123");
Statement stmt=conn.createStatement( );
num=stmt.executeUpdate(sql);
}
catch(SQLException ex){
System.err.println("执行删除有错误:"+ex.getMessage() );
System.out.print("执行删除有错误:"+ex.getMessage()); //输出到客户端
}
CloseDataBase();
return num;
}
//////////////////
public void CloseDataBase(){
try{
conn.close();
}
catch(Exception end){
System.err.println("执行关闭Connection对象有错误:"+end.getMessage( ) );
System.out.print("执行执行关闭Connection对象有错误:有错误:"+end.getMessage()); //输出到客户端
}
}
}


hgw_ycl_bull 2005-05-12
  • 打赏
  • 举报
回复
addclass.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="errorpage.jsp" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<jsp:useBean id="classp" scope="page" class="classp"/>
<body bgcolor="#0099FF" text="#FFFFFF">
<p>
<%
String admin_id = (String)session.getAttribute("id");
if(admin_id==null){response.sendRedirect("login.jsp");}
String name="";
String id="";
%>
</p>
<p align="center"><font color="#00FF00" size="+3" face="华文行楷">新增班级 </font></p>
<form name="form1" method="post" action="ClassSvlt">
<input type="hidden" name="action" value="new">
<table width="38%" border="1" align="center">
<tr>
<td width="29%">班级号</td>
<td width="71%"><input name="id" type="text" id="id2"> </td>
</tr>
<tr>
<td>教师</td>
<td><select name="tea_id" size="1" id="tea_id">
<%
ResultSet rs = classp.getTeachers();
while(rs.next()) {
id=rs.getString("id");
name=rs.getString("name");
%>
<option value="<%=id%>"><%=name%></option>
<%
}
%>
</select></td>
</tr>
<tr>
<td>课程</td>
<td><select name="cour_id" id="cour_id">
<%
rs= classp.getCourses();
while(rs.next()){
id=rs.getString("id");
name=rs.getString("name");
%>
<option value="<%=id%>"><%=name%></option>
<%
}
%>
</select></td>
</tr>
<tr>
<td>教室ID</td>
<td><select name="room_id" size="1" id="room_id">
<option>101</option>
<option>102</option>
<option>103</option>
<option>104</option>
<option>105</option>
<option>201</option>
<option>202</option>
<option>203</option>
<option>204</option>
<option>205</option>
<option>301</option>
<option>302</option>
<option>303</option>
<option>304</option>
<option>305</option>
<option>306</option>
</select></td>
</tr>
<tr>
<td>上课时间</td>
<td><select name="cour_time" size="1" id="cour_time">
<option value="Mon_1">星期一/一节</option>
<option value="Mon_2">星期一/二节</option>
<option value="Mon_3">星期一/三节</option>
<option value="Tues_1">星期二/一节</option>
<option value="Tues_2">星期二/二节</option>
<option value="Tues_3">星期二/三节</option>
<option value="Wed_1">星期三/一节</option>
<option value="Wed_2">星期三/二节</option>
<option value="Wed_3">星期三/三节</option>
<option value="Thurs_1">星期四/一节</option>
<option value="Thurs_2">星期四/二节</option>
<option value="Thurs_3">星期四/三节</option>
<option value="Fri_1">星期五/一节</option>
<option value="Fri_2">星期五/二节</option>
<option value="Fri_3">星期五/三节</option>
</select></td>
</tr>
</table>
<p align="center">
<input type="submit" name="Submit" value="提交">
</p>
<p> </p>
</form>
<a href="getClass.jsp"><<Back </a>
</body>
</html>

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧