728x90
★ JSP Model
▶ 1. JSP Model 1
- - HTML + CSS + JavaScript + Java + Servlet + JSP = *.jsp
- <% java code %> + client code
- 코드가 뒤엉켜서 > 불편함.
▶ 2. JSP Model 2
- Servlet : 자바 코드 작성
- JSP : 클라이언트 코드 작성
- 디자인 패턴 : MVC 패턴 기반 구현
▶ MVC 디자인 패턴
- Model > 데이터 (관련 업무) 담당 -> 일반 자바 클래스
- View > 출력 업무 담당 -> JSP
- Controller > 전체 업무 통제 역할 -> 서블릿
▶ Servlet
- 자바 기반 + 웹 추가
- 자바 작성 용이, 웹 작성 불편
▶ JSP
- 웹 기반 + 자바 추가
- 웹 작성 용이, 자바 작성 불편
▶ Servlet + JSP
- 자바 작성(Servlet)
- 웹 작성(JSP)
■ 파일 생성
- Hello
"com.test.mvc" > "Hello.java"
webapp > "mvc" > "hello.jsp"
- Hello.java -> 서블릿 코드를 담은 파일
package com.test.mvc;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Hello extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//비즈니스 코드 작성!!
//서블릿 업무 종료 > JSP 호출하기
//서블릿 > (이동) > JSP
//1. response.sendRedirect()
//2. pageContext.forward()
//resp.sendRedirect("/jsp/mvc/hello.jsp"); : 이러한 경우엔 잘 사용 안함.
RequestDispatcher dispatcher = req.getRequestDispatcher("/mvc/hello.jsp");
//pageContext.forward() 역할
dispatcher.forward(req, resp);
}
}
- hello.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" href="https://me2.do/5BvBFJ57">
<style>
</style>
</head>
<body>
<h1>Hello</h1>
<p>안녕하세여~</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
<script>
</script>
</body>
</html>
- 매핑 작업 -> web.xml
<!-- 가상 주소 매핑 -->
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.test.mvc.Hello</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello.do</url-pattern>
</servlet-mapping>
- 실행 결과
- 1. sendRedirect 사용
- 2. forward() 사용
728x90
'Server' 카테고리의 다른 글
JSTL STEP 1 - JSTL 기초 셋팅 및 응용 (0) | 2023.05.11 |
---|---|
JSP STEP 11 - JSP Model 2 + EL + JSTL (0) | 2023.05.11 |
JSP STEP 9 - Web Security (0) | 2023.05.10 |
JSP STEP 8 - DB를 연동하여, 주소록 사이트 만들기 (2) | 2023.05.10 |
JSP STEP 7 - COOKIE (2) | 2023.05.10 |