jsp实现登录验证功能并且防止绕过登录页面

jsp实现登录验证功能并且防止绕过登录页面进入信息页

这个项目我分了三个部分,login.jsp 、verify.jsp和userinfo.jsp,第一个为登陆界面,第二个是验证页面,第三个是用户信息页面,为了安全起见,不能让用户直接访问第三个页面。

login.jsp

<body>
<form name="login" action="verify.jsp" method="post">
用户名:<input type="text" name="user"/>
<br>密&nbsp;&nbsp;码:&nbsp;&nbsp;&nbsp;<input type="password" name="password"/>
<br><input type="submit" value="确定"/>
</form>
</body>

这是主要的代码片段,创建一个表单,action到verify,jsp页面,也没啥重要的要说的

verify.jsp

这个页面我是准备用session来暂时储存数据,session.setAttribute()是用来存入数据的,在这几个页面中都可以用session.getAttribute()来获取你存入的数据
session的这两个用法很简单格式大概如下
session.setAttribute(“键名”,键值)
session.getAttribute(“键名”)
这键名你随便取就成

看看代码吧

<body>
<%
session.setAttribute("user1",request.getParameter("user"));
session.setAttribute("password1",request.getParameter("password"));
if (session.getAttribute("user1").equals("0")||session.getAttribute("user1")==null||session.getAttribute("password1").equals("")||session.getAttribute("password1").equals("0")||session.getAttribute("password1")==null) {
   
	out.print("<script>alert('输入为空,请重新输入!');window.location.href='login.jsp'</script>");
} 
else{
if(session.getAttribute("user1").equals("chen")&&session.getAttribute("password1").equals("123456")){
	out.print("<script>alert('恭喜您登陆成功!');window.location.href='userinfo.jsp'</script>");

}else{
	out.print("<script>alert('对不起,输入错误!');window.location.href='login.jsp'</script>");
}
}
%>
</body>

我这里本来想用setAttribute在login页面就存入数据的,可不知道为什么第二个页面跳转过来貌似用不了,我就在这里存入user和password的数据了,我用的办法可能挺麻烦,因为我想不出来怎么写了~~,如下

session.setAttribute("user1",request.getParameter("user"));
session.setAttribute("password1",request.getParameter("password"));

在里头还用了request.getParameter获取数据再存到session里,好像多此一举,套娃~~
我下面设定了只有账号是chen密码是123456的情况下才能登录进来。如下

session.getAttribute("user1").equals("chen")&&session.getAttribute("password1").equals("123456")

用equals可以判断用户输入的内容和你预设的是否相同。很好用~~
如果用户输入正确,就让他跳转到userinfo页面吧。

userinfo.jsp

这个页面主要就是用户信息页面,但是还要保证不能直接访问进来,直接访问的话就要让页面跳转回login,jsp,开始写了几次虽然没什么问题,但是session还在,就导致了用户登陆一次后,如果不关闭浏览器,就可以直接访问userinfo.jjsp,后面发现out.close()还挺好用的,加上就好了,我是这样写的

<%
if(session.getAttribute("user1")==null||session.getAttribute("password1")==null)
{
	out.print("<script>alert('请不要越过登陆程序~~');window.location.href='login.jsp'</script>");
    }else{%>
    <table border="1">
    <tr>
      <td>jugking1</td>
    </tr>
    <tr>
      <td>2保持李志</td>
      
    </tr>
    </table>
	
<%out.close();
}%>

仔细想了一下,从逻辑上没什么问题,就这样了~~
在这里插入图片描述成了~
周末要结束了,很无聊
2020/3/29
16:23

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值