<
Servlet and JSP
>
🌠다음 포스팅🌠

인터뷰 후기 (크라우드웍스)
☄이전 포스팅☄

웹 보안을 강화하자
Servlet JSP

🚀 JSP(JavaServer Pages)

JSP는 HTML내에 자바 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려주는 서버 사이드 스크립트 언어이다. Java EE 스펙 중 일부로 웹 애플리케이션 서버에서 동작한다.

🚀 Servlet

클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술 다시말해, 자바 언어로 구현한 웹 어플리케이션이라는 말인데 이 때문에 JSP와 많이 비교한다.

🚀 Servlet Container (서블릿 컨테이너)

Spring Boot 개념이 등장하기 전 웹 어플리케이션으로

🌠 서블릿 웹 페이지

@WebServlet(name = "memberSaveServlet", urlPatterns = "/servlet/members/save")
public class MemberSaveServlet extends HttpServlet {

    private final MemberRepository memberRepository = MemberRepository.getInstance();

    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        final String username = request.getParameter("username");
        final int age = Integer.parseInt(request.getParameter("age"));
        final Member member = new Member(username, age);
        memberRepository.save(member);

        response.setContentType("text/html");
        response.setCharacterEncoding("utf-8");
        final PrintWriter printWriter = response.getWriter();
        printWriter.write("<html>\n" +
            "<head>\n" +
            " <meta charset=\"UTF-8\">\n" +
            "</head>\n" +
            "<body>\n" +
            "성공\n" +
            "<ul>\n" +
            " <li>id=" + member.getId() + "</li>\n" +
            " <li>username=" + member.getUsername() + "</li>\n" +
            " <li>age=" + member.getAge() + "</li>\n" +
            "</ul>\n" +
            "<a href=\"/index.html\">메인</a>\n" +
            "</body>\n" +
            "</html>");
    }
}

처음 SpringBoot로 개발을 시작한 나에게 있어서 Client 와 Server의 구분이 없어 가독성이 떨어지고 유지보수에서도 문제가 많아질 것을 느꼈다.

그래서 여기서 발전한 것이 JSP이다

🌠 JSP 웹 페이지

<%@ page import="hello.servlet.basic.domain.member.Member" %>
<%@ page import="hello.servlet.basic.domain.member.MemberRepository" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    final MemberRepository memberRepository = MemberRepository.getInstance();
    final String username = request.getParameter("username");
    final int age = Integer.parseInt(request.getParameter("age"));
    final Member member = new Member(username, age);
    memberRepository.save(member);
%>
<html>
<head>
    <title>Title</title>
</head>
<body>
성공
<ul>
    <li>id=<%=member.getId()%>
    </li>
    <li>username=<%=member.getUsername()%>
    </li>
    <li>age=<%=member.getAge()%>
    </li>
</ul>
<a href="/index.html">메인</a>
</body>
</html>

기존 서블릿이 JAVA에 HTML코드를 넣는 방식이라면 JSP는 그 반대의 방식을 적용한다. 그래도 아주 별로다 🤮🤮🤮🤮🤮

차이점

🌠 Servlet 특징

🌠 JSP 특징

🧾 Reference

Servlet JSP 차이

기록공간

Top
Foot