org.apache.catalina.core.StandardWrapperValve invoke 异常

不要让路上长上了杂草 2010-02-21 11:16:35
各位好,最近一个问题老是没有解决,现在贴出来请大家帮帮忙!下面是控制台出现的异常信息。

2010-2-10 16:03:28 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet debugjsp threw exception
java.lang.NullPointerException
at org.apache.jsp.sendgroupmsg111_jsp._jspService(sendgroupmsg111_jsp.java:236)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j
ava:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.ja
va:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)


现在我把源程序贴出来,请大家帮忙看看那里除了问题,谢谢!
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ include file="dblink.jsp"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>短信平台v1.0</title>
<link href="css/cont.css" rel="stylesheet" type="text/css">
<script language="javascript" type="text/javascript" src="js/My97DatePicker/WdatePicker.js"></script>
<script src="js/menu.js"></script>
<script type="text/javascript" src="js/limitWord1.js"></script>
<style type="text/css">
<!--
.STYLE1 {color: #EF8D3D}
.STYLE2 {color: #6699FF}
-->
</style>
</head>
<script type="text/javascript">
$(function() {
$('#datetime').datepicker({
duration: '',
showTime: true,
constrainInput: false
});
});
</script>
...全文
3588 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
session的取值是获取的数据库里的必填字段,应该没有为空的情况啊,不过程序是tomcat重新启动后的过了好长时间才出现的问题,访问正常,就是过了一段时间后才出现的异常,这不服务器重启到现在还能正常运行,并且没有异常出现,说不定什么时候又会出现异常
wlt0727 2010-02-22
  • 打赏
  • 举报
回复
常识问题啊。。。你的所有的session.getAttribute("...")都是直接转型的,如果session取值为空的话就会报空指针异常的。应该是先用Object对象去接收。然后判断是否为空不为空才转型。
生活 2010-02-22
  • 打赏
  • 举报
回复
在网上给你找了有三个原因
1.servlet或jsp中,重复调用response的 getOutputStream(),response.getWriter()方法
2.form表单里没有 method="post" action=""参数
3.看JDBC操纵数据库的代码,仔细看,例如调用的对象的属性为null。Connection conn=null; 之后之就调用了conn.??的方法

感觉是你的<form id="form1" name="form1" method="post" action="sendgroupmsg_action.jsp" style="margin:0px">
的事 你把POST 改成 Get试下
  • 打赏
  • 举报
回复
好像不是这个原因,出项这种异常的情况是这样的,当我重新启动tomcat后,程序没有抛出任何异常,页面也能够正常访问,不过过了一段时间后异常就出现了,并且页面也不能打开,是不是某些地方共享出现了问题,而这种问题是哪方面引起的呢?
  • 打赏
  • 举报
回复

<script language="javascript" type="text/javascript">
<!--
myAddEventListener(window, "load", testStatInput);
function testStatInput(){
statInput('content', 70, {_max : 'stat_max', _total : 'stat_total', _left : 'stat_left', _hint : true});
}
-->
</script>


<%
String Log=(String)session.getAttribute("log");
if(Log==null ){
out.println("<script language='javascript'>alert('您还没有登录!');window.location.href='login.jsp';</script>");
}
if(Log!=null && Log.equals("OK"))
{}
else{
out.println("<script language='javascript'>alert('登录不成功!');window.location.href='login.jsp';</script>");
}

String username=(String)session.getAttribute("Username");
username=username.trim();
//String remark=(String)session.getAttribute("Remark");
String spnumber=(String)session.getAttribute("spnumber");
spnumber=spnumber.trim();
%>
<%
String super1="super";
sql1="select * from SP_NQManager where SP_Username='"+username+"'";
Statement stmt1=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
r1=stmt1.executeQuery(sql1);


// String bigclass="";
String smallclass="";
String supper="";
int smallclassLength=0;
if(r1.next()){
smallclass=r1.getString("SP_Smallclass");
if(smallclass!=null){
smallclass=smallclass.trim();
smallclassLength=smallclass.length();
}
supper=r1.getString("SP_Super");
}
r1.close();
stmt1.close();
%>

<%!
public boolean isCheckedKuang(String str,int inKuangLength,String inKuangValue)
{
if(inKuangLength>=1)
{
for(int i=0;i<inKuangLength;i++)
{
if(inKuangValue.substring(i,i+1).equals(str))
return true;
}
}

return false;
}
public boolean isCheckedDoThing(String str,int inPowerLength,String inPowerValue)
{
inPowerLength=inPowerLength/2;
if(inPowerLength>=1)
{
for(int i=0,j=0;i<inPowerLength;i++)
{
if(inPowerValue.substring(j,j+2).equals(str))
{
return true;
}
j=j+2;
}
}

return false;
}//%>

<body class="right_body">
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="margin-bottom:5px;">
<tr>
<td width="13"><img src="images/2_11.gif" width="13" height="41" /></td>
<td valign="top" background="images/2_13.gif"><table width="100%" height="30" border="0" cellpadding="0" cellspacing="0">
<tr><td width="11" height="28" align="center"> </td>

<td width="131" height="28" align="center" class="right_font" id="t1" style="background:url(images/3_13.gif) no-repeat;padding-top:8px;" >短信群发</td>


<td height="28"> </td>
</tr>
</table></td>
<td width="13"><img src="images/2_15.gif" width="13" height="41" /></td>
</tr>
</table>
<table width="98%" border="0" cellpadding="0" cellspacing="2" >
<tr>
<td>

<form id="form1" name="form1" method="post" action="sendgroupmsg_action.jsp" style="margin:0px">
<table width="98%" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#a8c7ce">
<tr>
<td height="25" colspan="3" bgcolor="#C9D8FC" class="STYLE10"><div align="left"> 

短信群发
</div></td>
</tr>
<tr>
<td width="91" height="25" valign="middle" bgcolor="#FFFFFF"><div align="right">所属临时分组:</div></td>
<td width="354" height="25" valign="middle" bgcolor="#FFFFFF">  

<%
String buffersql="select max(groupid) as groupid from SMGP_APP1_Buffer_WebSingleSend ";
Statement bufferstmt=conn.createStatement();
ResultSet bufferrs=bufferstmt.executeQuery(buffersql);
int groupcount=0;
if(bufferrs.next()){
groupcount=bufferrs.getInt("groupid");
}
bufferrs.close();
bufferstmt.close();
groupcount=groupcount+1;
%>
<input name="groupcount" type="text" class="inptustyle" id="groupcount" value="<%= groupcount%>" size="6" maxlength="4"/>

</td>
<td width="679" rowspan="5" valign="top" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><iframe src="smscat_choice.jsp" height=30 width=300 frameborder=0 id=catchoice name=catchoice ></iframe></td>
</tr>
<tr>
<td><iframe src="kongde.jsp" height=260 width=400 frameborder=0 id=smslist name=smslist ></iframe></td>
</tr>
</table></td>
</tr>
<tr>
<td width="91" height="100" valign="top" bgcolor="#FFFFFF"><div align="right">
<p> </p>
<p> </p>
<p>短信内容:</p>
</div></td>
<td valign="middle" bgcolor="#FFFFFF"><div class="gray"><font color="#3399CC">   *最多可输入 <span id="stat_max" class="b_light"></span>,当前共 <span id="stat_total" class="b_light"></span>,还可输入 <span id="stat_left" class="b_light"></span></font> </div>   <textarea name="content" cols="45" rows="12" class="inptustyle" id="content" style="overflow-y:hidden" onfocus="ss=setInterval(sp,600)" onblur="clearInterval(ss)"></textarea></td>
</tr>
<tr>
<td width="91" height="30" valign="middle" bgcolor="#FFFFFF"><div align="right">SP号:</div></td>
<td width="354" valign="middle" bgcolor="#FFFFFF">  <%= spnumber%><input name="spno" type="text" class="inptustyle" id="spno" size="12" maxlength="15"/>
*sp号不能多于19位</td>
</tr>
<tr>
<td width="91" height="30" valign="middle" bgcolor="#FFFFFF"><div align="right">发送时间:</div></td>
<td width="354" valign="middle" bgcolor="#FFFFFF">  
<input name="time" type="text" class="inptustyle" id="time" onFocus="new WdatePicker(this,'%Y-%M-%D %h:%m',true,'default')" maxlength="15"/></td>
</tr>
<tr>
<td width="91" height="30" valign="middle" bgcolor="#FFFFFF"><div align="right">发送对象:</div></td>
<td width="354" valign="middle" bgcolor="#FFFFFF"> 

<%
if(supper!=null||isCheckedDoThing("13",smallclassLength,smallclass)){%>
<input type="radio" name="send" id="radio7" value="5" onclick="member11()"/>
联系簿
<%}%>
</td>
</tr>
</table>

<table width="98%" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#a8c7ce" id="dismember" style="display:none">
<tr>
<td width="92" height="25" bgcolor="#FFFFFF"><div align="right">联系人号码:</div></td>
<td width="1033" height="25" bgcolor="#FFFFFF" id="msg"> <span class="STYLE2">请在下面搜索区中搜索符合条件的联系人信息,进行号码添加!</span></td>
</tr>
</table>

<table width="98%" border="0" align="center" cellpadding="0" cellspacing="0" class="tablesty">
<tr>
<td width="94"> </td>
<td width="1032" height="30"> 
<input name="button" type="submit" class="buttonstyle" id="button" value="提交" /></td>
</tr>
</table>
</form>
</td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0" id="member1" style="display:none" >
<tr>
<th scope="col"><iframe src="center/member_dis.jsp" width="98%" height="600" scrolling=NO frameborder=0 id=notopen name=notopen ></iframe></th>
</tr>
</table>
<script language="javascript">
function member11(){
member1.style.display="";
dismember.style.display="";
}
</script>
<%
conn.close();

%>
</body>
</html>

生活 2010-02-21
  • 打赏
  • 举报
回复
是不是你没有那个jdk的.jar啊 ,导进去吧。

81,092

社区成员

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

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