zoukankan      html  css  js  c++  java
  • 每日博客

    今天对我以前写的web实现登录功能的代码进行改进,实现了不用选择用户类型,程序可以自动选择登陆后的界面

    servlet层函数

    public void denglu(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException,SQLException{
    request.setCharacterEncoding("utf-8");
    String str=request.getParameter("id");
    String s1=request.getParameter("password");
    if(dao.denglu(str, s1).equals("0")) {
    request.setAttribute("message", "用户不存在");
    request.getRequestDispatcher("denglu.jsp").forward(request, response);
    }
    else if(dao.denglu(str, s1).equals("1")) {
    request.setAttribute("message", "密码错误");
    request.getRequestDispatcher("denglu.jsp").forward(request, response);
    }
    else {

    request.setAttribute("message", "登陆成功");
    if(dao.denglu(str, s1).equals("管理员"))
    request.getRequestDispatcher("manager.jsp").forward(request, response);
    else if(dao.denglu(str, s1).equals("员工")) {
    HttpSession session = request.getSession();
    session.setAttribute("id", str);
    request.getRequestDispatcher("student.jsp").forward(request, response);
    }
    else {
    HttpSession session = request.getSession();
    session.setAttribute("id", str);
    request.getRequestDispatcher("teacher.jsp").forward(request, response);
    }
    }
    }

    Dao层函数

    public String denglu(String str,String s1) throws SQLException{
    String ret="0";
    String sql="select * from yonghu where id='"+str+"'";
    Connection conn=Dbutil.getConnection();
    PreparedStatement pt = conn.prepareStatement(sql);
    Statement st=null;
    ResultSet rs=null;
    try
    {
    pt=conn.prepareStatement(sql);
    rs=pt.executeQuery();
    rs.next();
    if(rs==null)ret="0";
    else {
    if(!rs.getString("password").equals(s1))ret="1";
    else ret="2";
    }
    if(ret.equals("2")) {
    if(rs.getString("type").equals("管理员"))ret="管理员";
    else if(rs.getString("type").equals("员工"))ret="员工";
    else ret="教师";
    }
    }catch(Exception e)
    {
    e.printStackTrace();
    }
    finally
    {
    Dbutil.close(rs, st, conn);
    }
    return ret;
    }

    这种方式就是在MySQL中除了用户id和密码外还要在加一列代表用户类型

  • 相关阅读:
    Android Bitmap 常见的几个操作:缩放,裁剪,旋转,偏移
    vue.js 本地解决跨域
    VUE添加网站favicon.ico图标
    在mpvue引入flyio
    页面中加入地图map
    360校招——最后赢家(C++)
    奇安信校招——买口罩(c++)
    携程校招——携程海洋馆的海豚小宝宝(C++)
    阿里云Web应用托管服务,低成本建个人博客(wordpress和wiki.js)
    (嵌入式)工程模板的创建和MDK下配置开发STM32F103ZE
  • 原文地址:https://www.cnblogs.com/ruangongwangxiansheng/p/14162701.html
Copyright © 2011-2022 走看看