在 Tomcat (JSP) 上为我的网络应用程序使用 class,"The import my_matrix cannot be resolved"

Using a class for my webapp on Tomcat (JSP), "The import my_matrix cannot be resolved"

我正在尝试在 tomcat 7.0.52 上对我的 index.jsp 文件使用 class。我是 运行 使用 WAR 文件的 webapp,/test/WEB-INF/classes/matrix.class 从同一目录中的 matrix.java 编译它。我收到错误

An error occurred at line: [14] in the generated java file: [/var/lib/tomcat7/work/Catalina/localhost/test2/org/apache/jsp/index_jsp.java] The import my_matrix cannot be resolved

index.jsp:

<%@page import="my_matrix"%>

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title>Apache Tomcat</title>
</head>

<body>
<%
    System.out.println( "Evaluating date now" );
    java.util.Date date = new java.util.Date();
%>
Hello!  The time is now
<%
    out.println( date );
    out.println( "<BR>Your machine's address is " );
    out.println( request.getRemoteHost());
    matrix test = new matrix();
%>

<br><br>

<form method="get">
    <td><input type="number" name="lim" value="0"></td>
    <input type="submit" value="Submit">
</form>

<% 
    int n = 0;

    if(request.getParameter("lim") != null)
        n = Integer.parseInt(request.getParameter("lim")); 
%>

<TABLE BORDER=2>
<%
    for ( int i = 0; i < n; i++ ) {
        %>
        <TR>
        <TD>Number</TD>
        <TD><%= i+1 %></TD>
        </TR>
        <%
    }
%>
</TABLE>
</body>
</html>

matrix.class (matrix.java):

package my_matrix;
public class matrix
{   
   public void myMatrix()
   {
     System.out.println("dbpool evidence!");
   }
}

class定义为

package my_matrix;
public class matrix

并且您正在这样导入:

<%@page import="my_matrix"%>

Java 无法在 classes 上的默认包中导入 classes。因此,请确保 matrix class 在正确的 class 路径中:/test/WEB-INF/classes/my_matrix/matrix 并使用 class 名称导入:<%@page import="my_matrix.matrix"%>

此外,请注意仅导入 class 不会自动调用其 main() 方法。