์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ ์ดˆ๊ธฐํ™”๋ž€?

2023. 4. 10. 08:42ใ†์ธํ”„๋Ÿฐ/์Šคํ”„๋ง ๋ถ€ํŠธ - ํ•ต์‹ฌ ์›๋ฆฌ์™€ ํ™œ์šฉ

728x90

 

 

 

 

 

 

 

์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ์™€ ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ

WAS๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์‹œ์ ์— ํ•„์š”ํ•œ ์ดˆ๊ธฐํ™” ์ž‘์—…๋“ค( ์„œ๋น„์Šค์— ํ•„์š”ํ•œ ํ•„ํ„ฐ์™€ ์„œ๋ธ”๋ฆฟ์„ ๋“ฑ๋ก, ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ, ๋””์ŠคํŒจ์ฒ˜ ์„œ๋ธ”๋ฆฟ ๋“ฑ๋ก ๋“ฑ..) 

์ด ์žˆ๋Š”๋ฐ WAS๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ดˆ๊ธฐํ™” ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด, WAS ์‹คํ–‰ ์‹œ์ ์— ์ด๋Ÿฌํ•œ ์ดˆ๊ธฐํ™” ๊ณผ์ •์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. 

์˜ˆ์ „์—” web.xml์„ ์‚ฌ์šฉํ•ด์„œ ์ดˆ๊ธฐํ™”ํ–ˆ์ง€๋งŒ, ์ง€๊ธˆ์€ ์„œ๋ธ”๋ฆฟ ์ŠคํŽ™์—์„œ ์ž๋ฐ” ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•œ ์ดˆ๊ธฐํ™”๋„ ์ง€์›ํ•˜๊ณ  ์žˆ๋‹ค. 

 

 

 

์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ ์ดˆ๊ธฐํ™” ๊ฐœ๋ฐœ ServletContainerInitializer 

์„œ๋ธ”๋ฆฟ์€ ServletContainerInitailzer๋ผ๋Š” ์ดˆ๊ธฐํ™” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š”๋ฐ ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.

public class MyContainerInitV1 implements ServletContainerInitializer
{
   @Override
   public void onStartup(Set<Class<?>> c, ServletContext ctx) throws ServletException
   {
      System.out.println("MyContainerInitV1.onStartup");
      System.out.println("MyContainerInitV1 c = " + c);
      System.out.println("MyContainerInitV1 ctx = " + ctx);
      
   }
}

์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ๋Š” ์‹คํ–‰ ์‹œ์ ์— ์ดˆ๊ธฐํ™” ๋ฉ”์„œ๋“œ์ธ onStartUp ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ด์ฃผ๋Š”๋ฐ ์ด๋•Œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํ•„์š”ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ์ดˆ๊ธฐํ™”ํ•˜๊ฑฐ๋‚˜ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

resources/META-INF/services/jakarta.servlet.ServletContainerInitializer 

ํ•ด๋‹น ๊ฒฝ๋กœ์˜ ํŒŒ์ผ์— 

WAS์— ์‹คํ–‰ํ•  ์ดˆ๊ธฐํ™” ํด๋ž˜์Šค๊ฐ€ ์–ด๋–ค ๊ฒƒ์ธ์ง€ ์•Œ๋ ค์ค˜์•ผ ํ•œ๋‹ค!! ํŒจํ‚ค์ง€ ๊ฒฝ๋กœ๊นŒ์ง€ ํฌํ•จํ•ด ์ง€์ •ํ•ด์ฃผ๋ฉด WAS๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ํ•ด๋‹น ํด๋ž˜์Šค๋ฅผ ์ดˆ๊ธฐํ™” ํด๋ž˜์Šค๋กœ ์ธ์‹ํ•˜๊ณ  ๋กœ๋”ฉ์‹œ์ ์— ์‹คํ–‰ํ•ด์ค€๋‹ค. 

(๋“ฑ๋กํ•  ๋•Œ ์˜คํƒ€ ๊ฐ™์€๊ฒƒ ์žˆ์œผ๋ฉด ์ ˆ๋Œ€ ์•ˆ๋˜๋‹ˆ๊นŒ ํ™•์ธ์˜ ํ™•์ธ์„ ํ•˜๊ธธ...)

 

 

์ด๋ ‡๊ฒŒ ์ดˆ๊ธฐํ™”๋ฅผ ํ•˜๊ณ  ํ†ฐ์บฃ์„ ์‹คํ–‰ํ•ด๋ณด๋ฉด 

WAS ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ํ•ด๋‹น ์ดˆ๊ธฐํ™” ํด๋ž˜์Šค๊ฐ€ ์‹คํ–‰๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90