Chinaunix首页 | 论坛 | 博客
  • 博客访问: 523912
  • 博文数量: 151
  • 博客积分: 7010
  • 博客等级: 少将
  • 技术积分: 1405
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-22 14:32
文章分类

全部博文(151)

文章存档

2011年(1)

2010年(23)

2009年(1)

2008年(126)

我的朋友

分类: 系统运维

2008-07-05 10:04:52

我们对之前的综合例子做个修改,把LoginCl.java中的身份验证改为从数据库中判断

servlet中的数据库操作和java中的访问数据库是一样的

一、LoginCl.java代码

import javax.servlet.http.*;
import java.io.*;
import java.sql.*;
public class LoginCl extends HttpServlet{
    public LoginCl() {
    }
   
    //处理get请求
    public void doGet(HttpServletRequest req, HttpServletResponse res)
    {
     Connection ct = null;
     Statement st = null;
     ResultSet rs = null;
      try{
      //解决中文乱码
      res.setContentType("text/html;charset=GB2312");
      
      //获取用户名和密码
      String name = req.getParameter("username");
      String pwd = req.getParameter("passwd");
      
      //连接数据库
      Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
      
      //得到链接
      ct = DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=crm","sa","");
      
      //创建Statement
      st= ct.createStatement();
      rs =  st.executeQuery("select top 1 from user_Info where username='"+name+"' and passwd='"+pwd+"'");
      
      //验证
      if(rs.next())
      {
       //合法
       res.sendRedirect("wel");//写web.xml中你要跳转到的servlet的那个url
      }
      else
      {
       //不合法
       res.sendRedirect("login");//写web.xml中你要跳转到的servlet的那个url
      }
      
      PrintWriter pw = res.getWriter();
      //返回登录界面
     }
     catch(Exception e)
     {
      e.printStackTrace();
     }
     finally
     {
      try
      {
       if(rs!=null)
        rs.close();
       if(st!=null)
        st.close();
       if(ct!=null)
        ct.close();
      }
      catch(Exception e)
      {
       e.printStackTrace();
      }
     }
    }
   
    //处理post请求
    public void doPost(HttpServletRequest req, HttpServletResponse res)
    {
     this.doGet(req,res);
    }
}
阅读(1025) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~