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

Posted exodus3

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了做个简单的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

以上是关于做个简单的Java学生考勤系统03--登录功能的开发的主要内容,如果未能解决你的问题,请参考以下文章

做个简单的Java学生考勤系统08--完善老师相关功能

做个简单的Java学生考勤系统04--签到功能的开发

做个简单的Java学生考勤系统06--签到功能完善

做个简单的Java学生考勤系统05--查询课程课表学生与老师信息

求大神帮我做个设计 用JAVA 设计和实现学生信息管理系统,提供常见学生信息管理功能

做个简单的Java学生考勤系统02--工具类