java.lang.NullPointerException请问这是什么错误?为什么会出现这样的错误?多谢了(没分了)

lci21 2001-06-12 09:55:00
我的jsp测试文件:1.jsp

<%@page contentType="text/html;GB2312"%>
<%@page import="content.test"%>
<html>
<body>
<%test.hi();%>

</body>
</html>
运行是浏览器窗口中什么输出都没有!
请问这是为什么呢?tomcat窗口中出现java.lang.NullPointerException
我用的是tomcat1.3

我已经在当前应用中的web-inf下的classes先创建文件夹content,并在content下建立
test.java文件
test.java的内容如下:
package content;

import javax.servlet.jsp.*;
public final class test
{
static JspWriter out = null;
public void setOut(JspWriter out)
{
this.out = out;
}
public static void hi()
{
try
{
out.println("hi");
}
catch(Exception e){System.out.println(e);}
}
}

希望诸位不吝赐教,多谢了
...全文
136 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lci21 2001-07-03
已经搞定,多谢了
回复
packy_li 2001-06-26
<%@page contentType="text/html;charset=GB2312" %>
加入页面最前边
回复
mikej 2001-06-17
1722561,一般晚上都在,常年隐身,我是夜猫子,呵呵,当然我对bean也不是太熟悉,因为我的iPlanet也不熟悉,大家都可以一块儿探讨探讨,交个朋友。
回复
lci21 2001-06-17
to mikej:非常感激,我的本意是:创建一个最终类的静态方法,然后在jsp中直接调用此方法来处理一些数据,现在我已经改用javabean了,已经没问题了,再次感谢!对了,请问你的oicq能告诉我吗?如果可以的话,请直接留下或发到我的信箱里。我的信箱:lci21@china.com
回复
mikej 2001-06-16
对了,在写class的时候一定要注意编程规范, 所有的class首部字母大写,而其他的变量不允许首部字母大写;所有的成员变量最好都是private,用getXX() 和 setXX() 或者在 构造函数中对变量进行初始化和读取成员变量的数值.所有的过程函数都是private,只提供必要的接口.这样才能最大限度的避免出错.
回复
mikej 2001-06-16
给我一个回答,怎么没有class的构造函数?????
<%
import javax.servlet.jsp.*;
%>
<%!
public final class Test //class用大写
{
private JspWriter out = null;//此处好像应该引用JspWriter的构造函数吧
//此处没有添加 test class的构造函数吧.
public Test ()
{
}
public void setOut(JspWriter out)
{
this.out = out;
}
public static void hi()
{
try
{
out.println("hi");
}
catch(Exception e){System.out.println(e);}
}
}

%>
你出的错误是把null赋值给了一个不允许为空的东西.
而且引用一个class实例或者编写编写class必须调用或者编写 构造函数,建议找本最基础的编写class看看,java,c++都行.

回复
zjfsamuel 2001-06-14
你试一试用test代替this 如何?
给我回答:

zjftlx@chinese.com
回复
lci21 2001-06-12
不行啊,我测试了一下,还是和原先一样,浏览器没有输出,tomcat创提示java.lang.NullPointerException,唉!看来这个问题真的不太好解决啊!
唉!唉!
回复
hexiaofeng 2001-06-12
package content;

import javax.servlet.jsp.*;
import java.lang.*;

public final class test
{
static JspWriter out = null;
public void setOut(JspWriter out)
{
this.out = out;
}
public static void hi()
{
try
{
out.println("hi");
}
catch(Exception e){System.out.println(e);}
}
}
回复
lci21 2001-06-12
不行啊,编译就通不过,
系统认为this.out中的this为非静态变量。
唉!
回复
llkh 2001-06-12
public static void setOut(){}
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2001-06-12 09:55
社区公告
暂无公告