KIC/JSP
day48 - JSP(model2)
바차
2021. 8. 24. 00:00
반응형
[JSP만을 사용함의 문재점]
- 동일한 로직을 수행하는 코드가 중복될 가능성이 높다.
- 기능 변경 발생 시에 여러 코드에 동일한 수정을 반영해줘야 한다.
- 이는 코드의 누락 가능성을 높이고, 따라서 버그 가능성이 높아진다.
- 따라서 기능적 부분과 뷰 부분을 나누는 model2를 사용하는 것
[model1/ model2 비교]
[MVC 프레임 워크]
- 모델 - 비즈니스 영역의 상태 정보를 처리한다.
- 뷰/비즈니스 영역에서 대한 프레젠테이션 뷰를 담당한다.
- 컨트롤러/사용자의 입력 및 흐름 제어를 담당한다.
- 사용자의 요청을 Service에 전달하고 Service의 실행 결과를 JSP와 같은 뷰에 전달한다.
- 스프링 MVC나 스트러츠 같은 프레임워크가 MVC프레임 워크에 해당
[Service 클래스]
- 사용자의 요청을 처리하는 기능 제공.
- DAO 클래스를 통해서 DB연동을 처리한다.
- 가입 신청 처리, 글 목록 제공 등의 기능을 구현
[DAO 클래스]
- DB와 관련된 CRUD 작업을 처리한다.(SQL 쿼리 실행)
[뷰(JSP)]
- Serivce 클래스가 실행한 결과를 화면에 출력해주거나 Service 가 기능을 수행하는 데 필요한 데이터를 전달한다.
[서블릿]
- html을 만들어 줄 수 있는 것
서블릿 생성
프로젝트 우클릭 -> New -> Servlet - >Servlet 생성
[NowServlet.java]
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class Nowservlet
*/
@WebServlet("/Nowservlet")
public class Nowservlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* Default constructor.
*/
public Nowservlet() {
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>현재시간</title></head>");
out.println("<body>");
out.println("현재 시간은");
out.println(new Date());
out.println("입니다.");
out.println("</body></html>");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
<display-name>jspPro</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>now</servlet-name>
<servlet-class>servlet.NowServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>now</servlet-name>
<url-pattern>/NowServlet</url-pattern>
</servlet-mapping>
</web-app>
300x250