【问题标题】:comparing values while inserting插入时比较值
【发布时间】:2016-06-08 10:23:07
【问题描述】:

我已将用户名和密码作为用户名,并将其与我的数据库进行比较,如果它们匹配状态为真,如果不是假的话。还有一个额外的角色列,输入的名称可以是用户或管理员,如果它的管理员我想要一些如果是用户要打开其他页面,我想要其他页面。我应该怎么做。 以下代码检查 admin 因为我在插入查询中输入了 admin 我应该写什么更改或附加代码? 我的数据库中有 3 列(用户、密码、角色)。如果输入的用户名与管理员在同一行(应该打开一些不同的 page1.jsp)并且如果它与用户在同一行(一些不同的 page2.jsp 应该打开)。

 String name=request.getParameter("name");
            String password=request.getParameter("password");
            boolean status=false;
    try{
        Connection con=ConnectionProvider.getCon();
        String sql="select * from roles where name='" + name + "' and pass='" + password + "' and role='admin'";
        Statement stmt =con.createStatement();

        ResultSet rs=stmt.executeQuery(sql);
        if(rs.next())
        {
            status=true;
        }
    }catch(Exception e){}

if(status){
                out.print("Welcome, "+name);
                HttpSession session=request.getSession();
                session.setAttribute("name",name);
                request.getRequestDispatcher("create.html").forward(request, response);
                 //request.getRequestDispatcher("department.html").forward(request, response);
            }
            else{
                out.print("Sorry, username or password error!");
                request.getRequestDispatcher("login.html").include(request, response);
            }

【问题讨论】:

标签: java sql servlets


【解决方案1】:
String name=request.getParameter("name");
        String password=request.getParameter("password");
        boolean status=false;
String role = "";
try{
    Connection con=ConnectionProvider.getCon();
    String sql="select * from roles where name='" + name + "' and pass='" + password";
    Statement stmt =con.createStatement();
    role ="admin";
    ResultSet rs=stmt.executeQuery(sql);
    if(rs.next())
    {
        status=true;
        role=rs.getString("role");
    }
}catch(Exception e){}

if(status){
            out.print("Welcome, "+name);
            HttpSession session=request.getSession();
            session.setAttribute("name",name);
            if(role!=null && role.equals("admin") ){            
            request.getRequestDispatcher("create.html").forward(request, response);
             //request.getRequestDispatcher("department.html").forward(request, response);
            }else{
             request.getRequestDispatcher("   <SomeOther>.html").forward(request, response);
             //request.getRequestDispatcher("department.html").forward(request, response);
          }

        }
        else{
            out.print("Sorry, username or password error!");
            request.getRequestDispatcher("login.html").include(request, response);
        }

【讨论】:

  • 在 if(role!=null && role.equal("admin")) 上显示找不到角色变量的错误。
猜你喜欢
  • 2019-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-06
相关资源
最近更新 更多