日期:2014-05-18  浏览次数:20705 次

没有登录就返回登录界面
一个jsp网站(用struts框架),只能从登录界面进去,若没有登录就跳转到登录界面,
比如输入一个网址,但它不会打开这个页面,而是自动跳转到登录界面,

这要在什么地方设置?
如果用session的话,那岂不是很多页面都得去判断,
有没有其它办法,或是要在什么地方进行全局设置?

谢谢先!

------解决方案--------------------
可以写在top.jsp中,每个页面 include 就OK了
------解决方案--------------------
加一个filter~

在登录的时候吧用户名、密码放到session里;
在filter里面判断session,
如果符合要求,就让通过,
否则就跳转到登陆页面~~

------解决方案--------------------
同意楼上的。。。
------解决方案--------------------
过滤器。同意楼上和楼上的楼上
------解决方案--------------------
1,2楼都可以
------解决方案--------------------
过滤器好了……
------解决方案--------------------
可以考虑用spring的acegi,用于权限判断的,对程序没有侵入,只需要写配置文件就可以了。
------解决方案--------------------
关注
------解决方案--------------------
怎么没有更详细的回复?
------解决方案--------------------
也可以这样写
在你的javaBean里定义一个boolean islong=false;变量
然后在得到他的setIslong();isIslong();
在你的登陆处理页面或Servlet里这样写
String ID=request.getParameter( "ID ");
String password=request.getParameter( "password ");
javaBean aa=new javaBean();//javaBean的对象
Connection con=null;
java.sql.Statement stat=null;
java.sql.ResultSet res=null;
try{
aa.setIslong(false);//必须初始化
System.out.print(aa.isIslong());
con=new DBCon().getCon();
stat=con.createStatement();
res=stat.executeQuery( "select * from zhuce1 where ID= ' "+ID+ " ' and password= ' "+password+ " ' ");
if(res.next()){
aa.setIslong(true);
response.sendRedirect( "houtaid.jsp ");//成功
}else{
response.sendRedirect( "houtais.jsp ");不成功;
}
}catch(Exception e){
e.printStackTrace();
}finally{
con.close();
System.out.print( "数据库关闭 ");
}

然后在你的每个页面在这样写;
<jsp:useBean id= "aa " class= "MyBean " scope= "session ">
</jsp:useBean>
<%
if(aa.isIslong()==false){
response.sendRedirect( "houtais.jsp ");
}
%>
就OK了
------解决方案--------------------
我也是一直再想这个问题
------解决方案--------------------
过滤器好,支持。
------解决方案--------------------
可以写过滤器是个好注
------解决方案--------------------
baiyupiaopiao() 正解
------解决方案--------------------
关注,
请问过滤器怎么写呢
我也是需要这个功能
------解决方案--------------------
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.UnavailableException;
import javax.servlet.HttpSession;

public class SessionValidateFilter implements Filter {