做个简单的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学生考勤系统05--查询课程课表学生与老师信息