在jsp文件中导入java类时出错

时间:2014-05-30 09:13:58

标签: java jsp tomcat

我正在尝试将我的java类导入jsp

我的java文件名为test2.java 我的jsp文件名是test1.jsp

这两个文件都在同一个文件夹中,即/var/lib/tomcat7/webapps/ROOT/

这是我的代码:

<html>
<head><title>Hello World</title></head>
<body>
Hello World!<br/>   
<%@ page import="test2" %>

<%
out.println("Your IP address is " + request.getRemoteAddr());
%>
</body>
</html>

当我在apache tomcat server中运行时出错。这是错误:

type Exception report

message java.lang.ClassNotFoundException: org.apache.jsp.test1_jsp

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.test1_jsp
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:177)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

3 个答案:

答案 0 :(得分:1)

三件事

更改您的类名以符合标识符的Java样式规则:类名应始终以大写字母开头。

在导入中提供完整的package.class名称

编译器在WEB-INF / Classes / yourpackage / yourclass

中查找类

答案 1 :(得分:0)

首先将test2.java放在一个包中,例如com / test / test2 其次,使用&lt;%@ page import =&#34; com.test.test2&#34;%&gt;而不是&lt;%@ page import =&#34; test2&#34;%&gt;

应用程序服务器可能难以在jsp中处理没有包的类。

答案 2 :(得分:0)

确保您的JSP页面位于项目的Web Pages文件夹下。

同样在Source Packages文件夹下,创建一个名为sample的新包并将您的java文件放在其下,然后在JSP页面上访问此java文件:

<%@page import="sample.test2" %>

Java不会导入存储在默认包中的java文件。您应该始终将其放在用户定义的包下,然后访问它。