Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查用户是否已登录或会话是否已在jsp中启动_Jsp - Fatal编程技术网

检查用户是否已登录或会话是否已在jsp中启动

检查用户是否已登录或会话是否已在jsp中启动,jsp,Jsp,我正在尝试使用jsp设计一个简单的登录系统。在登录页面中,用户输入其用户名和密码,在验证时执行为 现在在“home.jsp”中,如何检查会话是否已经创建 *我需要检查会话是否已经在配置文件的每个页面上启动。所以我想创建一些函数,我可以在每个jsp页面的顶部调用它们* 我该怎么办?不要在Jsp中添加/编写Java代码。您应该设计一个过滤器来验证用户 编辑: 看看教程-首先创建一个类似这样的类。。设置用户bean属性的步骤 为了简单起见,本例假设一个用户 public class Users

我正在尝试使用jsp设计一个简单的登录系统。在登录页面中,用户输入其用户名和密码,在验证时执行为



现在在“home.jsp”中,如何检查会话是否已经创建


*我需要检查会话是否已经在配置文件的每个页面上启动。所以我想创建一些函数,我可以在每个jsp页面的顶部调用它们*



我该怎么办?

不要在
Jsp
中添加/编写Java代码。您应该设计一个
过滤器
来验证用户

编辑:


看看教程-

首先创建一个类似这样的类。。设置用户bean属性的步骤 为了简单起见,本例假设一个用户

public class Users implements Serializable {
    private String user;

 public String getUser() {
        return user;
    }

    public void setUser(String user) {
        this.user = user;
    }
}
然后在登录时像这样检查

   String userName = request.getRequest().getParameter("txtid");
   String password = request.getRequest().getParameter("txtPassword");

Vector params = new Vector();

        params.add(null);//return result from procedure
        params.add(Name);
        params.add(password);


 Users mainUser = new Users ();
 Vector tempResults = callingDaoProcedure.executeGetPasswordogin(params);//finds the password in DB

if (!tempResults.isEmpty()) {

                    mainUser = (MainUsers) tempResults.get(0);
 if (mainUser.getPassword().trim().equals(password.trim())) {

    HttpSession session = request.getSession(false);


         if (request.getSession().getAttribute("userLogin") == null) {
              // Session not created yet. So we do it now.
               session = request.getSession();
               requestgetRequest().setAttribute("status", "NO_ERRORS");
               request.getSession().setAttribute("userLogin", mainUser);
               response.sendRedirect("home.jsp");
              // I redirect them to their profile home pages
        } 

        else {
            // Session is already created.
             response.sendRedirect("home.jsp");
           // So i again redirect them to their home page
        }
}
else
{
              request.getRequest().setAttribute("status", "WRONG_PASSWORD");
              System.out.println("wrong password");
}


}
<input type="hidden" name="user" id="user" value="${sessionScope['userLogin'].user}">
上面的代码并不是没有错误的,但是由于您提供了一个缺少的代码,所以这是我对您的案例的最接近的集,您可以像这样在每个jsp上访问这个变量

   String userName = request.getRequest().getParameter("txtid");
   String password = request.getRequest().getParameter("txtPassword");

Vector params = new Vector();

        params.add(null);//return result from procedure
        params.add(Name);
        params.add(password);


 Users mainUser = new Users ();
 Vector tempResults = callingDaoProcedure.executeGetPasswordogin(params);//finds the password in DB

if (!tempResults.isEmpty()) {

                    mainUser = (MainUsers) tempResults.get(0);
 if (mainUser.getPassword().trim().equals(password.trim())) {

    HttpSession session = request.getSession(false);


         if (request.getSession().getAttribute("userLogin") == null) {
              // Session not created yet. So we do it now.
               session = request.getSession();
               requestgetRequest().setAttribute("status", "NO_ERRORS");
               request.getSession().setAttribute("userLogin", mainUser);
               response.sendRedirect("home.jsp");
              // I redirect them to their profile home pages
        } 

        else {
            // Session is already created.
             response.sendRedirect("home.jsp");
           // So i again redirect them to their home page
        }
}
else
{
              request.getRequest().setAttribute("status", "WRONG_PASSWORD");
              System.out.println("wrong password");
}


}
<input type="hidden" name="user" id="user" value="${sessionScope['userLogin'].user}">


我希望这会有所帮助,最重要的是,您从中学到了一些东西

使用JSP
Prelude
,它将JSP添加到所有JSP的开头。并检查sesion是否已经存在

参考文献:


我知道我应该用jsp编写java代码,但是如果我尝试这样做,你能告诉我方法是什么吗..你的问题中不是已经有代码了吗?您可以将其放入筛选器中,然后每个请求都将检查会话。无需向JSP添加任何内容+1.