大家对只有登录用户才可以访问的页面怎么处理的?是对每个页面都判断是否有session,还是有更好的办法? 我是都用session。除非想让用户下次自动登陆用cookie。还有就是用包含文件可以省去许多代码时间。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 写个bean嘛,在登陆完后每个页面都调用一下bean有不麻烦。 楼上的不也是SEESSION 或COOKIE嘛 你可以写一个User的Beanpublic class User{ String name; String password; boolean islogin; ...... set方法 get方法 public boolean islogin() { return islogin; } ......}在JSP页面中<jsp:useBean id="user" scope="session" class="User"/>user.set方法();//把属性set到user的实例中。以后在每个页面中可是做个判断:if(!user.islogin()){ <jsp:forward page="....."/>}不知道你明白否。当然,session里可以setAttribute("name",username); 接着上面说。在User里面有一个方法,是判断name与password是不是匹配。匹配的话islogin=true;elseislogin=false; 那我就用session吧,我用filter了。 把session放到一个头文件里,然后所有的页面都调用这个头文件.还保证整个网站的整体性 :) filter应该是个不错的选择,至少不会漏!呵呵! 用过滤器可以看看strutswww.chinaxp.org里面的XForum使用了Filter受保护请求,可以下来看看:) 给个例子你:package lightningboard.filter;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.Filter;import javax.servlet.FilterConfig;import javax.servlet.FilterChain;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;public class SessionAuthorizationFilter implements Filter { protected FilterConfig filterConfig; public void init(FilterConfig config) { this.filterConfig = config; } public void destroy() { this.filterConfig = null; } private boolean passed(ServletRequest request, ServletResponse response) throws IOException, ServletException { boolean result=false; String objectName=this.filterConfig.getInitParameter("OBJECT_NAME"); HttpServletRequest req = (HttpServletRequest)request; HttpSession session =req.getSession(false); if(session!=null){ Object object=session.getAttribute(objectName); if(object!=null) result= true; } return result; } public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException{ if (passed(request,response)) filterChain.doFilter(request, response); else{ HttpServletResponse res = (HttpServletResponse)response; String errorPage=this.filterConfig.getInitParameter("ERROR_PAGE"); res.sendRedirect(errorPage); } }} djinzaghi(java) 的public class User 是不是应该改成public class User implements Serializable struts配置问题 为什么记录为一条? 关于两表 同时更新数据 解决JSP路径问题的方法。。。希望对部分朋友有些帮助。。, 数据以csv格式导出的性能问题 resin3.0.8怎么设置二级域名? 怎么编译自定义标签? 在tomcat中运行,但是不是在jsp中展示的一种应用 JSP中字符串的长度? 关于JAVABEANS生成COM组件的技术 为什么我down的JFreeReport中的demo运行不料? 一个type=“text”文本诓怎么实现写了内容后按回车触发调用一个javascript的函数?
public class User
{
String name;
String password;
boolean islogin;
......
set方法
get方法
public boolean islogin()
{
return islogin;
}
......}
在JSP页面中<jsp:useBean id="user" scope="session" class="User"/>
user.set方法();//把属性set到user的实例中。
以后在每个页面中可是做个判断:
if(!user.islogin())
{
<jsp:forward page="....."/>
}不知道你明白否。当然,session里可以setAttribute("name",username);
在User里面
有一个方法,是判断name与password是不是匹配。
匹配的话islogin=true;
else
islogin=false;
还保证整个网站的整体性 :)
可以看看strutswww.chinaxp.org里面的XForum使用了Filter受保护请求,可以下来看看:)
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.Filter;
import javax.servlet.FilterConfig;
import javax.servlet.FilterChain;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;public class SessionAuthorizationFilter implements Filter {
protected FilterConfig filterConfig; public void init(FilterConfig config) {
this.filterConfig = config;
} public void destroy() {
this.filterConfig = null;
}
private boolean passed(ServletRequest request, ServletResponse response)
throws IOException, ServletException {
boolean result=false;
String objectName=this.filterConfig.getInitParameter("OBJECT_NAME");
HttpServletRequest req = (HttpServletRequest)request;
HttpSession session =req.getSession(false);
if(session!=null){
Object object=session.getAttribute(objectName);
if(object!=null)
result= true;
}
return result;
} public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)
throws IOException, ServletException{
if (passed(request,response))
filterChain.doFilter(request, response);
else{
HttpServletResponse res = (HttpServletResponse)response;
String errorPage=this.filterConfig.getInitParameter("ERROR_PAGE");
res.sendRedirect(errorPage);
}
}
}
public class User 是不是应该改成public class User implements Serializable