jsp+servlet判断是否登录以及登录是否失效
2016-10-17 00:00
232 查看
摘要: rt
step1:html表单,表单中记得要有请求地址action=""和请求方式get/post,路径要写对。
step2:写step1中form提交的action="servlet/LoginInfoServlet"里的LoginInfoServlet逻辑
主要思路是:接收用户名+密码,对比是不是和预设的一样(这里是写死的,没有访问数据库),是就将用户名和密码保存到seesion中并跳转到操作页面,否则跳转到登录页面(此处最好在登录页面有个校验)。
LoginInfoServlet.java:
step3:
后面每个操作页面页面都在body之后加上如下代码,判断seesion中的数据是否为空,若为空,则跳转到登录页面重新登录。
此处要说明一下,session在两种情况下会为空,一是未登录,直接地址栏输入的操作地址(比如:http://localhost:8080/demo/demoManage.jsp);二是登录失效。有需要的可以将下面的代码再详细判断是登录失效还是未登录。
step4:登录有效时间设置,在web.xml中加上如下代码,比如我设置登录有效时间是15min:
若是未登录或者登录失效就会弹出以下,点击之后跳转到登录窗口。
![](https://static.oschina.net/uploads/img/201610/17173135_dBxU.png)
这样就基本可以了,此外也可以通过HTTP的状态码(401.1)来判断登录是否失效,有空再研究
step1:html表单,表单中记得要有请求地址action=""和请求方式get/post,路径要写对。
<body> <div class="col-md-12 column" style="height:80px"></div> <div id="wrap" class="col-md-offset-3 col-md-6 panel panel-info"> <div class="panel-heading"> <h3 class="panel-title col-md-offset-6"><strong>登录</strong></h3> </div> <div class="col-md-12 column" style="height:80px"></div> <form name="loginForm" id="loginForm" role="form" class="form-horizontal col-md-offset-2 col-md-9" action="servlet/LoginInfoServlet" method="get"> <div class="form-group" > <label for="username" class="col-sm-3 control-label">用户名</label> <input type="text" name="username" id="username" value="admin" class="form-control field" style="width:40%;display:inline" title="请输入用户名"> </div> <div class="col-md-12 column" style="height:18px"></div> <div class="form-group"> <label for="password" class="col-sm-3 control-label">密码</label> <input type="password" name="password" id="password" value="" class="form-control field" style="width:40%;display:inline" title="请输入密码"> </div> <div class="form-group"> <div class="col-sm-offset-5 col-sm-2"> <button type="submit" class="btn btn-primary form-control" id="login">登录</button> </div> </div> </form> </div> </body>
step2:写step1中form提交的action="servlet/LoginInfoServlet"里的LoginInfoServlet逻辑
主要思路是:接收用户名+密码,对比是不是和预设的一样(这里是写死的,没有访问数据库),是就将用户名和密码保存到seesion中并跳转到操作页面,否则跳转到登录页面(此处最好在登录页面有个校验)。
LoginInfoServlet.java:
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); String password = request.getParameter("password"); if(username.equals("admin") && password.equals("123456")){//登录成功 System.out.println("..........A successful login ..............."); request.getSession().setAttribute("sessionname",username); //用Session保存用户名 request.getSession().setAttribute("sessionpwd",password); //保存密码 response.sendRedirect("../demoManage.jsp"); }else{ response.sendRedirect("../login.jsp"); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }
step3:
后面每个操作页面页面都在body之后加上如下代码,判断seesion中的数据是否为空,若为空,则跳转到登录页面重新登录。
此处要说明一下,session在两种情况下会为空,一是未登录,直接地址栏输入的操作地址(比如:http://localhost:8080/demo/demoManage.jsp);二是登录失效。有需要的可以将下面的代码再详细判断是登录失效还是未登录。
<%String user=(String)session.getAttribute("sessionname"); if(user==null) { %> <script> alert('尊敬的用户,您未登录或登录已经失效,请重新登录,谢谢!'); window.location.href="login.jsp"; </script> <% } %>
step4:登录有效时间设置,在web.xml中加上如下代码,比如我设置登录有效时间是15min:
<session-config> <session-timeout>15</session-timeout> </session-config>
若是未登录或者登录失效就会弹出以下,点击之后跳转到登录窗口。
![](https://static.oschina.net/uploads/img/201610/17173135_dBxU.png)
这样就基本可以了,此外也可以通过HTTP的状态码(401.1)来判断登录是否失效,有空再研究
相关文章推荐
- asp.net mvc的Filter来验证Forms 判断是否登录,角色权限以及错误处理(转)
- jfinal使用session判断是否登录以及登录超时
- (jsp和Servlet功能篇) session判断用户是否登入
- 初学者jsp中登录界面判断是否登陆成功
- Servlet 过滤器Filter判断用户是否登陆(jsp页面)
- jsp判断是否登录
- Java程序、JSP以及JavaScript中如何判断某个字符串是否包含某个子串
- 判断checkbox是否被选中以及对jsp界面字段的长度进行限定
- JSP透过session判断用户是否登录
- 初识Jsp,JavaBean,Servlet以及一个简单mvc模式的登录界面
- 初识Jsp,JavaBean,Servlet以及一个简单mvc模式的登录界面
- jsp 页面中 判断session是否失效
- session失效,使用ajax请求数据被拦截,此时正常的处理逻辑是跳到登录界面,而不是界面没有变化(java判断是否是ajax请求)
- 07、一步一步学thinkjs之实现注销以及判断是否登录
- jsp 判断是否登录
- jsp判断用户是否登录
- 在ASP.NET中怎么用SESSION判断用户是否登录? 以及Session登陆后丢失的解决办法
- 怎样使用Windows Script判断计算机是否登录域?
- 在ASP.NET中怎么用SESSION判断用户是否登录?
- jsp Servlet 获取表单内以及URL上所有的参数