๐ŸŒˆ ์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค 5๊ธฐ/Tomcat ๊ตฌํ˜„ํ•˜๊ธฐ

๐Ÿค” HTTP Cache ์บ์‹ฑ์€ ํ•œ ๋ฒˆ ๋ฐ›์•„์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ๋‹ค๊ฐ€ ์ดํ›„ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์žฌํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์›น ์‚ฌ์ดํŠธ์˜ ๊ฒฝ์šฐ ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ € ๋“ฑ)๊ฐ€ ์›น ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด, ์›น ์„œ๋ฒ„์—์„œ HTML, CSS, JS ํŒŒ์ผ ๋“ฑ์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ์‹์œผ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์›น ์‚ฌ์ดํŠธ์˜ ์—…๋ฐ์ดํŠธ๋Š” ๋Œ€์ฒด๋กœ ์ž์ฃผ ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ํ•œ๋ฒˆ ๋ฐ›์•„์˜จ HTML, CSS, JS๊ฐ™์€ ์ •์  ํŒŒ์ผ๋“ค์„ ์บ์‹ฑํ•ด๋‘” ๋’ค ์žฌ์‚ฌ์šฉํ•œ๋‹ค๋ฉด, ์ดํ›„ ์˜ค๋žซ๋™์•ˆ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก์ด ์‚ฌ๋ผ์ง์œผ๋กœ์จ ๋น ๋ฅธ ์‘๋‹ต์„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ฒฐ๊ตญ ์–ธ์  ๊ฐ€๋Š” ์ด๋Ÿฌํ•œ ๋ฆฌ์†Œ์Šค๊ฐ€ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๋ฆฌ์†Œ์Šค๊ฐ€ ๋ณ€ํ•˜๊ธฐ ์ „๊นŒ์ง€๋งŒ ์บ์‹ฑํ•˜๊ณ  ๋ณ€ํ•œ ์ดํ›„์—๋Š” ๋”์ด์ƒ ์บ์‹ฑํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ด๋Ÿฌํ•œ ์บ์‹ฑ ๋ฐฉ๋ฒ•๊ณผ, ๋ฆฌ์†Œ์Šค์˜ ์—…..
๐Ÿค” ์›น ์‚ฌ์ดํŠธ์˜ ์†๋„๋Š” ์™œ ์ค‘์š”ํ•œ๊ฐ€ ์›น ์‚ฌ์ดํŠธ์˜ ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค๋Š” ๊ฒƒ์€ ์‚ฌ์šฉ์ž์—๊ฒŒ ์‘๋‹ต์ด ๋น ๋ฅธ ์†๋„๋กœ ์ œ๊ณต๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์‘๋‹ต์ด ์‚ฌ์šฉ์ž์—๊ฒŒ ๋น ๋ฅด๊ฒŒ ์ œ๊ณต๋˜๋Š” ๋งŒํผ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์€ ์ข‹์•„์งˆ ๊ฒƒ์ด๊ณ , ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋Š” ํ•ด๋‹น ์›น ์„œ๋น„์Šค๋ฅผ ๊ณ„์†ํ•ด์„œ ์‚ฌ์šฉํ•  ํ™•๋ฅ ์ด ๋†’์•„์ง‘๋‹ˆ๋‹ค. ์›น ์‚ฌ์ดํŠธ์˜ ์„ฑ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ง€ํ‘œ๋“ค์„ ์ขŒ์šฐํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์œ ์ง€ ์‚ฌ์šฉ์ž ์ „ํ™˜๋ฅ  ํ–ฅ์ƒ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ๐Ÿค” ์›น ์‚ฌ์ดํŠธ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ• ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ์•„๋งˆ SQL ์ฟผ๋ฆฌ๋ฅผ ํŠœ๋‹ํ•˜๊ฑฐ๋‚˜, ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์กฐํšŒ ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ์บ์‹œ๋ฅผ ์ ์šฉํ•˜๋Š” ๋“ฑ, ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋“ค๋ณด๋‹ค ๋” ์ ์€ ๋ฆฌ์†Œ์Šค ํˆฌ์ž๋ฅผ ํ†ตํ•ด ํฐ ์„ฑ๋Šฅ ํšจ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์กด์žฌํ•˜๋Š”๋ฐ์š”, ์ด๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. HTTP ์••์ถ• HTTP ์บ์‹ฑ ๐Ÿค” HTTP..
๐Ÿค” Class.getResource() ์ฒซ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ Class ํด๋ž˜์Šค์˜ getResource() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ฃผ์„์„ ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. Finds a resource with a given name. If this class is in a named Module then this method will attempt to find the resource in the module. This is done by delegating to the module's class loader findResource(String,String) method, invoking it with the module name and the absolute name of the resource. Resourc..
๐Ÿค” ์ŠคํŠธ๋ฆผ(Stream) ์ด๋ž€? ์ŠคํŠธ๋ฆผ์ด๋ž€ ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์˜ˆ๋ฅผ ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฉ”๋ชจ์žฅ์— ๋ฌด์–ธ๊ฐ€๋ฅผ ๊ธฐ๋กํ•˜๊ธฐ ์œ„ํ•ด ํ‚ค๋ณด๋“œ๋กœ ์ž…๋ ฅ์„ ํ•˜๋Š” ์ƒํ™ฉ์—์„œ๋„ ์ŠคํŠธ๋ฆผ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ํ‚ค๋ณด๋“œ์—์„œ ๋ฉ”๋ชจ์žฅ์œผ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ํ๋ฅด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ํ•œ ๊ฐ€์ง€ ์˜ˆ์‹œ๋ฅผ ์‚ดํŽด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. import java.util.Scanner; public class Main { private static Scanner sc = new Scanner(System.in); public static void main(String[] args) { String input = sc.nextLine(); System.out.println(input); } } ์œ„ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  "๋ง๋ž‘"์„ ์ž…๋ ฅํ•ด ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ..
๐Ÿ’ก ํ•ด๋‹น ์‹œ๋ฆฌ์ฆˆ๋Š” ์šฐํ…Œ์ฝ”์—์„œ Tomcat ๊ตฌํ˜„ํ•˜๊ธฐ์˜ ๋ฏธ์…˜์„ ์ง„ํ–‰ํ•˜๋ฉฐ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ๊ธฐ๋กํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๐Ÿ’กjdk๋Š” azul-16์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๐Ÿง ์„œ๋ก  ๋ฏธ์…˜์˜ ์‹œ์ž‘์€ Tomcat์„ ํ†ตํ•ด ๊ฐ„๋‹จํ•œ HTTP ์„œ๋ฒ„(์›น ์„œ๋ฒ„)๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. Tomcat๊ณผ ์›น ์„œ๋ฒ„์— ๋Œ€ํ•ด์„œ ์ฐพ์•„๋ณด๋ฉด, WAS์™€ ์›น ์„œ๋ฒ„์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด ๋งŽ์ด ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” WAS์™€ ์›น ์„œ๋ฒ„์— ๋Œ€ํ•œ ์ฐจ์ด์ ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ด ์•„๋‹ˆ๋ฏ€๋กœ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ข‹์€ ์ž๋ฃŒ๋“ค์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ๋‚จ๊ฒจ ๋‘๊ณ , ์„ค๋ช…์€ ๊ฑด๋„ˆ๋›ฐ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์–„์ฝ”๋‹˜ ์˜์ƒ(https://www.youtube.com/watch?v=Zimhvf2B7Es) ์—ฌ์šฐ์˜ ํ…Œ์ฝ”ํ†ก(https://www.youtube.com/watch?v=31tKPguQ1sk) ํ‹ฐ๊ฑฐ์˜ ํ…Œ์ฝ”ํ†ก(..
๋ง ๋ž‘
'๐ŸŒˆ ์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค 5๊ธฐ/Tomcat ๊ตฌํ˜„ํ•˜๊ธฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก