22-04-18-책임연쇄패턴-4부-장점과단점
본문 바로가기
CS Study/디자인패턴

22-04-18-책임연쇄패턴-4부-장점과단점

by KyeongMin 2022. 4. 18.
728x90
반응형

01.자바

  • 자바에서는 Servel Filter

CoRInJava

import javax.servlet.*;
import java.io.IOException;

public class CoRInJava {

    public static void main(String[] args) {
        Filter filter = new Filter() {
            @Override
            public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
                // TODO 전처리
                chain.doFilter(request, response);
                // TODO 후처리
            }
        };
    }
}

MyFilter

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;

@WebFilter(urlPatterns = "/hello")
public class MyFilter implements Filter {

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        System.out.println("게임에 참하신 여러분 모두 진심으로 환영합니다.");
        chain.doFilter(request, response);
        System.out.println("꽝!");
    }
}

App

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;

@ServletComponentScan
@SpringBootApplication
public class App {

    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}

HelloController

package me.whiteship.designpatterns._03_behavioral_patterns._13_chain_of_responsibilities._03_java;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String hello() {
        return "hello";
    }
}

02.스프링

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests().anyRequest().permitAll().and();
    }
}

  • 저렇게 추가가 되는게 있음

https://github.com/3DPIT/3dpit.github.io/blob/master/_posts/DesignPattern/22-04-18-%EC%B1%85%EC%9E%84%EC%97%B0%EC%87%84%ED%8C%A8%ED%84%B4-4%EB%B6%80-%EC%9E%90%EB%B0%94%EC%99%80%EC%8A%A4%ED%94%84%EB%A7%81%EC%97%90%EC%84%9C%EC%B0%BE%EC%95%84%EB%B3%B4%EB%8A%94%ED%8C%A8%ED%84%B4.md

 

GitHub - 3DPIT/3dpit.github.io: A minimal, responsive, and powerful Jekyll theme for presenting professional writing

A minimal, responsive, and powerful Jekyll theme for presenting professional writing - GitHub - 3DPIT/3dpit.github.io: A minimal, responsive, and powerful Jekyll theme for presenting professional w...

github.com

 

 

728x90
반응형

댓글