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>   

ความคิดเห็น

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

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

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

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