servlet过滤器的xml配置和注解方式对比
来源:互联网 发布:ubuntu 存储空间 编辑:程序博客网 时间:2024/06/05 10:49
1.这是登录验证的注解方式
@WebFilter(filterName = "LoginFilter",urlPatterns = {"*.do","*.jsp"})
public class LoginFilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
throws ServletException, IOException {
HttpServletRequest request= (HttpServletRequest)req;
HttpServletResponse response= (HttpServletResponse)resp;
HttpSession session=request.getSession();
String path=request.getRequestURI();
String requestPath=path.substring(path.indexOf("/") + 1, path.length());
if(requestPath.equals("login.jsp")||requestPath.equals("login.do")||requestPath.contains(".jsp")){
chain.doFilter(req, resp);
}else {
if(session!=null){
session.getAttributeNames();
Object o=session.getAttribute("name");
if(o==null||o.toString().equals("")){
path="login.jsp";
}else {
chain.doFilter(req, resp);
}
}else {
path="login.jsp";
}
request.getRequestDispatcher(path).forward(request,response);
}
}
public void init(FilterConfig config) throws ServletException {
}
}
我们查看@WebFilter的源码,里面的urlPatterns是数组形式的
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface WebFilter {
String description() default "";
String displayName() default "";
WebInitParam[] initParams() default {};
String filterName() default "";
String smallIcon() default "";
String largeIcon() default "";
String[] servletNames() default {};
String[] value() default {};
String[] urlPatterns() default {};
DispatcherType[] dispatcherTypes() default {DispatcherType.REQUEST};
boolean asyncSupported() default false;
}
2.我们再看xml配置方式
<filter> <filter-name>LoginFilter</filter-name> <filter-class>com.lrq.filter.LoginFilter</filter-class></filter><filter-mapping> <filter-name>LoginFilter</filter-name> <url-pattern>/*</url-pattern></filter-mapping>
第一行过滤器名,第二行过滤器类的位置,第四个url路径指明你要过滤的是什么/*过滤全部;/*.jsp只过滤jsp文件
其他依次类推,同样适用于一般的servlet和Listener监听器
- servlet过滤器的xml配置和注解方式对比
- spring中配置Bean的xml方式和注解方式
- 注解方式过滤器(Filter)不能过滤Servlet的问题
- servlet过滤器 web.xml配置
- 使用注解的方式配置Servlet
- 使用注解的方式配置Servlet
- Servlet过滤器,Servlet过滤器创建和配置
- servlet调用spring容器中的bean,的两种方式一种注解一种xml配置
- servlet调用spring容器中的bean,的两种方式一种注解一种xml配置
- servlet调用spring容器中的bean,的两种方式一种注解一种xml配置
- 【Servlet】Filter过滤器的编写和配置
- web.xml过滤器和监听器的配置
- SSH深度历险(十一) AOP原理及相关概念学习+xml配置实例(对比注解方式的优缺点)
- Spring学习(二十二) Bean配置的三种方式(XML、注解、Java类)介绍与对比
- Servlet过滤器web.xml文件配置
- 模拟Servlet3.0使用注解的方式配置Servlet
- 模拟Servlet3.0使用注解的方式配置Servlet
- XML解析--DOM方式和SAX方式的对比
- PyOdps在交互式环境下的使用,让探索ODPS数据更容易些
- picasso介绍及使用
- Android Studio解决Error:Dependency Puddings:videosdk1218:unspecified on project app resolves to an APK
- 安卓数据存储
- Ny106背包问题
- servlet过滤器的xml配置和注解方式对比
- 在linux上安装nginx
- 开始我的视频学习之旅----前言
- 数码管右移
- Android 知识点锦集
- 阿里test--view绘制,Activity启动,等深刻解答
- CString的坑
- .Net事件使用
- Android Studio导入项目的gradle与studio不匹配