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