导入类的问题,怎么也想不明白

kekan 2007-05-01 08:32:22
工作目录为webapps\zz\
自己写的类password.class放在webapps\zz\WEB-INF\classes\zz下面
package zz;

import java.io.*;

public class password
{
private String filePath;
private String password;

public password(String filePath) {
this.filePath = filePath;
}

public String getPassword() {
try {
FileInputStream inputFile = new FileInputStream(filePath);
ObjectInputStream in = new ObjectInputStream(inputFile);
password = (String)in.readObject();
in.close();
inputFile.close();
} catch(Exception e) {
e.printStackTrace();
}
return password;
}

public void setPassword(String password) {
try {
FileOutputStream outputFile = new FileOutputStream(filePath);
ObjectOutputStream out = new ObjectOutputStream(outputFile);
out.writeObject(password);
out.flush();
out.close();
outputFile.close();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
}


JSP页面test.jsp放在webapps\zz\pages\11\下
<%@ page contentType="text/html; charset=gb2312" language="java" import="zz.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<%
String password = "111";
out.println(password);

password pass = new password("psd.ini");
//pass.setPassword(password);
%>
<body>
</body>
</html>

为什么运行时就出错,错误如下
org.apache.jasper.JasperException: Unable to compile class for JSP:


An error occurred at line: 12 in the jsp file: /pages/11/test.jsp
password cannot be resolved to a type
9: String password = "111";
10: out.println(password);
11:
12: password pass = new password("psd.ini");
13: //pass.setPassword(password);
14: %>
15: <body>


An error occurred at line: 12 in the jsp file: /pages/11/test.jsp
password cannot be resolved to a type
9: String password = "111";
10: out.println(password);
11:
12: password pass = new password("psd.ini");
13: //pass.setPassword(password);
14: %>
15: <body>


Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:85)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:415)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:308)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:308)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

...全文
367 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
kekan 2007-05-07
  • 打赏
  • 举报
回复
顶顶顶
kekan 2007-05-07
  • 打赏
  • 举报
回复
原来如此,真是不仔细啊。
luckydog2000 2007-05-07
  • 打赏
  • 举报
回复
<%@ import="beans.JavaBean" %>这里
应该是<%@ page import="beans.JavaBean" %>
kekan 2007-05-06
  • 打赏
  • 举报
回复
顶到解决了为止
kekan 2007-05-04
  • 打赏
  • 举报
回复
试过了,还是提示错误
Unable to load class for jsp
zio1983 2007-05-03
  • 打赏
  • 举报
回复
<jsp:useBean class="beans.JavaBean" id="JavaBean" scope="page"></jsp:useBean>


把JavaBean.class,放在你的环境变量所设路径下的\beans里
kekan 2007-05-03
  • 打赏
  • 举报
回复
luckydog2000 2007-05-02
  • 打赏
  • 举报
回复
帮顶下
kekan 2007-05-02
  • 打赏
  • 举报
回复
继续顶
kekan 2007-05-01
  • 打赏
  • 举报
回复
顶下,难道今天高手都不在?
kekan 2007-05-01
  • 打赏
  • 举报
回复
将上述类改写
package zz;

import java.io.*;

public class password
{
private String filePath;
private String password;

public String getFilePath() {
return filePath;
}

public void setFilePath() {
this.filePath = filePath;
}

public String getPassword() {
try {
FileInputStream inputFile = new FileInputStream(filePath);
ObjectInputStream in = new ObjectInputStream(inputFile);
password = (String)in.readObject();
in.close();
inputFile.close();
} catch(Exception e) {
e.printStackTrace();
}
return password;
}

public void setPassword(String password) {
try {
FileOutputStream outputFile = new FileOutputStream(filePath);
ObjectOutputStream out = new ObjectOutputStream(outputFile);
out.writeObject(password);
out.flush();
out.close();
outputFile.close();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
}


JSP页面test.jsp也改写
<%@ page contentType="text/html; charset=gb2312" language="java" import="zz.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<%
String password = "111";
out.println(password);

password pass = new password();
pass.setFilePath("psd.ini");
//pass.setPassword(password);
%>
<body>
</body>
</html>
同样出现上述问题。

另外你说的
3.路径有没有问题
是什么意思,路径我已经贴出来了,就是搞不清楚问题在什么地方啊
ruanjiantaotao 2007-05-01
  • 打赏
  • 举报
回复
你的javeabean没有遵守javabean的规范:
1.public的构造函数
2.settter,getter函数配对
3.路径有没有问题
kekan 2007-05-01
  • 打赏
  • 举报
回复
上面写错个地方JavaBean.java应该在webapps\qzjz\WEB-INF\classes\beans下,反正不管我放什么地方都不行,包括编译好的JavaBean.class。
kekan 2007-05-01
  • 打赏
  • 举报
回复
之后又写了一个更简单的用于测试
webapps\qzjz\WEB-INF\classes\JavaBean.java

package beans;

public class JavaBean {
private String name = null;

public void setName(String name) {
this.name = name;
}

public String getName() {
return this.name;
}
}


webapps\qzjz\pages\test\test.jsp

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ import="beans.JavaBean" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
<%
JavaBean jb = new JavaBean();
jb.setName("abc");
out.println(jb.getName());
%>
</body>
</html>


结果还是不行,出现如下错误
type Exception report

message

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

exception

org.apache.jasper.JasperException: /pages/test/test.jsp(2,4) Invalid directive
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:516)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1557)
org.apache.jasper.compiler.Parser.parse(Parser.java:127)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:212)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:156)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:296)
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:299)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
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.23 logs.

真是没想法了,大家快教教我啊,到底是什么地方的问题
kekan 2007-05-01
  • 打赏
  • 举报
回复
能说具体点吗?什么问题啊
Kipen 2007-05-01
  • 打赏
  • 举报
回复
12: password pass = new password("psd.ini");
这句的问题

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧