-
day48 - JSP(model2)KIC/JSP 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'KIC > JSP' 카테고리의 다른 글
day50 - JSP(model2, login, DBconnection) (0) 2021.08.26 day49 - JSP(model2) (0) 2021.08.25 day47 - JSP(AJAX, JSON, jQuery) (0) 2021.08.20 day46_2 - JSP(AJAX) (0) 2021.08.20 day46_1 - JSP(jstl, if 태그, forEach) (0) 2021.08.19