2017-01-02 17 views
0

これはよくある質問です。私はこれまでのすべてのソリューションを試しましたが、何も動作していません(または私はちょうどそれを正しくしませんでした)。クラスをインポートできません。 "JSP用のクラスをコンパイルできません"

<%@ page import="business_logic.*" %> 
<% 
LicenseManagement.ini(); 
String F_name = LicenseManagement.myUser.getName(); 
%> 
<nav class="nav"> 

<h3>Menue</h3> 
<p><b>You are logged in as:</b></p> 
<p>F_name, L_name</p> 
<a href='logout.jsp'>Log out</a> 
<br> 
<br> 
<p><b>User Menue</b></p> 
<ul> 

    <li><a href="dashboard.jsp">Dashboard</a></li> 
    <li><a href="mylicenses.jsp">My Licenses</a></li> 
    <li><a href="requestlicense.jsp">Request License</a></li> 

</ul> 

<% 
if (!(session.getAttribute("admin") == null) ||  (session.getAttribute("admin") == "")) { 
%> 
<br> 
<p><b>Admin Menue</b></p> 
<ul> 
    <li><a href="newprogram.jsp">New Program</a></li> 
    <li><a href="newlicense.jsp">New License</a></li> 
</ul> 

.javaファイルは、すべてのパッケージに含まれてい

this is the error

here is my file hierarchy

はコードである。ここbusiness_logic

と呼ばれます

何が間違っていますか?

答えて

0

ファイル階層のスクリーンショットから判断すると、インポートされたファイルのソースコードはclassesツリーに含まれています。代わりに.classファイルを含める必要があります。

JSPコンパイラは、インポートされたすべてのクラスがすでにコンパイル済みであるとみなします。

+0

あなたの答えをありがとう。 IntelliJを使用していますが、.classファイルは見つかりません。私はコマンドラインでコンパイルできることを知っています。しかし、コードを更新するたびにそれを行う必要がありますか? – Loading

0

.javaファイルを保管している場所が正しくないようです。

一般に、JavaソースファイルはWEB-INFフォルダの外部に保存されます。コンパイルされた.classファイルのみが、クラスのパッケージ階層に従ってWEB-INF/classesフォルダに配置されます。

コンパイルされたクラスをWEB-INF/classesに配置すると、エラーがなくなります。

更新

私は、ウェブ上で、このスクリーンショットを見つけました。プロジェクトの構造と比較することで、経路を把握できるかどうかを見てみましょう。

Image

は、この情報がお役に立てば幸い!

+0

.classファイルを自動的に正しいフォルダに配置するにはどうすればよいですか?今私はコマンドラインを介してそれらをコンパイルし、クラスを正しいフォルダに移動する必要があります。 私はこれを行うためのよりよい方法があると思います。 Iam using intellij – Loading

+0

私はIntelliJを使用していません。 Eclipseでは、WebプロジェクトはJSPのための 'WebContent' fodlerを作成し、WebContent for Javaソースファイルの外に' src'フォルダーを作成します。 'srs'のこれらのJavaファイルはコンパイルされ、クラスファイルはEclipseによって自動的に' WEB-INF/classes'フォルダに移動さ​​れます。私はIntelliJのフォルダ構造の階層についてはわかりません。 – anacron

関連する問題