Я изучаю Servlets/jsps и имею несколько тестовых классов. Кажется, что все работает так, как ожидалось, единственная проблема, с которой я столкнулся, - это возможность скомпилировать простой Java-класс. Это класс:Класс не будет компилироваться в Dynamic Web Project в Eclipse
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;
}
}
СПЯ пытается получить доступ к нему довольно просто, и я не думаю, что это не имеет ничего общего с ним. Если кто-то хочет, чтобы я опубликовал его, дайте мне знать.
Вот Exception я получаю, когда класс инициализируется впервые:
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>
Проблема в вашем JSP, пожалуйста, опубликуйте его. Сервер не может скомпилировать JSP, это не о вашем классе Java («Невозможно скомпилировать класс для JSP»). – home
Согласен; JSP имеет к этому какое-то отношение, возможно, как вы пытаетесь импортировать. Не то, чтобы мы импортировали классы в JSP. –
Я также попытался добавить основной метод и самостоятельно выполнить компиляцию/запуск класса. Это тоже не скомпилировалось. – webhound