一个很莫名其妙的问题
时间:2008-07-24 05:26:39
来源:论坛整理 作者: 编辑:chinaitzhe
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="mytest.Test"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here </title>
</head>
<body>
<%
Test t = new Test("qing");
out.println(t.getStr());
%>
</body>
</html>
目录结构为:
qing
-- src
-- mytest
-- Test.java
-- META-INF
-- WEB-INF
-- classes
-- web.xml
-- test.jsp
错误提示为:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 6 in the generated java file
Only a type can be imported. mytest.Test resolves to a package
An error occurred at line: 11 in the jsp file: /qq/test.jsp
Test cannot be resolved to a type
8: </head>
9: <body>
10: <%
11: Test t = new Test("qing");
12: out.println(t.getStr());
13: %>
14: </body>
An error occurred at line: 11 in the jsp file: /qq/test.jsp
Test cannot be resolved to a type
8: </head>
9: <body>
10: <%
11: Test t = new Test("qing");
12: out.println(t.getStr());
13: %>
14: </body>
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:93)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:435)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:298)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:302)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.26 logs.
网友回复://Test.java
package mytest;
public class Test {
private String str;
public Test(String str){
this.str = str;
}
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
}
网友回复:
- Java code
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="mytest.Test"%> <% String path = request.getContextPath(); String basePath = request.getScheme() "://" request.getServerName() ":" request.getServerPort() path "/"; %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <base href="<%=basePath%>"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here </title> </head> <body> <% Test t = new Test("qing"); out.println(t.getStr()); %> </body> </html>
这样试试看
网友回复:没有找到类啊..
你的应用程序名是qq,还是qing 是不是项目名搞错了.
网友回复: import="mytest.Test"%
把这句分开到 <%@ page import="mytest.Test"%>试试看
网友回复:或者改成 <%@ page import="mytest.*"%>
网友回复: <%
mytest.Test t = new mytest.Test("qing");
out.println(t.getStr());
%>
网友回复:
你的 jsp 文件 是放在qq下还是在qing下面 ?
似乎是你是路径不对....
检查改哈子....没问题的..
网友回复: <%@page import="mytest.Test"%>单写这句导包
网友回复:工程名是 qq 的, 上面打错了, 不过问题还是没解决, 不知道怎么回事
网友回复:看看第11行有没有非法的字符 例如全角/半角,或者中文输入状态
原因是jsp文件有错
和类没有关系
网友回复:
答:楼主的代码,我一行没动,在我的机器上(MyEclipse5.5 Tomcat5.5)运行没有任何问题啊。
网友回复:jsp文件编译出现错误,类Test不能被识别,可能是eclipse出现的怪问题,重新建个工程试试
网友回复:An error occurred at line: 6 in the generated java file
网友回复:理论上应该不会错的 我用MyEclipse6.0M tomcat5.5的, 但是就是导不进自己建的类, JDK里面的类导入却没有问题
网友回复:有没有一种定义自己类的路径的办法啊
网友回复:把工具全部重新装了, 把系统重新装了, 还是没得, 这个简单的JAVA BEAN都编译不了, 以后还怎么用啊.
网友回复:难说,LZ好运。。。
网友回复:在tomcat\webapp\qing\web-inf\classes下看看有没有mytest\Test.class
没有的话复制过去
网友回复:classes 里面是有类的. 编译器没提示有问题,但是服务器就是找不到.
网友回复:我真的无语了, 直接把classes文件夹加到classpath里面都还说找不到
网友回复:连把类打包,再把JAR文件加到工程中去,还是不行
我重新建一个空的工程, 里面就一个JSP文件, 我再把这个JAR文件加到工程中, 编译器没提示错误, 但是打开地址还是说找不到包.
另外我导入像 <%@ page import="java.util.Date" %> 却没有问题, 而且也可以用.
tomcat也试了4.1 / 5.5 / 6.0版本,结果都是一样. 工具用eclipse3.3 eclipse3.2 都是那样.
我重装系统, 直接配置JDK1.5, 解压eclipse工具, 然后再安装tomcat, 建个新的工程, 运行, 结果还是找不到包, 不管包名有没有, 也不管包名有多少层, 我自己手动的用DOS编译JAVA文件, 还是不行, 再手动打包, 也是一样.
我都有加到工程里面的, 而且也肯定成功添加了的, 因为在文件里面没有红色的波浪线, 假如没有导入的话是有的.
我确定真的加到工程里面的了, 但是又真的是提示找不到.
不知道是怎么的回事, 我真的想不到还有其他的什么办法了. 假如你有我还没用过的方法, 都可以提出来.
网友回复:理解,我当初也是配环境问题搞了几天,楼主加油
网友回复:导入包 <%@page import="mytest.Test"%>
网友回复:怎么会有这个问题呢
网友回复:是不是你配置java环境的时候,压根就没配置完全?
多找几篇配置的文章,看看自己哪些地方没有配。
假如别人那里都能出来,那肯定是你的一些问题。
网友回复:谁实现了的能不能说一下自己的步骤。
说一下用的工具和环境,顺便说一下是怎么配置的,建什么样的工程,具体一点吧。一百分送上。
网友回复:都是这些环境配置的问题
多看看书,好多书说的都不一样,各种方法都试试,多理解他们的原理
多实践
找本讲到环境配置比较全的书看看,或者到网上找也可以,一步一步跟着配
楼主加油
网友回复:建议思路理清后再发一遍贴
关键字:一个,莫名其妙,问题,
下一篇:下面没有链接了











文章评论
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面