at java.lang.Thread.run(Unknown Source)

儒将风范 2011-07-31 11:39:29
用Servlet做东西。用Jcreator编写代码。连接sqlServer2005数据库,用tomcat5.X做后台,运行界面无法跳转,tomcat后台跳至 at java.lang.Thread.run(Unknown Source) 就停止了。
代码如下:
//这是登陆界面
//文件名:Login.java
package com.first;

import javax.servlet.http.*;

import java.io.*;

public class Login extends HttpServlet
{
//处理get请求
//req:用于获得客户端(浏览器)信息
//res:用于向客户端返回信息
public void doGet(HttpServletRequest req,HttpServletResponse res)
{
//业务逻辑
try
{
//中文乱码解决方法
res.setContentType("text/html;charset=gbk");

PrintWriter pw=res.getWriter();
//返回登陆界面
pw.println("<html>");
pw.println("<body>");
pw.println("<h1>登陆界面</h1>");
pw.println("<form action=logincl method=post>");
pw.println("用户名:<input type=text name=username><br>");
pw.println("密码:<input type=password name=passwd><br>");
pw.println("<input type=submit value=login><br>");
pw.println("</form>");
pw.println("</body>");
pw.println("</html>");
}
catch(Exception ex)
{
ex.printStackTrace();
}
}

//处理pot请求
//req:用于获得客户端(浏览器)信息
//res:用于向客户端返回信息
public void doPost(HttpServletRequest req,HttpServletResponse res)
{
this.doGet(req,res);
}
}


//用户验证Servlet
//文件名:LoginCl.java
package com.first;

import javax.servlet.http.*;

import java.io.*;
import java.sql.*;//连接数据库所用的包

public class LoginCl extends HttpServlet
{
//处理get请求
//req:用于获得客户端(浏览器)信息
//res:用于向客户端返回信息
public void doGet(HttpServletRequest req,HttpServletResponse res)
{
Connection ct=null;
Statement sm=null;
ResultSet rs=null;
//业务逻辑
try
{
//接收用户名和密码
String u=req.getParameter("username");
String p=req.getParameter("passwd");

//连接数据库
//加载驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//得到连接
ct=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=spdb");
//创建一个statement
sm=ct.createStatement();
//查询
rs=sm.executeQuery("select top 1 passwd from users where username='"+u+"' and passwd='"+p+"'");

if(rs.next())
{
//说明用户是存在的
String dbPasswd=rs.getString(1);

if(dbPasswd.equals(p))
{
//合法
//将用户信息存入到session
HttpSession hs=req.getSession(true);
hs.setMaxInactiveInterval(60);
hs.setAttribute("name",u);

//跳转wel
res.sendRedirect("wel");
}
}
else
{
//说明用户不存在
//不合法
//跳转
res.sendRedirect("login");//写跳转到的界面的URL
}


//验证
/* if(rs.next())
{
//合法
//将验证成功的信息写入session
//得到session
HttpSession hs=req.getSession(true);
//修改session存在时间
hs.setMaxInactiveInterval(20);
hs.setAttribute("pass","ok");

//跳转到welcome
res.sendRedirect("wel?uname="+u+"&upass="+p);
}
else
{
//不合法

//跳转
res.sendRedirect("login");//写跳转到的界面的URL
}*/
}
catch(Exception ex)
{
ex.printStackTrace();
}
finally
{
try
{
if(rs!=null)
{
rs.close();
}
if(sm!=null)
{
sm.close();
}
if(ct!=null)
{
ct.close();
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
}

//处理pot请求
//req:用于获得客户端(浏览器)信息
//res:用于向客户端返回信息
public void doPost(HttpServletRequest req,HttpServletResponse res)
{
this.doGet(req,res);
}
}

//欢迎界面
//文件名:Wel.java
package com.first;

import javax.servlet.http.*;

import java.io.*;

public class Wel extends HttpServlet
{
//处理get请求
//req:用于获得客户端(浏览器)信息
//res:用于向客户端返回信息
public void doGet(HttpServletRequest req,HttpServletResponse res)
{
//得到session
HttpSession hs=req.getSession(true);
String val=(String)hs.getAttribute("pass");
//判断
if(val==null)
{
try
{
//非法登陆
res.sendRedirect("login");
}
catch(Exception ex)
{
ex.printStackTrace();
}

}

//得到从logincl得到的用户名
String a=req.getParameter("uname");
//得到从logincl得到的密码
String b=req.getParameter("upass");
//业务逻辑
try
{
PrintWriter pw=res.getWriter();

pw.println("wel,hello "+a+" "+b);
}
catch(Exception ex)
{
ex.printStackTrace();
}
}

//处理pot请求
//req:用于获得客户端(浏览器)信息
//res:用于向客户端返回信息
public void doPost(HttpServletRequest req,HttpServletResponse res)
{
this.doGet(req,res);
}
}

求高手指点…………
...全文
2045 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
KAO1982215 2011-08-08
  • 打赏
  • 举报
回复
我也是出现这个问题,你解决得了吗??有可能是配置插件的问题

50,527

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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