Spring Framework กับ Interceptor

บทความเกี่ยวกับ : Spring Framework กับ Interceptor


ตัวอย่างการใช้งาน Interceptor ของ Spring Framework เอาไว้ดักการทำงานก่อนเข้า
Controller ครับผมประมาณว่า ก่อนจะทำงานทุกครั้งจะต้องวิ่งเข้ามาที่ Interceptor ก่อนนั่นเอง

Interceptor Class

package com.en.interceptor;


import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

import com.en.model.MasterModel;

public class MasterInterceptor extends HandlerInterceptorAdapter{
    private String errorURL;
    private MasterModel model;
   
    public String getErrorURL() {
        return errorURL;
    }
    public void setErrorURL(String errorURL) {
        this.errorURL = errorURL;
    }
    public MasterModel getModel() {
        return model;
    }
    public void setModel(MasterModel model) {
        this.model = model;
    }
   
}

package com.en.interceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;



public class ExampleInterceptor extends MasterInterceptor{
    private static Logger logger = Logger.getLogger(ExampleInterceptor.class);
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {       
        //request.getRequestDispatcher(errorURL).forward(request, response);
        //return false;
        logger.info("Interceptor running");
        return true;
    }
   
}

Spring Configuration ง่ายๆ ตามด้านล่างเลย
เหมือน Config Bean ทั่วไปนั่นแหละ




<bean id="exampleInterceptor" class="com.en.interceptor.ExampleInterceptor" />

ถ้าต้องการใช้งาน Interceptor ก็แค่ใส่เข้าไปใน URL Mapping ใส่ได้หลาย Interceptor เลยนะครับ

<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">       
        <property name="interceptors">
            <list>
                <ref local="exampleInterceptor"/>
            </list>           
        </property>   
        <property name="mappings">
            <props>
                <prop key="/example_insert.html">exampleController</prop>
                <prop key="/example_load.html">exampleController</prop>
                <prop key="/example_delete.html">exampleController</prop>
                <prop key="/example_ws.html">exampleController</prop>
                <prop key="/example_sap.html">exampleController</prop>               
            </props>
        </property>
    </bean>   

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

java -Xms , java -Xmx กำหมด memory ให้ JVM เพื่อป้องกันปัญหา Out of Memory

Oracle date format จัด format date ให้แสดง พศ และ เดือน ภาษาไทยหรือตามภาษาที่เราเลือก

Java this กับ super การใช้งานคำสั่ง this กับ super ใน ภาษา Java