您的位置:首页 > 其它

判断用户是否登录

2013-06-07 22:29 225 查看
1.过滤器主要用于,判断用户是否登陆,以防止接访问应用中的网页进行提交。

Java code:

package filter;

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.http.*;

import com.tarena.crm.domain.admin.Manager;

public class LoginFilter extends HttpServlet implements Filter{

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

HttpServletRequest req=(HttpServletRequest)request;

HttpServletResponse res=(HttpServletResponse) response;

if(req.getSession().getAttribute("manager")==null){

res.sendRedirect("/crm/core/login.jsp");

}else

chain.doFilter(request, response);

}

public void init(FilterConfig arg0) throws ServletException {

}

}

web.xml中的写法:

<url-pattern>/core/adminManage/* </url-pattern>对一个目录进行过滤

或者:

<url-pattern>/core/adminManage/test.jsp </url-pattern>对某一个特定网页进行过滤

XML code

<filter>

<filter-name>setlog</filter-name>

<filter-class>filter.LoginFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>setlog</filter-name>

<url-pattern>/core/adminManage/*</url-pattern>

</filter-mapping>

</filter>

不会过滤器的话就用JSP代码写吧。

首先你在用户登录以后把用户的ID写到session里。

session.setAttribute("userid",userid);后边的userid是变量;

然后建一个safe.jsp,代码如下

2.

HTML code

<%

if(session.getAttribute("userid")==null)

{

%>

<script>

alert("SORRY,LOGIN PLEASE!");

window.location.href="login.jsp";<!--这里是你的登录页面 -->

</script>

<%

}

%>

最后在你每个页面中加入 <%@ include file="safe.jsp" %>就可以了。

不过这个方法不实用,最好办法还是用过滤器 , 或者你点回复时候 连接到一个servlet 然后判断,再跳转不过还是没有过滤器来的方便。

分享到:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: