登录页面拦截

需求:

在页面跳转时判断是否已经是登录状态。

解决方法:

在登录页(比如说是login.asp)登陆成功后,要把登陆成功的状态赋值给一个Session变量,比如 Session("login")="OK",然后在除登录页之外的其他页面的开头都检测这个Session变量的值,不是登录状态即立刻强制跳转到登录页面,比如:
if session("login")<>"OK" then response.redirect "login.asp"
这样的话,除登录页之外的其他页面如果想通过地址栏直接输入URL进入都会被强行转到登录页面,这样就可以防止非法进入了。

session:

1.定义
服务器会给每一个用户(浏览器)创建一个session对象。一个session独占一个浏览器,只要浏览器不关闭,它就一直存在。

session称为会话控制,存储用户会话所需的属性和配置信息,这样,用户在应用程序的web页面跳转时,存储在session对象中的用户信息就不会丢失。

2.常用方法

getId():获取session的唯一标识

getServletContext():代表整个web服务

getAttribute(String):获取session的节点,比如你在其中一个Servlet中通过setAttribute(String,Object)配置了相关的session信息,然后通过另一个Servlet获取这个Servlet中的session信息,就要用到getAttribute(String)这个方法

setAttribute(String,Object):设置session节点

removeAttribute(String):一出一个session节点

isNew():判断一个session是否是一个新的session

invalidate():注销session的

3.实例

设置session:

protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException { // TODO Auto-generated
		HttpSession session = request.getSession();
		session.setAttribute("name", "wangwei");
		response.sendRedirect("/servlet/SessionLogin"); }

获取session 

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		HttpSession session =request.getSession();
		String name =(String)session.getAttribute("name");
		response.getWriter().println("name"+name);
	}

销毁session

  • 超时自动销毁。Tomcat 服务器默认的Session超时时间是30分钟可以利用web.xml设置超时时间单位是分钟,设置为0表示不销毁。
    <session-config> <session-timeout>20</session-timeout> </session-config>
    
  • 主动销毁 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值