最近在自己试着做一个登录的servlet 没有用jsp 我用的是Tomcat5.5 写了以后在Tomcat的webapps目录下 有一个Login_Test目录 然后里面的WEB-INF里面自己也把类部署在了classes里面 包括XML也在WEB-INF目录下面
这三个serlet是:
Login.java,其中的doGet()的代码:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text ml;charset=gbk");
PrintWriter pw=response.getWriter();
String info=request.getParameter("info");
pw.println("<html>");
pw.println("<body>");
if(info!=null)
{
pw.println("<h1>对不起,用户信息错误</h1>");
}
pw.println("<h1></h1>");
pw.println("<h1>登录界面</h1>");
pw.println("<form action=LoginCheck method=post>");
pw.println("用户名:<input type=txt name=username><br>");
pw.println("密码:<input type=password name=password><br>");
pw.println("<input type=submit value=登录><br>");
pw.println("</form>");
pw.println("</body>");
pw.println("< ml>");
}
LoginCheck.java 中doPost()的代码:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
java.sql.Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
HttpSession session=request.getSession();
session.setMaxInactiveInterval(10);
String nameFromForm=request.getParameter("username");
String passwordFromForm=request.getParameter("password");
try 
{
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/login";
String DBname="root";
String DBpassword="232501";
conn=DriverManager.getConnection(url,DBname,DBpassword);
String sql="select * from users where userName=?";
ps=conn.prepareStatement(sql);
ps.setString(1, nameFromForm);
rs=ps.executeQuery();
String passwordFromDB=(String)rs.getObject(3);
if(passwordFromDB.equals(passwordFromForm))
{
session.setAttribute("name", nameFromForm);
response.sendRedirect("Welcome");
}
else
{
response.sendRedirect("Login?info=error");
}

catch (SQLException e) 
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (ClassNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Welcome.java的代码:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
HttpSession session=request.getSession();
if(session.getAttribute("name")==null)
{
response.sendRedirect("Login?info=error");
}
else
{
response.setContentType("text ml;charset=gbk");
PrintWriter pw=response.getWriter();
pw.write("Hello "+session.getAttribute("name"));
}
} 这些代码都通过了编译
数据库用的是mysql 表的名字是login 里面定义的 是:
userID类型INT userName类型VARCHAR password类型VARCHAR userEmai类型VARCHAR grade类型INT
把这些类编译并且部署完了以后发现登录页面虽然可以运行,但是登录进去时候什么都没有显示,貌似数据库没有运行,于是把mysql的驱动:mysql-connector-java- 5.1.12-bin.jar 放到了F:\STUDY\my java\tomcat\common\lib下面 发现还是不能运行 可以帮助一下吗? XML配置肯定没有问题,因为不用数据库可以正常运行 非常感谢各位高手了