读书人

JSP结合struts判断用户是否登录?该怎

发布时间: 2012-04-10 21:03:56 作者: rapoo

JSP结合struts判断用户是否登录?
怎样实现呢?

[解决办法]
拦截器。
[解决办法]
顶顶楼上的

Java code
import java.io.IOException;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServlet;public class Filter extends HttpServlet implements javax.servlet.Filter{    public void doFilter(ServletRequest request, ServletResponse response,            FilterChain chain) throws IOException, ServletException {        // TODO Auto-generated method stub        //if(true) ;        //else ;        chain.doFilter(request, response);            }    public void init(FilterConfig filterConfig) throws ServletException {        // TODO Auto-generated method stub            }}
[解决办法]
Java code
    <interceptors>            <!-- 配置普通用户是否登录的拦截器 -->            <interceptor name="userAuth"        class="xxxx.authority.UserAuthorityInterceptor" />            <!-- 配置普通用户的默认的拦截器栈 -->            <interceptor-stack name="userStack">                <interceptor-ref name="defaultStack" />                <interceptor-ref name="userAuth" />            </interceptor-stack>            </interceptors>类:import com.opensymphony.xwork2.Action;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.AbstractInterceptor;/** * @author closewbq */public class UserAuthorityInterceptor extends AbstractInterceptor {    private static final long serialVersionUID = 1L;    /**     * 拦截器,判断用户是否登录     */    public String intercept(ActionInvocation invocation) throws Exception {        ActionContext ctx = ActionContext.getContext();        String login=(String) ctx.getSession().get(WebConstant.LOGIN);        if (login == null || !WebConstant.LOGIN.equals(login)) {            return Action.LOGIN;        }        return invocation.invoke();    }}//WebConstant.LOGIN就是代表了一个常量,当你登录工程的时候回放入这个常量到session中。
[解决办法]
写一个session过滤器,判断session中的登录对象是否为空;或者写个baseAction,让所有的action都继承它,在baseAction判断session中的登录对象是否为空

读书人网 >J2EE开发

热点推荐