Server

JSP STEP 10 - JSP Model

2023. 5. 11. 10:51
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 사용

sendRedirect

  • 2. forward() 사용

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
'Server' 카테고리의 다른 글
  • JSTL STEP 1 - JSTL 기초 셋팅 및 응용
  • JSP STEP 11 - JSP Model 2 + EL + JSTL
  • JSP STEP 9 - Web Security
  • JSP STEP 8 - DB를 연동하여, 주소록 사이트 만들기
IT의 큰손
IT의 큰손
IT계의 큰손이 되고 싶은 개린이의 Log 일지
IT의 큰손
Developer Story House
IT의 큰손
전체
오늘
어제
  • 분류 전체보기 (457)
    • 정보처리기사 필기 (18)
    • 정보처리기사 실기 (12)
    • 정보처리기사 통합 QUIZ (12)
    • 빅데이터 (11)
    • 안드로이드 (11)
    • 웹페이지 (108)
    • 자바 (49)
    • SQLD (3)
    • 백준 알고리즘 (76)
    • 데이터베이스 (41)
    • 깃허브 (2)
    • Library (14)
    • Server (31)
    • 크롤링&스크래핑 (3)
    • Spring (23)
    • Vue.js (13)
    • React (27)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • Developer Stroy House

인기 글

태그

  • IT자격증
  • 개발자
  • it
  • ajax
  • 백준
  • 웹페이지
  • 정보처리기사
  • DB
  • java
  • html
  • 앱개발자
  • 알고리즘
  • 개발블로그
  • 백엔드
  • css
  • IT개발자
  • JavaScript
  • 웹개발
  • 코딩테스트
  • React
  • 정보처리기사필기
  • 웹개발자
  • DBA
  • 데이터베이스
  • jsp
  • 자바
  • 정보보안전문가
  • jquery
  • IT자격증공부
  • 프론트엔드

최근 댓글

최근 글

Designed By hELLO
IT의 큰손
JSP STEP 10 - JSP Model
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.