applet servlet +url+ doget方法+getparameter("mode"),

tonybin 2002-04-02 08:29:03
我servlet中取参数时用try进行运用时为何总是有错?java.lang.NullPointerException但程序还可以继续.why?
try{
//取出用户的命令
mode=request.getParameter("mode") ;
user=request.getParameter("user") ;
//处理用户请求
if(mode.equals("logout"))
{
if(!users.exists(user))
{
sendError(response,"使用者不存在,或已退出");
}
users.addMessage(new Message("Chat",user+"已退出"));
sendResp(response,"用户已退出");
}
else if(mode.equals("poll"))
{
if(!users.exists(user))
{
sendError(response,"非法用户");
}
returnMessages(response,users.getMessages(user));
users.resetUser(user);
}
...全文
92 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ktyl2000 2002-04-05
  • 打赏
  • 举报
回复
you can use the getParameterName() method to test whether of not the request contains some parameter!!
Enumeration e=request.getParameterNamers();
while(e.hasMoreElements()){
out.print(e.nextElement());
}
tonybin 2002-04-02
  • 打赏
  • 举报
回复
为什么没有人会呀?
我的问题不会很难吧?难道没有人碰到这处问题?
我只是用request.getparameter("mode")时总抛出java.lang.NullPointerException错误,但程序还可以运行,why?这种程序应如何改进?
tonybin 2002-04-02
  • 打赏
  • 举报
回复
为什么没有人会呀?
我的问题不会很难吧?难道没有人碰到这处问题?
我只是用request.getparameter("mode")时总抛出java.lang.NullPointerException错误,但程序还可以运行,why?这种程序应如何改进?
tonybin 2002-04-02
  • 打赏
  • 举报
回复
up
chrischen79 2002-04-02
  • 打赏
  • 举报
回复
NullPointerException是最常见的exception了,原因是程序对为null的实例进行了操作。
以你程序为例,NullPointerException出在以下代码:
//取出用户的命令
mode=request.getParameter("mode") ;
user=request.getParameter("user") ;
//处理用户请求
if(mode.equals("logout"))
{
试想一下,如果发送给servlet的httpRequest里面没有参数mode和user会怎样?request.getParameter返回的是null。你用null.equals("logout"),当然会得到exception。

我建议写成if("logout".equals(mode))这样的形式,可以避免http参数不全带来的NullPointerException。或者,你提前判断需要的http参数是否齐全
topbit 2002-04-02
  • 打赏
  • 举报
回复
我不明白你说的程序还可以继续是什么意思。
Servlet缺省是多线程,即一个Servlet实例出现异常,不影响其它实例。

81,092

社区成员

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

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