救救我啊Unable to compile class for JSP
问题一
HTTP Status 500 -
--------------------------------------------------------------------------------
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: 8 in the jsp file: /getStudent.jsp
Generated servlet error:
[javac] Compiling 1 source file
I:\Tomcat 5.0\work\Catalina\localhost\test\org\apache\jsp\getStudent_jsp.java:42: cannot resolve symbol
symbol : class student
location: class org.apache.jsp.getStudent_jsp
student student = null;
^
An error occurred at line: 8 in the jsp file: /getStudent.jsp
Generated servlet error:
I:\Tomcat 5.0\work\Catalina\localhost\test\org\apache\jsp\getStudent_jsp.java:44: cannot resolve symbol
symbol : class student
location: class org.apache.jsp.getStudent_jsp
student = (student) pageContext.getAttribute("student", PageContext.PAGE_SCOPE);
^
An error occurred at line: 8 in the jsp file: /getStudent.jsp
Generated servlet error:
I:\Tomcat 5.0\work\Catalina\localhost\test\org\apache\jsp\getStudent_jsp.java:46: cannot resolve symbol
symbol : class student
location: class org.apache.jsp.getStudent_jsp
student = new student();
^
3 errors
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:127)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:351)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:415)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:458)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:552)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
note The full stack trace of the root cause is available in the Tomcat logs.
--------------------------------------------------------------------------------
Apache Tomcat/5.0.16
问题二
我用javac 命令怎么突然不可以编译java Servlet了, 编译jspBean没有问题
附 getStudent_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="student" scope="page" class="student">
</jsp:useBean>
<body bgcolor="#0099FF" text="#FFFFFF" link="#33FF00">
<p>
<%
String admin_id = (String)session.getAttribute("id");
if(admin_id==null){response.sendRedirect("login.jsp");}
String name="",id="",password="",jiguan="",dep="",sex="",tel="",mail="";
int mark=0;
%>
</p>
<p> </p>
<p align="center"><font color="#00FF00" size="+3" face="华文行楷">所有学生</font></p>
<p><a href="addstudent.jsp"><font size="+1" face="华文行楷">新加学生</font></a></p>
<div align="center">
<table width="75%" border="1">
<tr>
<td>学生号</td>
<td>姓名</td>
<td>密码</td>
<td>籍贯</td>
<td>系别</td>
<td>性别</td>
<td>学分</td>
<td>电话</td>
<td><p>E_mail</p></td>
<td>删除</td>
<td>更新</td>
</tr>
<%
ResultSet rs = student.getStudent();
while(rs.next())
{
id=rs.getString("id");
name=rs.getString("name");
password=rs.getString("password");
jiguan=rs.getString("jiguan");
dep=rs.getString("department");
sex=rs.getString("sex");
mark=rs.getInt("mark");
tel=rs.getString("tel");
if(tel==null || tel.equals(""))
tel="没有";
mail=rs.getString("e_mail");
if(mail==null || mail.equals(""))
mail="没有";
%>
<tr>
<td><%=id%></td>
<td><%=name%></td>
<td><%=password%></td>
<td><%=jiguan%></td>
<td><%=dep%></td>
<td><%=sex%></td>
<td><%=mark%></td>
<td><%=tel%></td>
<td><%=mail%></td>
<td><a href="StudentSvlt?action=delete&id=<%=id%>">删除</a></td>
<td><a href="updatestu.jsp?id=<%=id%> ">更新</a> </td>
</tr>
<%
}
%>
</table>
</div>
<p align="center"> </p>
<a href="admin.jsp"><<Back </a>
</body>
</html>
student
import java.sql.*;
public class student {
private String name;
private String password;
private String id;
private String jiguan;
private String sex;
private String dep;
public void setDep(String s){dep=s;}
public String getDep(){return dep;}
public void setSex(String s){sex=s;}
public String getSex(){return sex;}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getJiguan() {
return jiguan;
}
public void setJiguan(String jiguan) {
this.jiguan = jiguan;
}
public boolean hasLogin(String id){ //检查该学生是否已经注册
boolean f=true;
String sql="select id from student where id ='"+id+"'";
sqlBean db =new sqlBean();
try{
ResultSet rs=db.executeQuery(sql);
if(rs.next()){ f=false;}
else{ f=true;}
}catch(Exception e){ e.getMessage();}
return f;
}
public ResultSet getStudent(){
String sql="select * from student ";
sqlBean db= new sqlBean();
ResultSet rs = db.executeQuery(sql);
return rs;
}
public void updateStudent(){
String sql="update student "+
" set name='"+name+"',sex='"+sex+"',department='"+dep+"', "+
"password='"+password+"',jiguan='"+jiguan+"' "+
" where id='"+id+"' ";
sqlBean db= new sqlBean();
db.executeInsert(sql);
}
public void deleteStudent(){
String sql="delete from student where id ='"+id+"' ";
sqlBean db= new sqlBean();
db.executeDelete(sql);
}
public int deleteStudent(String id){
int num=0;
String sql="delete from student where id ='"+id+"' ";
sqlBean db= new sqlBean();
num=db.executeDelete(sql);
return num;
}
public void addStudent() {
String sql="insert into student(name,password,id,sex,department,jiguan) "+
"VALUES('"+name+"','"+password+"','"+id+"','"+sex+"','"+dep+"','"+jiguan+"')";
sqlBean db =new sqlBean();
db.executeInsert(sql);
}
}