我正在尝试将我的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)
答案 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文件。您应该始终将其放在用户定义的包下,然后访问它。