导入类不起作用。 “无法为JSP编译类”

时间:2017-01-02 10:18:54

标签: java tomcat

我知道这是一个常见的问题。到目前为止,我尝试了所有解决方案,但没有任何工作(或者我只是做得不正确)。

this is the error

here is my file hierarchy

.java个文件都在名为business_logic

的包中

以下是代码:

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

什么错了?

2 个答案:

答案 0 :(得分:0)

从文件层次结构的屏幕截图来看,您已在classes树中包含导入文件的源代码。您应该包含.class文件。

JSP编译器假定已经编译了所有导入的类。

答案 1 :(得分:0)

您保留.java文件的地方似乎并不合适。

通常,Java源文件保留在WEB-INF文件夹之外。根据类的包层次结构,只有已编译的.class文件放在WEB-INF/classes文件夹中。

将已编译的类放在WEB-INF/classes中,您的错误应该消失。

  

<强>更新

我在网上找到了这个截图。看看你是否可以通过与项目结构进行比较来找出路径。

Image

希望这有帮助!