Home PC Games Linux Windows Database Network Programming Server Mobile  
           
  Home \ Programming \ SpringMVC the use of interceptors     - How to understand Python yield keyword (Programming)

- Using Android Studio integrated development environment to build Android (Linux)

- TeamCity continuous integration in the Linux installation (Linux)

- MySQL Slave synchronization problem solving (Database)

- Varnish configuration language VCL and its built-in variables (Server)

- Build your own CA services: OpenSSL command line CA Quick Guide (Server)

- How to disable IPv6 on Ubuntu, Linux Mint, Debian (Linux)

- How to Upgrade Ubuntu GNOME 14.10 to GNOME 3.16 Desktop (Linux)

- VNC connection VMware vSphere ESXi 5.5 (Linux)

- GCC and gfortran write MEX program (Matlab2012a) under Ubuntu 14.04 (Programming)

- Configure the ASM process on Red Hat Linux 6.5 (Database)

- CentOS5 installation Nodejs (Linux)

- Linux yum command Detailed (Linux)

- Ubuntu set Swap Space Tutorial (Linux)

- SpringMVC garbage processing (Programming)

- What is Java EE (Programming)

- Linux Basics Tutorial: Linux Kickstart automated installation (Linux)

- To install Emacs under CentOS 6.5 (Linux)

- Linux Oracle environment variable is invalid Problem Solving (Database)

- Memcached and Redis (Linux)

 
         
  SpringMVC the use of interceptors
     
  Add Date : 2018-11-21      
         
         
         
  What is the interceptor

Interceptor generally refers generally by intercepting some requests from the browser to the server to complete some of the features section of code
Usually before a request occurs, the event, after a request we can intercept
What can be done interceptor

Interceptor can be used to verify permissions, to solve the garbage, logging operations, performance monitoring, exception handling, etc.

Custom interceptors

By inheritance Spring framework HandlerInterceptorAdapter class, then override preHandle, postHandle, afterCompletion three methods, in order to write our own business logic code implemented in three methods.

/ **
 * Custom interceptors
 * /
public class MyInterceptor extends HandlerInterceptorAdapter {
 / **
  * Before requesting execution
  * @param Request
  * @param Response
  * @param Handler indicates that the request is intercepted target
  * @return False: intercepting a request termination request true: to continue execution of the request
  * /
 @Override
 public boolean preHandle (HttpServletRequest request, HttpServletResponse response,
        Object handler) throws Exception {
  // Business logic code to write ... (such as: solve the garbage, the privilege verifier)
  request.setCharacterEncoding ( "utf-8");
  return true;
 }
 
 / **
  * @param ModelAndView view can be operated
  * /
 @Override
 public void postHandle (HttpServletRequest request, HttpServletResponse response,
       Object handler, ModelAndView modelAndView) throws Exception {
  // Business logic code to write ... (eg: Operation logging, change the view information)
 }
 
 / **
  * @param Ex abnormalities
  * /
 @Override
 public void afterCompletion (HttpServletRequest request, HttpServletResponse response,
        Object handler, Exception ex) throws Exception {
  // Business logic code to write ... (such as: resource destruction, exception handling)
 }
}

a) public boolean preHandle (HttpServletRequest request, HttpServletResponse response,
Object handler) throws Exception
The method of doing before action can be achieved pretreatment data, such as: coding, anti resubmit security control.
If the method returns true, then proceed to action. Return false then intercepts the request

b) public void postHandle (HttpServletRequest request, HttpServletResponse response,
Object handler, ModelAndView modelAndView) throws Exception
The method in the action execution, before generating execution view. Here we have the opportunity to modify the view layer data.

c) public void afterCompletion (HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception
Final performance, typically for releasing resources to handle exceptions. We can is empty according to ex, related to exception handling.

Register interceptor

In the xml configuration file:

 < Mvc: interceptors>
  < Bean id = "myInterceptor" class = "com.admol.web.MyInterceptor" />
< / Mvc: interceptors>

When there are multiple interceptors when you can write multiple bean
When we want to intercept some of the designated request:

 < Mvc: interceptors>
      < -! Path: the need to intercept the request, it will intercept all requests not write ->
  < Mvc: mapping path = ". / * Htm" />
  < Bean id = "myInterceptor" class = "com.admol.web.MyInterceptor" />
< / Mvc: interceptors>

A plurality of interceptors

xml configuration:

 < Mvc: interceptors>
  < Bean id = "myInterceptor" class = "com.admol.web.MyInterceptor" />
  < Bean id = "myInterceptor2" class = "com.admol.web.MyInterceptor2" />
< / Mvc: interceptors>

When configured with a plurality of interceptors, will perform preHandle method according to the order of interceptors, then reverse and perform postHandle afterCompletion methods.

Other implementations
1. Implement the interface implements HandlerInterceptor
2. implement the interface implements WebRequestInterceptor
Sign interceptor method unchanged

The difference between the filter

1. The filter is dependent on the Servlet container, based on the callback function, Intercepto dependent on the frame, based on reflection
2. The larger filter filter range, you can also filter some static resources interceptor intercepts requests
     
         
         
         
  More:      
 
- How to Install Suricata IDS on a Linux system (Server)
- To build Spring RestTemplate use HttpClient4 (Programming)
- How to set the default Fedora from the command line (Linux)
- Linux open handle limit adjustment (Linux)
- Linux find and xargs (Linux)
- Graphical development environment to build Android under Ubuntu 11.04 (Linux)
- Can not empty the Recycle Bin to repair problems in Ubuntu 14.04 (Linux)
- Cryptography development environment to build under Ubuntu (Linux)
- learning Linux ls command examples (Linux)
- Locale files under Ubuntu (Linux)
- Linux group account deletion, and other related operations (Linux)
- Ubuntu 12.04 install RTL8723BE wireless network card driver (Programming)
- Security matters and practical Linux System (Linux)
- Hadoop vs spark (Server)
- Oracle Client + PL SQL Developer enables remote access to the Oracle database (Database)
- Ubuntu 14.04 LTS installed Hadoop 1.2.1 (distributed cluster mode) (Server)
- Ubuntu dual-card system configuration method (Server)
- MySQL Statistics (Database)
- Ubuntu 14.10 install KDE Plasma 5.2 (Linux)
- The security administrator network analysis tools SATAN Introduction under Linux (Linux)
     
           
     
  CopyRight 2002-2022 newfreesoft.com, All Rights Reserved.