没有登录就返回登录界面

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

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

谢谢先!
...全文
567 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
syhan 2007-06-03
  • 打赏
  • 举报
回复
fliter不错
Sysu_liny 2007-06-03
  • 打赏
  • 举报
回复
怎么没有更详细的回复?
chg2008 2007-06-03
  • 打赏
  • 举报
回复
过滤器是比较好的选择
ZW_Ren 2007-06-03
  • 打赏
  • 举报
回复
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 {
public void destroy() { }
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpSession session = request.getSession();
if ((session == null) || (session.getAttribute("username") != null)) {
response.sendRedirect("login.jsp");
return;
}
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException { }

}


web.xml中对过滤器的配置
<filter>
<filter-name>SessionValidateFilter</filter-name>
<filter-class>SessionValidateFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>SessionValidateFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

我用记事本临时写的,没调试,大概就是这意思了。
t_ianya 2007-06-03
  • 打赏
  • 举报
回复
关注,
请问过滤器怎么写呢
我也是需要这个功能
ruanjiantaotao 2007-06-03
  • 打赏
  • 举报
回复
baiyupiaopiao() 正解
catchwang 2007-06-03
  • 打赏
  • 举报
回复
可以写过滤器是个好注
zxhjia 2007-06-03
  • 打赏
  • 举报
回复
过滤器好,支持。
wangweiquanqq 2007-06-03
  • 打赏
  • 举报
回复
我也是一直再想这个问题
baiyupiaopiao 2007-06-03
  • 打赏
  • 举报
回复
也可以这样写
在你的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了
zyddamon 2007-04-24
  • 打赏
  • 举报
回复
可以写在top.jsp中,每个页面 include 就OK了
rickhunterchen 2007-04-24
  • 打赏
  • 举报
回复
可以考虑用spring的acegi,用于权限判断的,对程序没有侵入,只需要写配置文件就可以了。
bl_long1 2007-04-24
  • 打赏
  • 举报
回复
过滤器好了……
shenglijay 2007-04-24
  • 打赏
  • 举报
回复
1,2楼都可以
beexk 2007-04-24
  • 打赏
  • 举报
回复
过滤器。同意楼上和楼上的楼上
Sherlock_Holmes 2007-04-24
  • 打赏
  • 举报
回复
同意楼上的。。。
likgui 2007-04-24
  • 打赏
  • 举报
回复
关注
JondyChen 2007-04-24
  • 打赏
  • 举报
回复
有没有比较具体的代码参考一下?
daniel_kaka 2007-04-24
  • 打赏
  • 举报
回复
加一个filter~

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

81,091

社区成员

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

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