day_5 使servlet小程序连接数据库

本文详细介绍了如何将数据库表用于Servlet程序的登录验证,并通过实例展示了连接数据库的功能,实现用户登录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:上一day所编写的servlet网页程序已经实现了用户名登录以及cookie技术,

那么,怎样让servlet网页程序使用数据库中的表作为登录依据呢?

今天实现的便是连接数据库这一功能

首先,我们先做好准备,安装驱动

参考教程:  http://wenku.baidu.com/link?url=w3Aks8OPj6XfbQpfra8o-35fCWULbYVABPCcwdJ708z8XO_Sqb_mVAG1PX2H_uve9w-OOS5n9AqaPnYmebV-MpL8TNyaSKeXO7jBN6r_HhK

此项最为费时间,请耐心一步一步完成

其中如果用的java编辑器不是eclipse,只需按照你所用的编辑器的方式导入jdbc4.jar

驱动顺利安装完成之后


让我们给logincl做些改变

//登录控制文件的servlet

package test1;

import javax.servlet.http.*;
import java.io.*;
import java.sql.*;

public class LoginCl extends HttpServlet{
	public void doGet(HttpServletRequest req,HttpServletResponse res){
		this.doPost(req,res);
	}
	public void doPost(HttpServletRequest req,HttpServletResponse res){
	
		Connection ct = null;
		ResultSet rs = null;
		Statement sm = null;
		
		try{
			//服务器接收login页面发来的用户名和密码,要用到req。
			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=数据库名","数据库用户名","数据库密码");
			 
			 //创建Statrment
			 sm=ct.createStatement();
			 rs=sm.executeQuery("select top 1 passwd from users where username ='"+u+"'");
			 
			if(rs.next())//查询到了
				{
					//说明用户是存在的
					String dbPasswd=rs.getString(1);
					if(dbPasswd.equals(p))
					{
						//密码和数据库中的一致
						HttpSession hs = req.getSession(true);
						hs.setMaxInactiveInterval(20);
						hs.setAttribute("pass","ok");
						//连接登录后的欢迎界面
				 		//sendRedirect的作用是跳转界面
				 		res.sendRedirect("wel?username="+u+"&passwd="+p);//该处填写域名
					}
					else
						res.sendRedirect("login");
				}
			else
				{
					//说明连用户名都没有输对,跳转
					res.sendRedirect("login");
					
				}
			
			}
		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();
			}		
		}
	}
		
	
}


打开tomcat来一把,

输入你数据库中有的账户名和密码,顺利登录!

之后,直接在数据库表中添加或修改用户信息,servlet程序会直接读取,用不着修改程序。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值