做个简单的Java学生考勤系统03--登录功能的开发

接下来是做考勤系统的第一个功能,很多小伙伴能猜到,那么就是登录功能。

package service;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.http.HttpSession;

import model.TAdmin;
import model.Tlaoshi;
import model.Txuesheng;

import org.directwebremoting.WebContext;
import org.directwebremoting.WebContextFactory;

import util.DB;
import util.Util;


public class loginService
{
	public String login(String userName,String userPw,int userType)
	{
		System.out.println("userType"+userType);
		try
		{
			Thread.sleep(700);
		} catch (InterruptedException e)
		{
			e.printStackTrace();
		}
		
		String result="no";
		
		if(userType==0)//系统管理员登陆
		{
			String sql="select * from t_admin where userName=? and userPw=?";
			Object[] params={userName,userPw};
			DB mydb=new DB();
			mydb.doPstm(sql, params);
			try 
			{
				ResultSet rs=mydb.getRs();
				boolean mark=(rs==null||!rs.next()?false:true);
				if(mark==false)
				{
					 result="no";
				}
				else
				{
					 result="yes";
					 TAdmin admin=new TAdmin();
					 admin.setUserId(rs.getInt("userId"));
					 admin.setUserName(rs.getString("userName"));
					 admin.setUserPw(rs.getString("userPw"));
					 WebContext ctx = WebContextFactory.get(); 
					 HttpSession session=ctx.getSession(); 
					 session.setAttribute("userType", 0);
		             session.setAttribute("admin", admin);
				}
				rs.close();
			} 
			catch (SQLException e)
			{
				System.out.println("登录失败!");
				e.printStackTrace();
			}
			finally
			{
				mydb.closed();
			}
			
		}
		
		
		if(userType==1)
		{
			String sql="select * from t_laoshi where del='no' and loginname=? and loginpw=?";
			Object[] params={userName,userPw};
			DB mydb=new DB();
			mydb.doPstm(sql, params);
			try 
			{
				ResultSet rs=mydb.getRs();
				boolean mark=(rs==null||!rs.next()?false:true);
				if(mark==false)
				{
					 result="no";
				}
				else
				{
					 result="yes";
					 Tlaoshi laoshi=new Tlaoshi();
					 
					 laoshi.setId(rs.getInt("id"));
						laoshi.setBianhao(rs.getString("bianhao"));
						laoshi.setXingming(rs.getString("xingming"));
						laoshi.setXingbie(rs.getString("xingbie"));
						
						laoshi.setNianling(rs.getString("nianling"));
						laoshi.setZhicheng(rs.getString("zhicheng"));
						laoshi.setLoginname(rs.getString("loginname"));
						laoshi.setLoginpw(rs.getString("loginpw"));
						laoshi.setDel(rs.getString("del"));
					 
					 WebContext ctx = WebContextFactory.get(); 
					 HttpSession session=ctx.getSession(); 
					 session.setAttribute("userType", 1);
		             session.setAttribute("laoshi", laoshi);
				}
				rs.close();
			} 
			catch (SQLException e)
			{
				System.out.println("登录失败!");
				e.printStackTrace();
			}
			finally
			{
				mydb.closed();
			}
		}
		if(userType==2)
		{
			String sql="select * from t_xuesheng where del='no' and loginname=? and loginpw=?";
			Object[] params={userName,userPw};
			DB mydb=new DB();
			mydb.doPstm(sql, params);
			try 
			{
				ResultSet rs=mydb.getRs();
				boolean mark=(rs==null||!rs.next()?false:true);
				if(mark==false)
				{
					 result="no";
				}
				else
				{
					 result="yes";

					 Txuesheng xuesheng=new Txuesheng();
						
						xuesheng.setId(rs.getInt("id"));
						xuesheng.setXuehao(rs.getString("xuehao"));
						xuesheng.setXingming(rs.getString("xingming"));
						xuesheng.setXingbie(rs.getString("xingbie"));
						
						xuesheng.setNianling(rs.getString("nianling"));
						xuesheng.setBanji(rs.getString("banji"));
						xuesheng.setLoginname(rs.getString("loginname"));
						xuesheng.setLoginpw(rs.getString("loginpw"));
						xuesheng.setDel(rs.getString("del"));
					 
					 WebContext ctx = WebContextFactory.get(); 
					 HttpSession session=ctx.getSession(); 
					 session.setAttribute("userType", 2);
		             session.setAttribute("xuesheng", xuesheng);
				}
				rs.close();
			} 
			catch (SQLException e)
			{
				System.out.println("登录失败!");
				e.printStackTrace();
			}
			finally
			{
				mydb.closed();
			}
		}
		return result;
	}  
}

讲解一下这个登录功能:
1、登录的参数有三个,String userName,String userPw,int userType,userName和userPw是账号密码,userType是登录用户的类型,0表示系统管理员,1表示老师,2表示学生。方便是第一篇章写的实体类的TAdmin对象,Tlaoshi对象和Txuesheng对象
2、Thread.sleep(700);线程睡眠700毫秒,避免用户一直点击登录。
3、进行判断,如果是管理员,根据用户名,密码查询有没有该管理员,如果没查到,则返回false,最后由前端来判断,false没查到该管理员,提示用户名密码错误。如果查询到有该管理员,新建管理员对象,将数据库查询到的数据,组装到管理员对象里,并设置session属性,类型为0和admin
4、如果是老师,同样根据用户名,密码查询有没有该老师,如果没查到,返回false,前端提示用户名密码错误。如果查询到有该老师,新建老师对象,将数据库查询到的数据,组装到老师对象里,并设置session属性,类型为1和laoshi
5、如果是学生,同样根据用户名,密码查询有没有该学生,如果没查到,返回false,前端提示用户名密码错误。如果查询到有该学生,新建学生对象,将数据库查询到的数据,组装到学生对象里,并设置session属性,类型为2和xuesheng

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

exodus3

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值