⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loginservlet.java

📁 JSP+JavaBean+Servlet 办公自动化管理系统由前台管理和后台管理两大部分组成。 前台管理模块实现:公告管理、公文管理、员工管理、部门信息、收发信息和优秀员工管理6部分。 后台管理
💻 JAVA
字号:
package com.login;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Enumeration;
import java.util.Vector;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import oa.data.Eminfo;
import oa.sys.Db;
import oa.sys.Files;
import oa.sys.Str;
import oa.sys.UserList;
import oa.sys.UserTrace;

public class LoginServlet extends HttpServlet {
	/**
	 * 
	 */
	private static final long serialVersionUID = 0L;
	private boolean flag=true;
	private String state;
	private String job;
	private String dep;
	private int stateid;
	private String addr;
	private int jobid;
	private String tel;
	private String post;
	private int deid;
	private String learn;
	private String birthday;
	private int sex;
	private String name;
	private int id=0;	
	private String password,sqls,sqls1;
	private RequestDispatcher dispatcher;
	private Statement stmt=null;
	private ResultSet rs=null;
	private Eminfo eminfo=null;
	private UserList list=null;
	private PrintWriter out = null;
	private HttpSession session=null;
	
	private String path=null;
	
	private String error=null;
	private Eminfo admin=null;
	private Files file=null;
	
	public void destroy() {
	}
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doPost(request,response);
	}
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String flag = request.getParameter("flag");
		if(flag.equals("admin"))
			handleAdmin(request,response);
		else
			handleEm(request,response);
	}
	public void init() throws ServletException {
	}
    private void handleEm(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException{
    	request.setCharacterEncoding("gb2312");
		response.setContentType("text/html; charset=gb2312");
		out = response.getWriter();
		session=request.getSession();
		//获取数据
		id=Integer.parseInt((String)request.getParameter("id"));
		password=request.getParameter("password");
		sqls="SELECT * FROM password WHERE employeeid="+id+" AND password='"+password+"'";
		Db db=new Db();
		Str str=new Str();
		//验证
		try{
			stmt=db.getStmtread();
			rs=stmt.executeQuery(sqls);
			if(rs.next()){
				db.close();
				//验证成功则获取基本信息
				sqls1="SELECT * FROM eminfo WHERE employeeid="+id;
				stmt=db.getStmtread();
				rs=stmt.executeQuery(sqls1);
				//有基本信息则增加在线列表
				if(rs.next()){
					id=rs.getInt(1);
					name=rs.getString(2);
					sex=rs.getInt(3);
					birthday=rs.getString(4);
					learn=rs.getString(5);
					post=rs.getString(6);
					deid=rs.getInt(7);
					jobid=rs.getInt(8);
					tel=rs.getString(9);
					addr=rs.getString(10);
					stateid=rs.getInt(11);
					db.close();
					dep=db.IdtoDo("Name","department WHERE departmentid="+deid);
					job=db.IdtoDo("Name","job WHERE jobid="+jobid);
					state=db.IdtoDo("Name","emstate WHERE stateid="+stateid);
					//字符转换*/
					name=str.outStr(name);
					birthday=birthday.substring(0,10);
					dep=str.outStr(dep);
					job=str.outStr(job);
					state=str.outStr(state);
					learn=str.outStr(learn);
					post=str.outStr(post);
					tel=str.outStr(tel);
					addr=str.outStr(addr);
					Eminfo eminfo=new Eminfo();
					eminfo.setId(id);
					eminfo.setName(name);
					eminfo.setSex(sex);
					eminfo.setBirthday(birthday);
					eminfo.setLearn(learn);
					eminfo.setPost(post);
					eminfo.setDepartment(dep);
					eminfo.setJob(job);
					eminfo.setTel(tel);
					eminfo.setAddr(addr);
					eminfo.setState(state);
					//判断是否有人在线
					list=UserList.getInstance();
					Vector  vc=list.getList();
					flag=true;
					if(!vc.isEmpty()&&vc!=null){
					Enumeration em=vc.elements();
						while(em.hasMoreElements()){
							Eminfo emin=(Eminfo)em.nextElement();
							if(emin.getId()==eminfo.getId()){
								//在线
								flag=false;
							}
						}
					}else{
						flag=true;
					}
					if(flag){
						UserTrace usertrace=new UserTrace();
						usertrace.setId(eminfo.getId());
						list.addUser(eminfo);
						session.setAttribute("list",usertrace);
						session.setAttribute("id",new Integer(eminfo.getId()).toString());
						out.print("<script>parent.location.href='login_ok.htm';</script>");
					}else{
						session.setAttribute("error","该用户名正在使用");
						dispatcher=request.getRequestDispatcher("/error/errorpage.jsp");
						dispatcher.forward(request,response);
					}
				}//增加在线列表
			}else{
				//验证失败
				session.setAttribute("error","用户名或密码错误");
				dispatcher=request.getRequestDispatcher("/error/errorpage.jsp");
				dispatcher.forward(request,response);
			}
		}catch(Exception e){
			e.printStackTrace();
		}finally{
			db.close();
		}
    }
    private void handleAdmin(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException{
    	request.setCharacterEncoding("gb2312");
		response.setContentType("text/html; charset=gb2312");
		out = response.getWriter();
		out.print("<body>");
		//获取数据
		name=request.getParameter("name");
		password=request.getParameter("password");
		path=getServletContext().getRealPath("/");
		System.out.println("path========================================"+path);
		file=new  Files(path);
		admin=new Eminfo();
		error=file.getError();
		//如果属性文件有错误则输出
		if(error!=null){
			error=file.getError();
		}else{
			//属性文正常则验证管理员,增加在线列表
			if(name.trim().equals(file.getName().trim())&&password.trim().equals(file.getPassword().trim())){
				session=request.getSession();
				UserTrace usertrace=new UserTrace();
				list=UserList.getInstance();
				admin.setName(name);
				admin.setId(-1);
				list.addUser(admin);
				//设置监听
				usertrace.setId(admin.getId());
				session.setAttribute("list",usertrace);				
				session.setAttribute("id",new Integer(admin.getId()).toString());
				out.print("<script>parent.location.href='login_ok.htm';</script>");
			}else{
				out.print("<script>history.go(-1);</script>");
			}
		}
		out.print("</body>");
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -