Home PC Games Linux Windows Database Network Programming Server Mobile  
           
  Home \ Programming \ SpringMVC the use of interceptors     - Sorting algorithm of dichotomy (binary) insertion sort algorithm (Programming)

- How to build a container cluster (Server)

- Ubuntu Linux to create and increase the Swap partition tutorial (Linux)

- Linux security configuration (Linux)

- Ubuntu install virtual machine software VirtualBox 4.3.10 (Linux)

- Spring Data JPA @EnableJpaRepositories configuration in detail (Programming)

- Run two MySQL service on one server (Database)

- jdbc Oracle database connection string writing pluggable (Database)

- Linux, security encryption to transfer files between machines (Linux)

- Red Hat Linux mount U disk (Linux)

- Oracle 12c PDB Analysis (Database)

- Solve the compatibility problem between Linux and Java at the source in bold font (Linux)

- Understand ASP.NET 5 running the command: DNVM, DNX, and DNU (Server)

- AngularJS - Getting Started with Routing (Programming)

- APF firewall installation and configuration under Linux (Linux)

- Elementary OS Freya global menu (Linux)

- Shell script on the variables with double quotation marks grep small problem (Programming)

- MongoDB common optimization settings in Linux (Database)

- Eclipse remove all comments and code spaces (Linux)

- MySQL High Availability plan several options (Database)

 
         
  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:      
 
- Security basics: simple analytical framework for Linux system firewall (Linux)
- Transplant spider to MySQL 5.6 (Database)
- C language header file defines a global variable (Programming)
- In Debian 4.3 compiler under Linux-2.6.28 kernel Summary (Programming)
- GlusterFS distributed storage deployment (Server)
- pdf.js Tutorial (Linux)
- jdbc Oracle database connection string writing pluggable (Database)
- Ubuntu 15.04 installation MATE 1.10 (Linux)
- Java in several ways of using MongoDB (Programming)
- New experience Budgie (Budgerigar) desktop environment (Linux)
- HBase in MVCC implementation mechanism and its application (Database)
- Let 32 Linux / CentOS system to support more than 4G memory (Linux)
- Mac OS X Server installation and application (Linux)
- The headers for the current running kernel were not found when VirtualBox installation enhancements (Linux)
- Fedora network set up simple (Linux)
- CentOS 6.4 Telecom ADSL dial-up network configuration (Linux)
- Swift acquaintance of values and references, the circular reference, Agent Precautions (Programming)
- Elaborate 10-point difference between the new and malloc (Programming)
- How to Install Cantata MPD 1.3.3 for Ubuntu and Derived Version Users (Linux)
- Ubuntu Apache2 setting, problem solving css, pictures, etc. can not be displayed (Server)
     
           
     
  CopyRight 2002-2022 newfreesoft.com, All Rights Reserved.