728x90
반응형
Servlet 예제
- JSP 같은 경우 JAVA 코드에 html 을 작성한다.
- response 로 작성한 HTML 을 응답해주는 형식이다.
url 로 회원등록을 요청하면 응답으로 회원등록 HTML 을 받는 부분이다.
너무 불편하다. 쓸수가 없다.
package hello.servlet.web.servlet;
import hello.servlet.basic.domain.member.MemberRepository;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet(name = "memberFormServlet", urlPatterns = "/servlet/members/new-form")
public class MemberFormServlet extends HttpServlet {
private MemberRepository memberRepository = MemberRepository.getInstance();
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html");
resp.setCharacterEncoding("utf-8");
PrintWriter w = resp.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");
}
}
전체코드
https://github.com/rnrl1215/spring-mvc-1/tree/main/src/main/java/hello/servlet/web/servlet
JSP 예제
- 지금은 사장되었지만 JSP 로 위 예제를 그대로 구현해 본다.
- 회원을 저장하는 jsp 부분
- <% ~자바코드 ~%>
- <%= 자바코드 %> = 이 있으면 내용을 출력을 한다.
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="hello.servlet.domain.member.Member" %>
<%@ page import="hello.servlet.domain.member.MemberRepository" %>
<%
// request, response 그냥 쓸수 있도록 지원된다.
MemberRepository
memberRepository = MemberRepository.getInstance();
String username = request.getParameter("username");
int age = Integer.parseInt(request.getParameter("age"));
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>
전체코드
https://github.com/rnrl1215/spring-mvc-1/tree/main/src/main/webapp/jsp
서블릿과 JSP 의 한계
서블릿
- 뷰화면을 java 코드에서 만들어야 하기 때문에 복잡하고 깔끔하지 않다.
JSP
- 위코드를 보면 비즈니스로직과 뷰영역이 합쳐져 있다 유지보수가 힘들다
그래서 MVC 패턴이 등장한다.
다음페이지에 정리
https://vprog1215.tistory.com/243
728x90
반응형
'Spring > spring framework 구현 스터디' 카테고리의 다른 글
[Spring] MVC 패턴 적용 (0) | 2021.10.17 |
---|---|
[Spring] MVC 패턴 (0) | 2021.10.12 |
[Spring] Servlet 다루기 3: HttpServletResponse 예제 (0) | 2021.10.11 |
[Spring] Servlet 다루기 2: HttpServletRequest 예제 (0) | 2021.10.10 |
[Spring] Servlet 다루기 1: Servlet, HttpServletRequest (0) | 2021.10.09 |
댓글