| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 438 人关注过本帖
标题:[求助]这种错误是怎么回事呢?没见过!
只看楼主 加入收藏
独孤无痕
Rank: 1
等 级:新手上路
威 望:2
帖 子:159
专家分:0
注 册:2006-7-12
收藏
 问题点数:0 回复次数:4 
[求助]这种错误是怎么回事呢?没见过!
06/07/14 21:03:40 javax.servlet.ServletException: null

这就是它报的错误。
我debug程序,所有的逻辑都是正确的
但是最后它不转到相应的页面,反而继续执行catch exception
out这个exception它就显示的06/07/14 21:03:40 javax.servlet.ServletException: null

为什么呢?谢谢!!
2006-07-14 21:05
独孤无痕
Rank: 1
等 级:新手上路
威 望:2
帖 子:159
专家分:0
注 册:2006-7-12
收藏
得分:0 

为了更好的找出问题 我把代码贴一下
package mypackage;
import java.util.*;
import java.util.Date;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.PrintWriter;
import java.io.IOException;
import javax.sql.DataSource;
import java.sql.*;

public class logon extends HttpServlet
{
private static final String CONTENT_TYPE = "text/html; charset=GBK";

public void init(ServletConfig config) throws ServletException
{
super.init(config);
}

/**
* Process the HTTP service request.
*/
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{

Connection conn;
request.setCharacterEncoding("GBK");
Date date=new Date();
long logonTime=date.getTime();
String nickName=request.getParameter("nickName");
byte[] tempbyte=nickName.getBytes("ISO8859-1");
nickName=new String(tempbyte);
boolean canLogon=true;
String pwd=request.getParameter("pwd");
try{
DataSource ds =(DataSource)request.getSession().getServletContext().getAttribute("MyDataSrc");
conn=ds.getConnection();
Statement st=conn.createStatement();
//查看用户名是否存在
ResultSet rs=st.executeQuery("select * from chatuser where nickName='"+nickName+"'");
if (rs.next())
{
String id=rs.getString("id");
String repwd=rs.getString("pwd").trim();
long lastTime=rs.getLong("logonTime");
rs.close();
//登陆成功后 密码会保存15天
if ((logonTime-lastTime)>15*24*3600*1000)
{String sql="update chatuser set logonTime='"+logonTime+"',pwd='"+pwd+"' where nickName='"+nickName+"'";
st.executeUpdate(sql);}
else{
//用户名存在,但是密码错误的情况
if(repwd.compareTo(pwd)!=0)
{canLogon=false;}
else{String sql1="update chatuser set logonTime='"+logonTime+"' where nickName='"+nickName+"'";
st.executeUpdate(sql1); }
}
}
else
{rs.close();
String sql2="insert into chatuser(nickName,pwd,logonTime) values('"+nickName+"','"+pwd+"','"+logonTime+"')";
st.executeUpdate(sql2);}
if(!canLogon)
{request.setAttribute("function","对不起,您的输入有错误!请仔细检查后再试");
request.getSession().getServletContext().getRequestDispatcher("fail.jsp").forward(request,response); }
else
{//累计不同聊天室的人数
int num1=0;
int num2=0;
int num3=0;
String classmate="classmate";
String laugh="laugh";
String program="program";
String sql3="select id from userlist where chatRoom='"+laugh+"'";
rs=st.executeQuery(sql3);
while(rs.next())
{num1++;}
rs.close();
String sql4="select id from userlist where chatRoom='"+classmate+"'";
rs=st.executeQuery(sql4);
while(rs.next())
{num2++;}
rs.close();
String sql5="select id from userlist where chatRoom='"+program+"'";
rs=st.executeQuery(sql5);
while(rs.next())
{num3++;}
rs.close();


request.setAttribute("nickName",nickName);
request.setAttribute("num1",String.valueOf(num1));
request.setAttribute("num2",String.valueOf(num2));
request.setAttribute("num3",String.valueOf(num3));
request.getSession().getServletContext().getRequestDispatcher("logon.jsp").forward(request,response); }

}catch (Exception e)
{
System.out.print(e.toString());}
}

}

代码逻辑都正确,只是到最后它不跳转,而要得到例外。我晕了
麻烦了

[此贴子已经被作者于2006-7-14 21:17:09编辑过]


2006-07-14 21:15
独孤无痕
Rank: 1
等 级:新手上路
威 望:2
帖 子:159
专家分:0
注 册:2006-7-12
收藏
得分:0 
忘说了。那个fail页面可以转到的,就最后转不到哈

2006-07-14 21:27
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
汗啊,不是一般人能看得明白的

淘宝杜琨
2006-07-15 10:29
独孤无痕
Rank: 1
等 级:新手上路
威 望:2
帖 子:159
专家分:0
注 册:2006-7-12
收藏
得分:0 
问题解决了哈!

2006-07-15 16:30
快速回复:[求助]这种错误是怎么回事呢?没见过!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017609 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved