我正在学习Servlets / jsps并编写了一些测试类。一切似乎按预期工作,我遇到的唯一问题是能够编译一个简单的Java类。这是班级:
package ilya.model;
public class DatabaseConnection {
public String getConnection()
{
String result;
try {
Class.forName("org.postgresql.Driver");
System.out.println("found the driver");
result = "Connection established!";
}
catch (ClassNotFoundException e)
{
System.out.println("No driver");
result = "No Connection";
}
return result;
}
}
尝试访问它的jsp非常简单,我不认为它与它有任何关系。如果有人要我发布,请告诉我。
这是我第一次初始化课时收到的异常:
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 15 in the generated java file
Only a type can be imported. ilya.model.DatabaseConnection resolves to a package
这在常规Java项目中编译良好。有什么想法吗?
更新 这是JSP文件。它现在实际上正在运作。我在不同的机器上尝试了相同的项目,一切正常。 Eclipse必定有问题。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="ilya.model.BeerSuggestor, ilya.model.DatabaseConnection" %>
<%!
int count=0;
String connect;
public void jspInit() {
ServletConfig sconfig = getServletConfig();
String lname = sconfig.getInitParameter("lastName");
ServletContext context = sconfig.getServletContext();
context.setAttribute("lastName", lname);
}
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<%-- DatabaseConnection intialized here --%>
<%
DatabaseConnection db = new DatabaseConnection();
connect = db.getConnection();
%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<p>The count is: <%= this.count++ %></p>
<p>The count is: <%= 500 %></p>
<p>The count is: <%= config.getInitParameter("lastName") %></p>
<%-- Value of connect printed here --%>
<p>The connection result is: <%=" " + connect %>
</body>
</html>
答案 0 :(得分:1)
您在此处显示的JSP文件中不能使用普通Java ..
在Eclipse中的相应源文件夹中为此创建一个单独的类。
答案 1 :(得分:0)
同意先前的意见。看起来,您正在尝试直接从JSP建立数据库连接。
请检查JSP中的行,特别是在jsp中设置驱动程序的位置。
你也可以从你的jsp尝试这个。
<%
Class.forName("org.postgresql.Driver");
Connection myConn=DriverManager.getConnection("jdbcostgresql://localhost/db_name?user=db_user&password=db_pwd");
%>