๐Ÿ“Œ JSP์™€ Servlet์˜ ๊ฐœ๋… ๋ฐ ์ฐจ์ด์  ์ •๋ฆฌ

My Pale Blue Dotยท2025๋…„ 3์›” 31์ผ
0

JSP/SERVLET

๋ชฉ๋ก ๋ณด๊ธฐ
1/25
post-thumbnail

๐Ÿ“… ๋‚ ์งœ

2025-03-31

๐Ÿ“ ํ•™์Šต ๋‚ด์šฉ


1๏ธโƒฃ JSP๋ž€?

โœ… ์ •์˜

JSP(JavaServer Pages)๋Š” HTML ์ฝ”๋“œ ์•ˆ์— Java ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•ด ๋™์ ์ธ ์›น ํŽ˜์ด์ง€๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ ์ด๋‹ค.

์„œ๋ฒ„์—์„œ JSP๋Š” Servlet์œผ๋กœ ๋ณ€ํ™˜๋˜์–ด ์‹คํ–‰๋œ๋‹ค.

โœ… ํŠน์ง•

โ€ข ์„œ๋ธ”๋ฆฟ ๊ธฐ๋ฐ˜์˜ ์›น ๊ธฐ์ˆ 

โ€ข Java ์ฝ”๋“œ๋ฅผ <% %> ํƒœ๊ทธ ์•ˆ์— ์ž‘์„ฑ

โ€ข HTML๊ณผ Java๊ฐ€ ํ˜ผํ•ฉ๋˜์–ด ์žˆ์Œ

โ€ข ์„œ๋ฒ„์—์„œ JSP ํŒŒ์ผ์„ ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋ณ€ํ™˜ํ•œ ํ›„ ์‹คํ–‰

โ€ข ์ฃผ๋กœ View(View Template) ์—ญํ• 

โœ… JSP ๋™์ž‘ ์ˆœ์„œ

  1. ์‚ฌ์šฉ์ž๊ฐ€ .jsp ์š”์ฒญ

  2. JSP๊ฐ€ ์„œ๋ธ”๋ฆฟ(Java ์ฝ”๋“œ)์œผ๋กœ ๋ณ€ํ™˜

  3. ์„œ๋ธ”๋ฆฟ์ด ์ปดํŒŒ์ผ๋˜์–ด .class ํŒŒ์ผ ์ƒ์„ฑ

  4. ์‹คํ–‰ ํ›„ HTML ์‘๋‹ต์„ ์ƒ์„ฑํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „๋‹ฌ


2๏ธโƒฃ Servlet์ด๋ž€?

โœ… ์ •์˜

Servlet์€ Java๋กœ ์ž‘์„ฑ๋œ ์„œ๋ฒ„ ์ธก ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ, HTTP ์š”์ฒญ์„ ๋ฐ›์•„ ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์‘๋‹ต์„ ์ƒ์„ฑํ•œ๋‹ค.

โœ… ํŠน์ง•

โ€ข Java ๊ธฐ๋ฐ˜์˜ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ

โ€ข ์ˆœ์ˆ˜ Java ์ฝ”๋“œ๋กœ HTML ์‘๋‹ต ์ƒ์„ฑ

โ€ข ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์„ ๋ฐ›์•„ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์ฒ˜๋ฆฌ

โ€ข Controller ์—ญํ• ์„ ์ฃผ๋กœ ๋‹ด๋‹นํ•จ


3๏ธโƒฃ JSP์™€ Servlet์˜ ์ฐจ์ด์ 

ํ•ญ๋ชฉJSPServlet
๊ตฌ์„ฑ ์ค‘์‹ฌHTML ์ค‘์‹ฌJava ์ฝ”๋“œ ์ค‘์‹ฌ
๋ชฉ์ ํ™”๋ฉด ์ถœ๋ ฅ(View)๋กœ์ง ์ฒ˜๋ฆฌ(Controller)
์‹คํ–‰ ๋ฐฉ์‹JSP โ†’ Servlet โ†’ ์‹คํ–‰Java ์ฝ”๋“œ๋กœ ๋ฐ”๋กœ ์‹คํ–‰
์œ ์ง€๋ณด์ˆ˜์‰ฌ์›€ (HTML ์œ„์ฃผ)๋ณต์žกํ•  ์ˆ˜ ์žˆ์Œ
์‚ฌ์šฉ ์œ„์น˜๊ฒฐ๊ณผ ํ™”๋ฉด ์ถœ๋ ฅ์šฉ์‚ฌ์šฉ์ž ์š”์ฒญ ์ฒ˜๋ฆฌ์šฉ

4๏ธโƒฃ MVC ๊ตฌ์กฐ์—์„œ JSP์™€ Servlet์˜ ์—ญํ• 

[์‚ฌ์šฉ์ž ์š”์ฒญ]
      โ†“
   [Servlet (Controller)]
   - ์š”์ฒญ ํŒŒ๋ผ๋ฏธํ„ฐ ์ฒ˜๋ฆฌ
   - ๋กœ์ง ์‹คํ–‰, DB ์ ‘๊ทผ
   - JSP์— ๊ฒฐ๊ณผ ์ „๋‹ฌ
      โ†“
   [JSP (View)]
   - ๊ฒฐ๊ณผ ์ถœ๋ ฅ
      โ†“
[์‘๋‹ต HTML ๋ฐ˜ํ™˜]

5๏ธโƒฃ ์˜ˆ์ œ ์ฝ”๋“œ

โ–ถ Servlet ์˜ˆ์ œ (HelloServlet.java)

@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

        request.setAttribute("msg", "Hello from Servlet!");
        request.getRequestDispatcher("/hello.jsp").forward(request, response);
    }
}

โ–ถ JSP ์˜ˆ์ œ (hello.jsp)

<%@ page contentType="text/html; charset=UTF-8" %>
<html>
<body>
    <h2><%= request.getAttribute("msg") %></h2>
</body>
</html>

๐Ÿ”ฅ ์ •๋ฆฌ

โ€ข JSP๋Š” View, Servlet์€ Controller ์—ญํ• 

โ€ข JSP๋Š” ์ตœ์ข…์ ์œผ๋กœ ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋ณ€ํ™˜๋˜์–ด ์‹คํ–‰๋จ

โ€ข ๋‘˜ ๋‹ค Java ์›น ๊ธฐ์ˆ ์˜ ์ค‘์š”ํ•œ ๊ตฌ์„ฑ ์š”์†Œ์ด๋ฉฐ, ์ „ํ†ต์ ์ธ ์›น ๊ฐœ๋ฐœ์—์„œ ๋งŽ์ด ์‚ฌ์šฉ๋จ

โ€ข ์ตœ๊ทผ์—๋Š” Spring MVC, Thymeleaf ๋“ฑ์œผ๋กœ ๋ฐœ์ „ํ–ˆ์ง€๋งŒ ๊ธฐ๋ณธ ๊ฐœ๋…์œผ๋กœ ๊ผญ ์•Œ์•„์•ผ ํ•  ์š”์†Œ


๐Ÿ”— ์ฐธ๊ณ  ์ž๋ฃŒ

โ€ข MDN - JSP ๊ฐœ์š”

โ€ข Servlet ๊ณต์‹ ๋ฌธ์„œ (Oracle)

โ€ข Baeldung - JSP vs Servlet


profile
Here, My Pale Blue.๐ŸŒ

0๊ฐœ์˜ ๋Œ“๊ธ€