Struts中用Filter实现每个页面的登录验证(转)
来源:互联网 发布:电影网源码php 编辑:程序博客网 时间:2024/06/05 00:44
首先写一个权限过滤filter
import javax.servlet.Filter;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.FilterChain;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletResponse;
public class RightFilter
implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
HttpSession session = req.getSession(true);
//从session里取的用户名信息
String username = (String) session.getAttribute("username");
//判断如果没有取到用户信息,就跳转到登陆页面
if (username == null || "".equals(username)) {
//跳转到登陆页面
res.sendRedirect("http://"+req.getHeader("Host")+"/login.jsp");
}
else {
//已经登陆,继续此次请求
chain.doFilter(request,response);
}
}
public void destroy() {
}
}
import javax.servlet.Filter;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.FilterChain;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletResponse;
public class RightFilter
implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
HttpSession session = req.getSession(true);
//从session里取的用户名信息
String username = (String) session.getAttribute("username");
//判断如果没有取到用户信息,就跳转到登陆页面
if (username == null || "".equals(username)) {
//跳转到登陆页面
res.sendRedirect("http://"+req.getHeader("Host")+"/login.jsp");
}
else {
//已经登陆,继续此次请求
chain.doFilter(request,response);
}
}
public void destroy() {
}
}
然后在web.xml里配置那些JSP文件需要登陆权限验证:
1.如果是某个具体的JSP文件(如a.jsp)需要登陆验证
<web-app>
...
<filter>
<filter-name>right</filter-name>
<filter-class>com.taihuatalk.taihua.common.common.RightFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>right</filter-name>
<url-pattern>/a.jsp</url-pattern>
</filter-mapping>
...
</web-app>
2.如果是某一个目录(如a/目录)整个目录下的文件都需要登陆验证:
<web-app>
...
<filter>
<filter-name>right</filter-name>
<filter-class>com.taihuatalk.taihua.common.common.RightFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>right</filter-name>
<url-pattern>/a/*</url-pattern>
</filter-mapping>
...
</web-app>
1.如果是某个具体的JSP文件(如a.jsp)需要登陆验证
<web-app>
...
<filter>
<filter-name>right</filter-name>
<filter-class>com.taihuatalk.taihua.common.common.RightFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>right</filter-name>
<url-pattern>/a.jsp</url-pattern>
</filter-mapping>
...
</web-app>
2.如果是某一个目录(如a/目录)整个目录下的文件都需要登陆验证:
<web-app>
...
<filter>
<filter-name>right</filter-name>
<filter-class>com.taihuatalk.taihua.common.common.RightFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>right</filter-name>
<url-pattern>/a/*</url-pattern>
</filter-mapping>
...
</web-app>
- Struts中用Filter实现每个页面的登录验证(转)
- Struts中用Filter实现每个页面的登录验证
- struts中用拦截器实现登录验证功能AuthorizationInterceptor
- filter实现登录验证,并实现页面跳转到登录前浏览的页面(同步异步皆可)
- Filter二(利用Filter实现简单的登录验证)
- 登录页面图片验证码的实现
- Struts+Ajax实现登录验证
- 【Struts实现页面验证码】
- Struts的action中用了addFieldError,页面第一次提交验证失败后,再次提交找不到action
- 登录页面的验证
- filter实现登录验证,并且过滤servlet
- 使用filter过滤器实现用户登录验证
- javaee初识-利用Filter实现登录验证
- Struts+Hibernate的登录验证
- .net登录页面实现验证码验证
- struts中用过滤器(Filter)解决数据库中文的问题
- Struts+Servlet简单实现登录验证码
- 过滤器Filter的应用:登录验证
- android布局属性详解
- 关于delete内存
- jqGrid链接
- 世界最小纳米“呼拉圈”问世 转一周仅300毫秒
- Java Socket编程
- Struts中用Filter实现每个页面的登录验证(转)
- [Delphi]显示、隐藏桌面图标
- JEECMS后台登录地址
- iGills SE-35:iPhone防水保护套让你看海时不再寂寞
- (经典) 放苹果 (P 1664 )
- 使用ant将MyEclipse建立的web项目发布到tomcat
- 批处理for命令详解
- Ubuntu安装Fcitx(小企鹅五笔输入法)
- 将word怎么转化html