jsp如何判断是在地址栏输入的网址还是跳转过来的呢
比如说我想在进入index.jsp之前先经过一个servlet的初始化,再跳转至首页,但是如果我从地址栏里面直接输入则跳过了servlet,这个如何判断...
比如说我想在进入index.jsp之前先经过一个servlet的初始化,再跳转至首页,但是如果我从地址栏里面直接输入则跳过了servlet,这个如何判断
展开
3个回答
展开全部
用session判断,session中有个isNew()的方法,其方面介绍如下:
public boolean isNew()方法如果会话尚未和客户程序(浏览器)发生任何联系,则这个方法返回true,这一般是因为会话是新建的,不是由输入的客户请求所引起的。
但如果isNew返回false,只不过是说明他之前曾经访问该Web应用,并不代表他们曾访问过我们的servlet或JSP页面。
因为session是与用户相关的,在用户之前访问的每一个页面都有可能创建了会话。因此isNew为false只能说用户之前访问过该Web应用,session可以是当前页面创建,也可能是由用户之前访问过的页面创建的。
正确的做法是判断某个session中是否存在某个特定的key且其value是否正确
public boolean isNew()方法如果会话尚未和客户程序(浏览器)发生任何联系,则这个方法返回true,这一般是因为会话是新建的,不是由输入的客户请求所引起的。
但如果isNew返回false,只不过是说明他之前曾经访问该Web应用,并不代表他们曾访问过我们的servlet或JSP页面。
因为session是与用户相关的,在用户之前访问的每一个页面都有可能创建了会话。因此isNew为false只能说用户之前访问过该Web应用,session可以是当前页面创建,也可能是由用户之前访问过的页面创建的。
正确的做法是判断某个session中是否存在某个特定的key且其value是否正确
参考资料: JSP中isNew()的用法
展开全部
如果只是针对一个页面的话,可以在servlet代码里在session里面设置一个标记,页面初始化的时候判断下session里面有没有这个标记。如果你是想实现权限控制之类的功能,还是不要用这个方法,去网上搜索一下权限设计方面的资料再来写。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
session.isNew()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询