为啥的的mvc中得servlet失败,不过编译成功了,再tomcat运行不了

一代天骄 2011-11-27 01:23:22
servlet
loginservlet.java


package test;
import dbcon.DB;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class loginservlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException{
request.setCharacterEncoding("GBK");
HttpSession mysession=request.getSession(true);
if(mysession==null)
{
response.sendRedirect("Clogin.jsp");
}
try{
String user=request.getParameter("uid");
String passward=request.getParameter("password");
DB db=new DB();
boolean A=db.check(user,passward);
if(A=true)
{response.sendRedirect("chenggong.jsp");}
else{response.sendRedirect("shibai.jsp");}
}catch (Exception e){}
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
doGet(request,response);
}



javabean DB.java


package dbcon;
import java.sql.*;

public class DB{

private Connection conn;
private Statement stmt;
private ResultSet rs;

public void getcon()throws Exception{

Class.forName("com.mysql.jdbc.Driver").newInstance();
conn= DriverManager.getConnection("jdbc:mysql://localhost/test","root","root");
stmt=conn.createStatement();
}
public boolean check(String uid,String passward)throws Exception
{

String selectquery="select * from student where Name='"+uid+"'";
boolean A=true;
rs=stmt.executeQuery(selectquery);
if(rs.next())
{ A=true;}
else{A=false;};

return A;

}
public void close()throws Exception{

conn.close();
stmt.close();
}

}

jsp
<%@page language="java" contentType="text/html;charset=GBK"%>
<html>
<head>
<title>报名系统 </title>
</head>
<table>
<form name="login" action="loginservlet" method="post">
<tr>
<td>登录名:<input type="text" name="uid" ></td>
</tr>
<tr>
<td>密&&码:<input type="text" name="passward" ></td>
</tr>
<tr>
<td> <input type="submit" value="登陆" ></td>
<td> <input type="button" value="注册" onclick="window.location='Cregister.jsp'"></td>
</tr>

</form>

</table>


ps:其他运行都正常就是servlet失败了,失败的提示如下::
...全文
230 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
一代天骄 2011-11-29
  • 打赏
  • 举报
回复
AWUSOFT brooklyng60帮助我解决了问题,谢谢啊,不过我运行了是空白页,没有跳转,汗
一代天骄 2011-11-28
  • 打赏
  • 举报
回复
一代天骄 2011-11-28
  • 打赏
  • 举报
回复
一代天骄 2011-11-28
  • 打赏
  • 举报
回复
Left_you 2011-11-28
  • 打赏
  • 举报
回复
这问题我也遇到了, 同样求解啊...
一代天骄 2011-11-28
  • 打赏
  • 举报
回复
DB.class编译成功了,也放到WEB-INF\classes\test\dbcon,没有用elipse的,直接用的jdk。
brooklyng60 2011-11-28
  • 打赏
  • 举报
回复
正解,确实是,名字不对,报的是没找到dbcon.DB类,你起的名字是
WEB-INF\classes\test\dbcon命名空间错了
awusoft 2011-11-28
  • 打赏
  • 举报
回复
因为你在servlet写的是import dbcon.DB
那么应该是classes/dbcon/下的DB.class
awusoft 2011-11-28
  • 打赏
  • 举报
回复
DB.class编译成功了,也放到WEB-INF\classes\test\dbcon,没有用elipse的,直接用的jdk。


这个路径是错的,应该是
WEB-INF\classes\dbcon
rockay2006 2011-11-28
  • 打赏
  • 举报
回复
eclipse的奇怪问题 你关闭项目 重新部署 就好了 我也碰见类似的
awusoft 2011-11-27
  • 打赏
  • 举报
回复
看看你的DB类是不是也放到classes/test下边去了.
a3737500 2011-11-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lpy3654321 的回复:]
String selectquery="select * from student where Name='"+uid+"'";
应该是这句错了。
String selectquery="select * from student where Name="+uid;
[/Quote]
这两句话是一样的 你自己输出下,怎么可能错误。
当 Java 虚拟机或 ClassLoader 实例试图在类的定义中加载(作为通常方法调用的一部分或者作为使用 new 表达式创建的新实例的一部分),但无法找到该类的定义时,抛出此异常。
当前执行的类被编译时,所搜索的类定义存在,但无法再找到该定义。

Zeus 2011-11-27
  • 打赏
  • 举报
回复
String selectquery="select * from student where Name='"+uid+"'";
应该是这句错了。
String selectquery="select * from student where Name="+uid;
若干年 2011-11-27
  • 打赏
  • 举报
回复
说的很明白,没找到dbcon.DB,看你的容器里的工程目录有这个class没
一代天骄 2011-11-27
  • 打赏
  • 举报
回复
一代天骄 2011-11-27
  • 打赏
  • 举报
回复

81,094

社区成员

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

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