今天用eclipse连接数据库的时候遇到了这个错误 Unable to compile class for JSP
真的头大,捣鼓了好久就差卸载重新配置了。
下面贴出我的源代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.*"%>
<%@page import="java.sql.DriverManager;"%>//***这个地方重复调用了***
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<head>
<title>Test</title>
</head>
<body>
<%
Class.forName("com.mysql.jdbc.Driver");//动态加载mysql驱动
Connection conn =DriverManager.getConnection("jdbc:mysql://localhost:3306/studentinfo","root","sa");
Statement stmt =conn.createStatement();
ResultSet RS_result=stmt.executeQuery("select* from student");
String sno,sname,sex;
while(RS_result.next())
{
sno = RS_result.getString("sno");
sname = RS_result.getString("sname");
sex=RS_result.getString("sex");
%>
<P><%=sno%>
<%=sname%>
<%=sex %>
</p>
<%
}
stmt.close();
conn.close();
%>
</body>
</html>
在网上搜了好多解决办法,大部分人的观点都是tomcat版本低于jdk版本的配置问题,试了好多种方法都无果之后,让我有种删掉重新配置的冲动。
但是冷静下来重新分析了一下给出的问题代码
其中有这么一段
java.lang.IllegalArgumentException: 网页指令:无效引用
org.apache.jasper.compiler.Node$PageDirective.validateImport(Node.java:628)
org.apache.jasper.compiler.Node$PageDirective.addImport(Node.java:609)
关于import,在网上也看到了一些导入的包冲突的观点于是就看了一下自己导入的import,
<%@page import="java.sql.*"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager;"%>
果然有疑似冲突的地方,就尝试了一下删掉了后面两句。就成功了。。。
被自己蠢哭浪费了太多时间