我们对之前的综合例子做个修改,把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) |