- Java EE 8 Design Patterns and Best Practices
- Rhuan Rocha Jo?o Purifica??o
- 307字
- 2021-07-23 16:54:53
Deciding filter mapping
Defining the mapping method is crucial to implementing the intercepting filter pattern. This is because a bad method for mapping can impact the project directly and cause rework. We have two filter mapping types—UrlPattern and servlet name.
The use of UrlPatterns is indicated when we want to filter the HTTP Requests to non-specific resources or files, but we also want to filter various unknown resources. Here are some examples of this:
- *.jsp: This filters all requests to JSP pages. If one JSP page is added to the server, then the filter will filter the new JSP page without making any modifications.
- /*: This filters all requests to all resources or files on the server. If one resource or file is added to the server, then the filter will filter this new resource or file without performing any modifications.
- /user/*: This filters all requests to all resources or files on the server that have a URI beginning with /user. If one resource or file that is accessed by a URI beginning with /user is added on servlet, then the filter will filter this new resource or file without performing any modifications.
The servlet name used to map the filter indicates when you want to filter a specific servlet, independent of its urlPattern. This way of mapping allows us to modify one urlPattern of the mapped servlet without performing any modifications on the filter. Here are some examples:
- {servlet1}: This only maps the servlet named as servlet1. If the urlPatterns of servlet1 are modified, then the filter doesn't need to be modified.
- {servlet1,servlet2}: This maps two servlets named servlet1 and servlet2. Its behavior is similar to the previous example shown, in which only one servlet was mapped.
推薦閱讀
- Kubernetes修煉手冊
- Windows Server 2019 Cookbook
- 嵌入式Linux開發技術
- Linux系統文件安全實戰全攻略
- Mastering Distributed Tracing
- Persistence in PHP with the Doctrine ORM
- 精通Linux內核開發
- Windows Server 2012 Hyper-V Cookbook
- Windows Phone應用程序開發
- 鴻蒙操作系統設計原理與架構
- Responsive Web Design with AngularJS
- iOS Programming Cookbook
- OpenStack Trove Essentials
- Embedded Systems Architecture
- ZooKeeper:分布式過程協同技術詳解