我的程序经常出现java.lang.NullPointerException,怎么样来防止出现这种错误?

boyandgirl 2001-11-26 03:33:03
大家提提意见好吗??
...全文
138 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
boyandgirl 2001-11-27
  • 打赏
  • 举报
回复
相关给ycats(加菲猫) 
我现在碰到的问题是,我要打印一个表单,怎么样来处理,这个问题是比较棘手的,能够解决一下吗?
ycats 2001-11-27
  • 打赏
  • 举报
回复
呵呵¦¦其实是||,当userName==null 时,后面也不会执行了。
lvhy 2001-11-26
  • 打赏
  • 举报
回复
应该这样

if (userName!=null && userName.length()<1) {}

要用“&&”,这样在userName为null时,就不会有userName.length的调用了。
boyandgirl 2001-11-26
  • 打赏
  • 举报
回复
给ycats(加菲猫) 
if((username==null)¦¦(username.length()<1)){%>
是不是要把所有的都改掉,对了,哪个动态菜单问题,现在能够给我吗?我很着急
对了现在还要完成打印功能,我不知道怎么样来实现,能够和我说说怎么解决吗,有列子可以给我看看吗?按照你以前给我的想法,做动态菜单不是很好吗,不能够动态的显示,我现在比较急切拉,谢谢你,能够帮我解决一下吗??
我邮箱是cjjtlg@21cn.com
ycats 2001-11-26
  • 打赏
  • 举报
回复
if((username==null)¦¦(username.length()<1)){%>
boyandgirl 2001-11-26
  • 打赏
  • 举报
回复
我按照你的方法去做,不能够成功。
if((username==null)¦¦(username.equals("")))
这个什么意思?
happynet 2001-11-26
  • 打赏
  • 举报
回复
出现的错误并不是每次都出现的是么?
所以我估计有一条:就是,你的username并不是每次都有值,所以造成错误。
错误的原因有可能是if((username==null)¦¦(username.equals("")))
中的username.equals(""),你把它用username==""来代替!看看能否成功,
boyandgirl 2001-11-26
  • 打赏
  • 举报
回复
java.lang.NullPointerException
at allaire.jrun.jsp.XT.process(../jsp/XT.java:68)
at allaire.jrun.jsp.Translator.processPage(../jsp/Translator.java:217)
at allaire.jrun.jsp.Translator.translate(../jsp/Translator.java:397)
at allaire.jrun.jsp.Translator.translate(../jsp/Translator.java:92)
at allaire.jrun.jsp.JSPTranslator.translate(../jsp/JSPTranslator.java:75)
at allaire.jrun.jsp.JSPTranslator.translate(../jsp/JSPTranslator.java:67)
at allaire.jrun.jsp.JSPServlet.service(../jsp/JSPServlet.java:216)
at allaire.jrun.jsp.JSPServlet.service(../jsp/JSPServlet.java:196)
at allaire.jrun.servlet.JRunSE.service(../servlet/JRunSE.java:1416)
at allaire.jrun.session.JRunSessionService.service(../session/JRunSessionService.java:1082)
at allaire.jrun.servlet.JRunSE.runServlet(../servlet/JRunSE.java:1270)
at allaire.jrun.servlet.JRunRequestDispatcher.forward(../servlet/JRunRequestDispatcher.java:89)
at allaire.jrun.servlet.JRunSE.service(../servlet/JRunSE.java:1552)
at allaire.jrun.servlet.JRunSE.service(../servlet/JRunSE.java:1542)
at allaire.jrun.servlet.JvmContext.dispatch(../servlet/JvmContext.java:364)
at allaire.jrun.http.WebEndpoint.run(../http/WebEndpoint.java:115)
at allaire.jrun.ThreadPool.run(../ThreadPool.java:272)
at allaire.jrun.WorkerThread.run(../WorkerThread.java:75)

boyandgirl 2001-11-26
  • 打赏
  • 举报
回复
<%@ page language="java"%>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*"%>
<%@page contentType="text/html; charset=gb2312"%>
<%@page import="work.com.data.*"%>
<%
String username=request.getParameter("username0");
out.print(username);
%>
<html>
<head>
<title>用户权限设定</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="JavaScript">
<!--
function changeuser(){
var name1=document.username1.username0.value;
window.location="sam_userright.jsp?username0="+name1
}
-->
</script>
</head>

<body bgcolor="#E7E6D8" text="#000000">
<div align="center"><font size="6" color="#6633ff">用户权限设定</font></div>
<br>
<form method="post" name="username1">
<table width="80%" border="1" height="500" align="center" cellspacing="0" cellpadding="0">
<tr>
<td colspan="3" height="55">
<div align="center">用户名:
<select style="height:21,width:240" name="username0" onChange="changeuser();">
<option value="">***请选择***</option>
<%
opendb data=new opendb();
String sqlu="select username from sam_user order by username";
ResultSet rsu=data.executeQuery(sqlu);
while (rsu.next()){
String id=rsu.getString("username");
%>
<option value="<%=id%>" ><%=id%></option>
<%}
rsu.close();
%>
</select>
</div>
</td>
</tr>
</form>
<form method="post" name="userright1" action="sam_userright_act.jsp">
<tr>
<td colspan="3" height="24"><font color="#E171A6">系统管理</font>:</td>
</tr>
<tr valign="middle">
<td height="50" width="33%">
<div align="center"><font color="#339966">公司信息维护</font></div>
<div align="center">
<input type="checkbox" name="company" value="sam_company"<%
String sql1="select * from sam_user_prog where username='"+username+"' and prog_id='sam_company'";
ResultSet rs1=data.executeQuery(sql1);
if((username==null)||(username.equals(""))){%>
>
<%}
else if(rs1.next())
out.print(" checked>");
else out.print(">");
rs1.close();
%>
浏览
<input type="checkbox" name="company" value="sam_companynew"<%
String sql2="select * from sam_user_prog where username='"+username+"' and prog_id='sam_companynew'";
ResultSet rs2=data.executeQuery(sql2);
if((username==null)||(username.equals(""))){%>
>
<%}
else if(rs2.next()) out.print(" checked>");
else out.print(">");
rs2.close();
%>
<font color="#E18A51">新建</font>
<input type="checkbox" name="company" value="sam_companyup"<%
String sql3="select * from sam_user_prog where username='"+username+"' and prog_id='sam_companyup'";
ResultSet rs3=data.executeQuery(sql3);
if((username==null)||(username.equals(""))){%>
>
<%}
else if(rs3.next()) out.print(" checked>");
else out.print(">");
rs3.close();
%>
<font color="#FF0000">修改</font> </div>
</td>
<td height="50" width="34%">
<div align="center"><font color="#339966">分公司信息维护</font><br>
<input type="checkbox" name="cause" value="sam_cause"<%
String sql4="select * from sam_user_prog where username='"+username+"' and prog_id='sam_cause'";
ResultSet rs4=data.executeQuery(sql4);
if((username==null)||(username.equals(""))){%>
>
<%}
else if(rs4.next()) out.print(" checked>");
else out.print(">");
rs4.close();
%>
浏览
<input type="checkbox" name="cause" value="sam_causenew"<%
String sql5="select * from sam_user_prog where username='"+username+"' and prog_id='sam_causenew'";
ResultSet rs5=data.executeQuery(sql5);
if((username==null)||(username.equals(""))){%>
>
<%}
else if(rs5.next()) out.print(" checked>");
else out.print(">");
rs5.close();
%>
<font color="#E18A51">新建</font>
<input type="checkbox" name="cause" value="sam_causeup"<%
String sql6="select * from sam_user_prog where username='"+username+"' and prog_id='sam_causeup'";
ResultSet rs6=data.executeQuery(sql6);
if((username==null)||(username.equals(""))){%>
>
<%}
else if(rs6.next()) out.print("checked>");
else out.print(">");
rs6.close();
%>
<font color="#FF0000">修改</font></div>
</td>
<td height="50" width="33%">
<div align="center">
<font color="#339966">分公司人员信息维护</font><br>
<input type="checkbox" name="hrm" value="sam_hrm"<%
String sql7="select * from sam_user_prog where username='"+username+"' and prog_id='sam_hrm'";
ResultSet rs7=data.executeQuery(sql7);
if((username==null)||(username.equals(""))){%>
>
<%}
else if(rs7.next()) out.print(" checked>");
else out.print(">");
rs7.close();
%>
浏览
<input type="checkbox" name="hrm" value="sam_hrmnew"<%
String sql16="select * from sam_user_prog where username='"+username+"' and prog_id='sam_hrmnew'";
ResultSet rs16=data.executeQuery(sql16);
if((username==null)||(username.equals(""))){%>
>
<%}
else if(rs16.next()) {out.print(" checked>");}
else {out.print(">");}
rs16.close();
%>
<font color="#E18A51">新建</font>
<input type="checkbox" name="hrm" value="sam_hrmupdate"<%
String sql17="select * from sam_user_prog where username='"+username+"' and prog_id='sam_hrmupdate'";
ResultSet rs17=data.executeQuery(sql17);
if((username==null)||(username.equals(""))){%>
>
<%}
else if(rs17.next()) {out.print(" checked>");}
else {out.print(">");}
rs17.close();
%>
<font color="#FF0000">修改</font></div>
</td>
</tr>
<tr valign="middle">
<td width="33%" height="50">
<div align="center">
<font color="#339966">系统用户信息维护</font><br>
<input type="checkbox" name="user" value="sam_userbrow"<%
String sql8="select * from sam_user_prog where username='"+username+"' and prog_id='sam_userbrow'";
ResultSet rs8=data.executeQuery(sql8);
if((username==null)||(username.equals(""))){%>
>
<%}
else if(rs8.next()) out.print(" checked>");
else out.print(">");
rs8.close();
%>

浏览
<input type="checkbox" name="user" value="sam_usernew"<%
String sql9="select * from sam_user_prog where username='"+username+"' and prog_id='sam_usernew'";
ResultSet rs9=data.executeQuery(sql9);
if((username==null)||(username.equals(""))){%>
>
<%}
else if(rs9.next()) out.print(" checked>");
else out.print(">");
rs9.close();
%>
<font color="#E18A51">新建</font>
<input type="checkbox" name="user" value="sam_userbrower,sam_userup_act"<%
String sql10="select * from sam_user_prog where username='"+username+"' and prog_id='sam_userbrower'";
ResultSet rs10=data.executeQuery(sql10);
if((username==null)||(username.equals(""))){%>
>
<%}
else if(rs10.next()) out.print(" checked>");
else out.print(">");
rs10.close();
%>
<font color="#FF0000">修改</font>
<input type="checkbox" name="user" value="sam_userdel"<%
String sql11="select * from sam_user_prog where username='"+username+"' and prog_id='sam_userdel'";
ResultSet rs11=data.executeQuery(sql11);
if((username==null)||(username.equals(""))){%>
>
<%}
else if(rs11.next()) out.print(" checked>");
else out.print(">");
rs11.close();
%>
<font color="#E18A51">删除</font>
</div>
</td>
<td width="34%" height="50">
<div align="center"><font color="#339966">产品信息查询</font><br>
<input type="checkbox" name="product" value="sam_productframeset"<%
String sql12="select * from sam_user_prog where username='"+username+"' and prog_id='sam_productframeset'";
ResultSet rs12=data.executeQuery(sql12);
if((username==null)||(username.equals(""))){%>
>
<%}
else if(rs12.next()) out.print(" checked>");
else out.print(">");
rs12.close();
%>
查询</div>
</td>
<td width="33%" height="50">
<div align="center"><font color="#339966">工厂日历查询</font><br>
<input type="checkbox" name="calendar" value="sam_calendarFrameset"<%
String sql13="select * from sam_user_prog where username='"+username+"' and prog_id='sam_calendarFrameset'";
ResultSet rs13=data.executeQuery(sql13);
if((username==null)||(username.equals(""))){%>
>
<%}
else if(rs13.next()) out.print(" checked>");
else out.print(">");
rs13.close();
%>
查询</div>
</td>
</tr>
<tr valign="middle">
<td width="33%" height="50">
<div align="center"><font color="#339966">管理员设定</font><br>
<input type="checkbox" name="administrator" value="sam_adminstrator"<%
String sql14="select * from sam_user_prog where username='"+username+"' and prog_id='sam_administrator'";
ResultSet rs14=data.executeQuery(sql14);
if((username==null)||(username.equals(""))){%>
>
<%}
else if(rs14.next()) out.print(" checked>");
else out.print(">");
rs14.close();
%>
修改</div>
</td>
<td width="34%" height="50">
<div align="center"><font color="#339966">用户权限维护</font><br>
<input type="checkbox" name="userright" value="sam_userright"<%
String sql15="select * from sam_user_prog where username='"+username+"' and prog_id='sam_userright'";
ResultSet rs15=data.executeQuery(sql15);
if((username==null)||(username.equals(""))){%>
>
<%}
else
if(rs15.next()) out.print("checked>");
else out.print(">");
rs15.close();
%>
修改</div>
</td>
<td width="33%" height="50">
<div align="center"><font color="#339966">系统日志查询</font><br>
<input type="checkbox" name="checkbox522" value="checkbox">
查询</div>
</td>
</tr>
<tr valign="top">
<td width="32%" height="50">
<div align="center"></div>
</td>
<td width="33%" height="50">
<div align="center"></div>
</td>
<td width="35%" height="50" valign="middle">
<div align="center">
<input type="hidden" name="samuser" value="<%=username%>">
<input type="submit" name="Submit" value=" 确定 " style="HEIGHT: 29px; WIDTH: 111px">
</div>
</td>
</tr>
</table>
</form>
</body>
</html>
看看啦,我前几天还好好的,现在烦恼死了!能够解决我就给分
beyondii 2001-11-26
  • 打赏
  • 举报
回复
对象没有初始化之前不要调用他的方法和属性,基本可以解决这个问题
happynet 2001-11-26
  • 打赏
  • 举报
回复
贴点源程序啦!要不怎么猜啦!呵呵1

81,114

社区成员

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

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