2012-03-21 5 views
1

に動的Webプロジェクトでコンパイルして書かれたいくつかのテストクラスを持っていません。すべてが期待どおりに動作するようですが、私が実行している唯一の問題は単純なJavaクラスをコンパイルできることです。これはクラスである:それにアクセスしようとしているクラスは、私は、サーブレット/ JSPに関する学んでいるの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; 
} 

}

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で何か間違っている必要があります。あなたがここに表示されてあなたがJSPファイル内のプレーンJavaを使用することはできません

<%@ 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

問題はJSPにありますので、投稿してください。サーバーはJSPをコンパイルできません。Javaクラスではありません( 'JSP用のクラスをコンパイルできません')。 – home

+0

合意。 JSPには何かがあります。おそらく、どのようにインポートしようとしているのでしょうか。クラスをJSPにインポートする必要はありません。 –

+0

私はまた、mainメソッドを追加し、独自のクラスをコンパイル/実行しようとしました。どちらもコンパイルされません。 – webhound

答えて

1

..

は、このためのEclipse内の適切なソースフォルダ内の別のクラスを作成します。

+0

これは別のクラスです。それがクラスのすべてのコードです。 – webhound

+0

ビルドシステムが壊れています。 WARにエクスポートし、WEB-INF/classes階層を調べてみてください。 –

+0

私はあなたの権利は、構築システムが動作していないと思う。私は別のコンピュータで同じプロジェクトを試してみました。 – webhound

0

は、以前のコメントに同意しました。あなたのJSPから直接データベース接続を確立しようとしているようです。

特別にあなたはJSPでドライバを設定している場合は、JSP内の行を確認してください。

あなたにも、あなたのJSPからこれを試すことができます。

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

JSPのjspInit()メソッドにDatabaseConnectionオブジェクトのインポートディレクティブとインスタンス化しかありません。 – webhound

+0

jspInit()メソッドは、JSPの翻訳フェーズ中に生成されたメソッドです。あなたがJSPで書くものは、Javaクラスで翻訳されます。スクリプトレットを作成してデータベースに接続しようとしましたか? – conceptSeeker

+0

たぶんそれはちょうどinit()でした。私は記憶から行く。インポートステートメントとオブジェクトのインスタンスを追加するまではうまくいきました。私は家に帰ると約3時間で実際のJSPを投稿します。 – webhound

関連する問題