jiisoo
์ง€์ˆ˜๋กœ๊ทธ
jiisoo
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • home
  • Github
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด ์ €์žฅ์†Œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (80)
    • Java (1)
    • Spring (30)
    • JPA (15)
    • cs (8)
      • ๋””์ž์ธํŒจํ„ด (1)
      • ๋„คํŠธ์›Œํฌ (5)
      • Database (1)
      • ์šด์˜์ฒด์ œ (1)
    • algorithm (18)
      • ์•Œ๊ณ ๋ฆฌ์ฆ˜ & ์ž๋ฃŒ๊ตฌ์กฐ ์ด๋ก  (12)
      • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€์ด (6)
    • ๋ฉด์ ‘ ์ค€๋น„ (0)
    • ํšŒ๊ณ  (5)
      • ATDD (4)
      • ํ•™์Šตํ…Œ์ŠคํŠธ๋กœ ๋ฐฐ์šฐ๋Š” spring 2๊ธฐ (1)
      • ํ”„๋กœ์ ํŠธ (0)

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํƒœ๊ทธ

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
jiisoo

์ง€์ˆ˜๋กœ๊ทธ

[spring] ์„œ๋ธ”๋ฆฟ
Spring

[spring] ์„œ๋ธ”๋ฆฟ

2023. 2. 20. 21:53

๐ŸŒณ ์„œ๋ธ”๋ฆฟ์ด๋ž€ 

  • ์ž๋ฐ”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›น์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ธฐ์ˆ ์ด๋‹ค.
  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์–ด๋– ํ•œ ์š”์ฒญ์„ ํ•˜๋ฉด ๊ทธ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์‹œ ์ „์†กํ•ด ์ฃผ์–ด์•ผ ํ•˜๋Š”๋ฐ ์ด ์—ญํ• ์„ ํ•˜๋Š” ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.

 

ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” Servlet ํด๋ž˜์Šค์˜ ๊ตฌํ˜„ ๊ทœ์น™์„ ์ง€ํ‚จ ์ž๋ฐ” ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ˆ 

  • ์„œ๋ธ”๋ฆฟ์€ ํ†ฐ์บฃ๊ณผ ๊ฐ™์€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ (WAS)๋ฅผ ์ง์ ‘ ์„ค์น˜ํ•˜๊ณ 
  • ๊ทธ ์œ„์— ์„œ๋ธ”๋ฆฟ ์ฝ”๋“œ๋ฅผ ํด๋ž˜์Šค ํŒŒ์ผ๋กœ ๋นŒ๋“œํ•ด์„œ ์˜ฌ๋ฆฐ ๋‹ค์Œ WAS ์‹คํ–‰ํ•˜๋ฉด ๋˜์ง€๋งŒ, ์ด๋Ÿฌํ•œ ๊ณผ์ •์€ ๋ฒˆ๊ฑฐ๋กญ๋‹ค.
  • ์Šคํ”„๋ง ๋ถ€ํŠธ๋Š” ํ†ฐ์บฃ ์„œ๋ฒ„๋ฅผ ๋‚ด์žฅํ•˜๊ณ  ์žˆ์–ด์„œ ํ†ฐ์บฃ ์„œ๋ฒ„ ์„ค์น˜ ์—†์ด ํŽธ๋ฆฌํ•˜๊ฒŒ ์„œ๋ธ”๋ฆฟ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

๐Ÿข ์Šคํ”„๋ง ๋ถ€ํŠธ์—์„œ ์„œ๋ธ”๋ฆฟ ์‚ฌ์šฉํ•˜๊ธฐ 

  • @ServletComponentScan์„ ์‚ฌ์šฉํ•˜๋ฉด ์Šคํ”„๋ง ๋ถ€ํŠธ์—์„œ ์„œ๋ธ”๋ฆฟ์„ ์ง์ ‘ ๋“ฑ๋กํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
@ServletComponentScan //์„œ๋ธ”๋ฆฟ ์ž๋™ ๋“ฑ๋ก 
@SpringBootApplication
public class ServletApplication {
    public static void main(String[] args) {
  		SpringApplication.run(ServletApplication.class, args);
    }
}
  • ์‹ค์ œ ์„œ๋ธ”๋ฆฟ ๋“ฑ๋กํ•˜๊ธฐ 
@WebServlet(name = "helloServlet", urlPatterns = "/hello")
public class HelloServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("HelloServlet.service");
        System.out.println("request = " + request);
        System.out.println("response = " + response);
        String username = request.getParameter("username");
        System.out.println("username = " + username);
        response.setContentType("text/plain");
        response.setCharacterEncoding("utf-8");
        response.getWriter().write("hello " + username);
    }
}
  • ์„œ๋ธ”๋ฆฟ์ด ํ˜ธ์ถœ๋˜๋ฉด service ๋ฉ”์„œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋˜๋ฉฐ ์‹คํ–‰๋œ๋‹ค.

 

 

๐ŸŒฟ ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ ๋™์ž‘ ๋ฐฉ์‹ ์„ค๋ช… 

  • ์Šคํ”„๋ง ๋ถ€ํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์Šคํ”„๋ง ๋ถ€ํŠธ๊ฐ€ ๋‚ด์žฅ ํ†ฐ์บฃ ์„œ๋ฒ„๋ฅผ ๋„์›Œ์ค€๋‹ค.
  • ์ด ํ†ฐ์ผ“ ์„œ๋ฒ„๋Š” ๋‚ด๋ถ€์— ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ๊ทธ ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ†ตํ•ด ์„œ๋ธ”๋ฆฟ์„ ์ƒ์„ฑํ•ด ์ค€๋‹ค.
  • helloServelt ์ด ์ƒ์„ฑ๋˜๊ณ  

  • url ์ž…๋ ฅ์ฐฝ์— localhost:8081/hello?username=kim์ด๋ผ๊ณ  ์ž…๋ ฅํ•˜๋ฉด
  • ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์™ผ์ชฝ๊ณผ ๊ฐ™์ด ์š”์ฒญ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•ด์„œ ์„œ๋ฒ„์— ๋˜์ ธ ์ค€๋‹ค.

  • ์„œ๋ฒ„์— ์š”์ฒญ์ด ์˜ค๋ฉด http ์š”์ฒญ ๋ฉ”์‹œ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ request, response ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด ๋†“๊ณ  
  • ์‹ฑ๊ธ€ํ†ค์œผ๋กœ ๋– ์žˆ๋Š” helloServlet์— ์žˆ๋Š” service( ) ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด์„œ request, response๋ฅผ ๋„˜๊ฒจ์ฃผ๋ฉด์„œ helloServlet์„ ํ˜ธ์ถœํ•ด ์ค€๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๊ฐ€ response ๋ฐ์ดํ„ฐ์—๋‹ค๊ฐ€ ์ •๋ณด๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด helloServlet ์ด ์ข…๋ฃŒ๋˜๊ณ  ๋‚˜๊ฐ€๋ฉด์„œ WAS ์„œ๋ฒ„๊ฐ€ ์ด response ๊ฐ์ฒด ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  http ์‘๋‹ต ๋ฉ”์‹œ์ง€๋ฅผ ๋งŒ๋“ค์–ด ๋ฐ˜ํ™˜ํ•ด ์ค€๋‹ค.

 

 

 

 

 

<๊น€์˜ํ•œ - '์Šคํ”„๋ง MVC 1ํŽธ - ๋ฐฑ์—”๋“œ ์›น ๊ฐœ๋ฐœ ํ•ต์‹ฌ ๊ธฐ์ˆ ' ์„ ์ฐธ๊ณ  ํ•˜์˜€์Šต๋‹ˆ๋‹ค.>

 

 

'Spring' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[spring] HTTP ์š”์ฒญ ๋ฐ์ดํ„ฐ  (0) 2023.02.22
[spring] HttpServletRequest  (0) 2023.02.21
[spring] ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ดํ•ด  (0) 2023.02.18
[spring] ๋นˆ ์Šค์ฝ”ํ”„ (2)  (0) 2023.02.12
[spring] ๋นˆ ์Šค์ฝ”ํ”„ (1)  (0) 2023.02.07
    'Spring' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [spring] HTTP ์š”์ฒญ ๋ฐ์ดํ„ฐ
    • [spring] HttpServletRequest
    • [spring] ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ดํ•ด
    • [spring] ๋นˆ ์Šค์ฝ”ํ”„ (2)
    jiisoo
    jiisoo

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”