请教 JSP页面之间跳转的问题 !!

whlusha720 2008-08-30 04:13:06
home.jsp

<%
String un = (String)session.getAttribute("userName");
if("".equals(un) && un == null){
response.sendRedirect("login.jsp");
}
%>


在进入主页面之前先判断 session里面有没有用户名的值 防止直接输入地址进入主页面
如果没有值 就跳回登陆页面

但是我这样写没有作用 还是可以直接进入

请教错在什么地方?
还有就是怎么加个弹出窗口提示 alert("请您先登陆!");
...全文
296 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq344346702 2012-09-20
  • 打赏
  • 举报
回复
<%
String un = (String)session.getAttribute("userName");
if("".equals(un) )
{
response.sendRedirect("login.jsp");
}
%>
equals(object) 不用再加""==nu 如果单写""==nu 条件 是跳不成的
wpabbs 2008-08-31
  • 打赏
  • 举报
回复
写个过滤器可以实现你的要求,何必写那么多验证。
请看
http://blog.csdn.net/wpabbs/archive/2008/08/21/2806677.aspx
aloie 2008-08-31
  • 打赏
  • 举报
回复
<%
String un = (String)session.getAttribute("userName");
if(un == null|| "".equals(un) )
{
response.sendRedirect("login.jsp");
}
%>
十三月二十一 2008-08-31
  • 打赏
  • 举报
回复
<%if(session.getAttribute("user")==null){%>
<script lanuage="javascript">alert("你还没登录,请先登录!!");
window.location.href("login.jsp");
</script>
whlusha720 2008-08-30
  • 打赏
  • 举报
回复
我用的eclipse + my 不幸哦 - -!
bingshan24 2008-08-30
  • 打赏
  • 举报
回复
最好选判断null再判断其它..

过滤器.还比较容易吧..不用导入jar包..JBuilder内置有的. Eclipse要自己手写.
whlusha720 2008-08-30
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 realcbb 的回复:]
首先这句String un = (String)session.getAttribute("userName");就有问题,如果session中没有userName,那么session.getAttribute("userName")=null,(String)null是会发生异常的。但是在JSP中的JAVA代码产生的异常不会中断JSP页面,而是发生异常时,这段代码就被pass掉了。
所以,假设你未登录就访问某个页面,还是不会跳到登录页面去。
建议用过滤器实现,简单方便。
[/Quote]


真的如你所说 呵呵
我把 && 改成 || 还是一样的效果 我正郁闷怎么回事呢 谢谢!
不过我没有用过过滤器 过滤器很简单吗 要不要导什么jar包啊 ?
realcbb 2008-08-30
  • 打赏
  • 举报
回复
首先这句String un = (String)session.getAttribute("userName");就有问题,如果session中没有userName,那么session.getAttribute("userName")=null,(String)null是会发生异常的。但是在JSP中的JAVA代码产生的异常不会中断JSP页面,而是发生异常时,这段代码就被pass掉了。
所以,假设你未登录就访问某个页面,还是不会跳到登录页面去。
建议用过滤器实现,简单方便。
落叶的葬礼 2008-08-30
  • 打赏
  • 举报
回复

<%
String un = (String)session.getAttribute("userName");
if(un.equals("") || un == null)
{
response.sendRedirect("login.jsp");
}
%>
yc_zhao 2008-08-30
  • 打赏
  • 举报
回复
是需要先判断一下才可以的
yhef 2008-08-30
  • 打赏
  • 举报
回复
我觉得1楼的说得比较贴近话题。
楼上的比较有技术含量。
QUERY123123 2008-08-30
  • 打赏
  • 举报
回复
写个过滤器多好
核心代码
isLogin = (String) session.getAttribute("islogin");
//把不要过滤的内容排除掉:如首页
if (req.getRequestURI().equals(req.getContextPath()+"/")
|| req.getRequestURI().equals(req.getContextPath() + "XXXX")
) {
filterChain.doFilter(req, res);
}else if ((isLogin != null) && (isLogin.equals("true"))) {
filterChain.doFilter(req, res);
//System.out.println("Login success");
} else {
System.out.println("Login fail");
session.invalidate();
res.sendRedirect(req.getContextPath()+"/Page/relogin.jsp?reg=msg");
//验证不成功,让用户登录。
}
kittaaron 2008-08-30
  • 打赏
  • 举报
回复
汗..
火箭猫 2008-08-30
  • 打赏
  • 举报
回复
弹出警告框得用JavaScript吧:<script language="javascript">alert("文本内容");</script>
huoyin 2008-08-30
  • 打赏
  • 举报
回复
这个判断逻辑一般不会放在jsp文件中,这样如果你还有其他页面,你还需要加入你的那些code,最好是放在一个集中控制跳转的java代码中
zhj92lxs 2008-08-30
  • 打赏
  • 举报
回复
多说一句做个过滤器更好
gtboysy 2008-08-30
  • 打赏
  • 举报
回复
是啊,楼上的说的对。。
zhj92lxs 2008-08-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 Jerry0006 的回复:]
你这样写的判断条件结果永远为假。应该是if("".equals(un)¦ ¦un == null),而不是&&吧。
[/Quote]

楼上说得很清楚了
Jerry0006 2008-08-30
  • 打赏
  • 举报
回复
你这样写的判断条件结果永远为假。应该是if("".equals(un) || un == null),而不是 && 吧。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧