Java 班级获胜';Eclipse中动态Web项目中的t编译

Java 班级获胜';Eclipse中动态Web项目中的t编译,java,eclipse,dynamic,Java,Eclipse,Dynamic,我正在学习servlet/JSP,并编写了一些测试类。一切似乎都如预期的那样工作,我遇到的唯一问题是能够编译一个简单的Java类。这是一节课: package ilya.model; public class DatabaseConnection { public String getConnection() { String result; try { Class.forName("org.postgresql.Driver"); Syste

我正在学习servlet/JSP,并编写了一些测试类。一切似乎都如预期的那样工作,我遇到的唯一问题是能够编译一个简单的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>

在此处插入标题
计数为:

计数为:

计数为:

连接结果是:
您不能像这里显示的那样在JSP文件中使用纯Java


为此,在Eclipse中相应的源文件夹中创建一个单独的类。

您不能像这里显示的那样在JSP文件中使用纯Java


为此,在Eclipse中相应的源文件夹中创建一个单独的类。

同意前面的评论。看起来,您正试图直接从JSP建立数据库连接

请检查JSP中的行,特别是在JSP中设置驱动程序的地方

您也可以从jsp中尝试这一点

<%
 Class.forName("org.postgresql.Driver");
 Connection myConn=DriverManager.getConnection("jdbcostgresql://localhost/db_name?user=db_user&password=db_pwd");
%>

同意之前的评论。看起来,您正试图直接从JSP建立数据库连接

请检查JSP中的行,特别是在JSP中设置驱动程序的地方

您也可以从jsp中尝试这一点

<%
 Class.forName("org.postgresql.Driver");
 Connection myConn=DriverManager.getConnection("jdbcostgresql://localhost/db_name?user=db_user&password=db_pwd");
%>


问题出在您的JSP中,请发布它。服务器无法编译JSP,这与Java类无关(“无法为JSP编译类”)。同意;JSP与此有关,可能与您尝试导入的方式有关。我们不应该将类导入JSP。我还尝试添加一个main方法,并自行编译/运行该类。它也不会编译。我稍后会发布JSP,我面前没有它。基本上有一个导入语句:。。。然后是一个jspInit()方法,该方法实例化DatabaseConnection(第15行)。服务器无法编译JSP,这与Java类无关(“无法为JSP编译类”)。同意;JSP与此有关,可能与您尝试导入的方式有关。我们不应该将类导入JSP。我还尝试添加一个main方法,并自行编译/运行该类。它也不会编译。我稍后会发布JSP,我面前没有它。基本上有一个导入语句:。。。然后是一个jspInit()方法,该方法实例化DatabaseConnection(第15行)。JSP中的jspInit()方法中只有一个导入指令和DatabaseConnection对象的实例化。jspInit()方法是JSP翻译阶段生成的方法。在jsp中编写的任何内容都将在java类中进行翻译。您是否尝试过编写脚本来连接数据库?可能只是init()。我从记忆中走出来。在添加import语句和对象实例化之前,我知道它工作得很好。我将在回家后大约3小时后发布实际的JSP。JSP中的jspInit()方法中只有一个导入指令和DatabaseConnection对象的实例化。jspInit()方法是JSP翻译阶段生成的方法。在jsp中编写的任何内容都将在java类中进行翻译。您是否尝试过编写脚本来连接数据库?可能只是init()。我从记忆中走出来。在添加import语句和对象实例化之前,我知道它工作得很好。我会在回家后大约3小时内发布实际的JSP。你的构建系统坏了。尝试导出到WAR并调查WEB-INF/classes层次结构。我认为您是对的,构建系统不起作用。我在另一台计算机上尝试了同一个项目,一切都正常。你的构建系统坏了。尝试导出到WAR并调查WEB-INF/classes层次结构。我认为您是对的,构建系统不起作用。我在另一台计算机上尝试了同一个项目,一切正常。