Tomcat 7显示了Hello World JSP中的编译错误



请查看信息

目标:要运行称为Java类的JSP页面,均位于Tomcat Server上

环境
服务器环境: linux
服务器: tomcat7.0.27
IDE:

JSP(只能显示字符串)

<%@page import="HelloWorld.HelloWorld" %>  
<HTML>  
<HEAD>  
<TITLE>Hello World/TITLE>  
</HEAD>  
<BODY>  
<H1>Hello World</H1>  
String is: <%= HelloWorld.HelloWorld.display() %>  
</BODY>  
</HTML>  

JSP位置:tomcat/webapps/hello/hello.jsp

Java类(只需返回字符串)
套餐helloworld;

public class HelloWorld {  
public static String display() {  
 return "Hello World!"; // Display the string.  
   }  
}  

Java类位置: tomcat/webapps/hello/hello/web-inf/class/class/helloworld/helloworld/helloworld.class.class• Java类编译操作: Javac -ClassPath Tomcat/lib/servlet-api.jar:.。-d/home/user/helloworld.java

•web.xml

<?xml version="1.0" encoding="Cp1252"?>  
<!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'>  
<web-app>  
<display-name>hello</display-name>  
<description>no description</description>  
<servlet>  
<servlet-name>hello</servlet-name>  
<display-name>hello</display-name>  
<description>no description</description>  
<jsp-file>/hello.jsp</jsp-file>  
</servlet>  
<session-config>  
<session-timeout>30</session-timeout>  
</session-config>  
</web-app>  

动作:o将Java类复制到目录o清洁tomcat/工作目录o关闭tomcato启动tomcato打开服务器:8080/Hello/Hello.jsp

问题:HTTP状态500org.apache.jasper.jasperexception:无法编译JSP 的类:在LINE上发生错误:14在生成的Java file 中无法解决import helloworld,无法解析发生错误在线:8中的8:/hello.jsp helloworld无法解决5: </HEAD> 6: <BODY> 7: <H1>Hello World</H1> 8: String is : <%= HelloWorld.HelloWorld.display() %> 9: </BODY> 10: </HTML>stacktrace:org.apache.jasper.compiler.defaulterrorhandler.javacerror(defaulterrorhandler.java:102)

在jsp中调用packagename.classname.stringreturningmethod()时没有语法错误该类位于包装文件夹中。

是什么原因造成的?

谢谢,

问题似乎与类名称等于软件包名称的事实有关。由于您要导入软件包,因此存在一个名称冲突

所以,您导入了 helloworld.helloworld ,然后尝试做 helloworld.helloworld.display()。Java将 helloworld .helloworld.display 的第一部分作为您导入的类,然后尝试寻找一个称为 helloworld 在该课程中。

长话短说,要么删除导入(因为您正在使用FQN),要么在调用 display()时不使用FQN。

最好的问候,

最新更新