Struts中用Filter实现每个页面的登录验证
来源:互联网 发布:excel数据有效性没了 编辑:程序博客网 时间:2024/05/21 08:48
首先写一个权限过滤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的应用:登录验证
- 调试堆的错误-release和debug的差别
- 使用onclick跳转到其他页面。使用button跳转到指定url
- MSSQL语法整理
- MAC OS X Leopard 10.5.6的安装
- 垃圾邮件过滤
- Struts中用Filter实现每个页面的登录验证
- 在Javascript中Eval函数的使用
- asp.net将数据导出成EXCEL
- 透析回调函数
- My Linux Study Note(一)
- JSP语法 Page指令
- Invalidate函数的总结 - 也是界面刷新的总结(转载)
- JSP语法 声明
- UltraEdit 替换