minOS

서블릿, JSP, MVC 패턴 -서블릿으로 회원 관리 웹 애플리케이션 만들기 본문

TIL/김영한의 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

서블릿, JSP, MVC 패턴 -서블릿으로 회원 관리 웹 애플리케이션 만들기

minOE 2024. 6. 24. 15:29
728x90

서블릿으로 회원 관리 웹 애플리케이션 만들기

웹 애플리케이션을 전부 만든 상태이다. 실행되는 모습을 사진으로 보자.

전송을 누르면(http://localhost:8080/servlet/members/new-forms)
id가 늘어나면서 저장한다.(http://localhost:8080/servlet/members/save)

저장된 모든 회원들을 보여준다.(http://localhost:8080/servlet/members)

 

서블릿과 자바 코드 HTML 만들때

HTML Form 데이터 포스트로 전송할 때
@WebServlet(name="memberFormServlet",urlPatterns = "/servlet/members/new-forms")
public class MemberFormServlet extends HttpServlet {

    private MemberRepository memberRepository = MemberRepository.getInstance();


    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        response.setCharacterEncoding("utf-8");
        PrintWriter w = response.getWriter();


        w.write("<!DOCTYPE html>\n" +


                "<html>\n" +
                "<head>\n" +
                "    <meta charset=\"UTF-8\">\n" +
                "    <title>Title</title>\n" +
                "</head>\n" +
                "<body>\n" +
                "<form action=\"/servlet/members/save\" method=\"post\">\n" +
                "    username: <input type=\"text\" name=\"username\" />\n" +
                "    age:      <input type=\"text\" name=\"age\" />\n" +
                " <button type=\"submit\">전송</button>\n" + "</form>\n" +
                "</body>\n" +
                "</html>\n");
    }
}​

위 코드에서 보듯이 자바 코드로 HTML을 만들어 내는 것은 비효율 적이다. 보다 차라리 HTML 문서에 동적으로 변경해야 하는 부분만 자바 코드를 넣을 수 있다면 더 편리할 것이다. 이것이 바로 템플릿 엔진이 나온 이유이다. 템플릿 엔진을 사용하면 HTML 문서에서 필요한 곳만 코드를 적용해서 동적으로 변경할 수 있다. 템플릿 엔진에는 JSP, Thymeleaf, Freemarker, Velocity등이 있다.

 

 

728x90