나의 생각을 끄적이는 공간

블로그 이미지

Wooni0477

카테고리

  • 분류 전체보기 (118)
    • 프로그래밍 정리 (102)
      • Front (5)
      • Java (2)
      • JSP, Servlet, DB(oracle) (33)
      • JavaScript (0)
      • Spring (22)
      • Oracle (28)
      • Vue (1)
      • API (1)
      • err (5)
      • ERD (1)
      • etc.. (4)
    • BoostCourse (15)
      • HTML/CSS (7)
      • JavaScript (4)
      • JSP (4)
    • 공부 자료들.. (0)
    • 기타 (0)
    • --------------------------- (0)
    • 끄적이는공간.. (0)
      • 이벤트 (0)
      • 여행 (0)

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

웹 프로그래밍 21(JSP,servlet)-FrontController패턴

프로그래밍 정리/JSP, Servlet, DB(oracle) 2020. 1. 6. 11:34
반응형
웹 프로그래밍 21(JSP,servlet)-FrontController패턴


*기존방식 패턴

기존 패턴은 디렉터리 형태로 서블릿에 @WebServlet("/Hello") 식으로 작성해주었다.

​

​

이번에 배울 패턴은 확장자 패턴으로 어떤 형태건 간에 ".do"끝나는 모든 컴포넌트를 한번에 받아 처리한다.

​

*FrontController

전에 하던 방식은 클라이언트의 여러 요청에 의해 많은 서블릿이 생기게 된다.

개발 및 유지보수를 위해 다양한 요청을 한곳으로 집중시켜 처리하는 방식을 배워보자

​

​

-기존 요청방식

​

-FrontController 방식

​

​

-실전 예제

모두 이름을 다르게하지만 끝에 .do를 붙여 서블릿에 모든 요청을 처리하게끔 해보자

​

​

​

-fc.jsp

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

<%@ page language="java" contentType="text/html; charset=EUC-KR"

pageEncoding="EUC-KR"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">

<title>Insert title here</title>

</head>

<body>

<a href="insert.do">insert</a>

<hr />

<a href="http://localhost:8181<%=request.getContextPath()%>/update.do"> update</a><br />

request.getContextPath() : <%=request.getContextPath()%>

<hr />

<a href="http://localhost:8181/ex_frontController/select.do">select</a>

<hr />

<a href="<%=request.getContextPath()%>/delete.do">delete</a>

</body>

</html>

Colored by Color Scripter

​

​

-frontCon.java(서블릿)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

package com.java.ex;

import java.io.IOException;

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 frontCon

*/

@WebServlet("*.do")

public class frontCon extends HttpServlet {

private static final long serialVersionUID = 1L;

/**

* @see HttpServlet#HttpServlet()

*/

public frontCon() {

super();

// 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

action(request,response);

}

/**

* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

action(request,response);

}

protected void action(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException

{

String uri = request.getRequestURI();

String conPath = request.getContextPath();

String command = uri.substring(conPath.length());

System.out.println("uri : " + uri);

System.out.println("conPath : " + conPath);

System.out.println("command : " + command);

System.out.println("");

if(command.equals("/insert.do")){ //끝부부만 짤라 해당 요청 확인

System.out.println("insert");

System.out.println("----------------");

}else if(command.equals("/update.do")){

System.out.println("update");

System.out.println("----------------");

}else if(command.equals("/select.do")){

System.out.println("select");

System.out.println("----------------");

}else if(command.equals("/delete.do")){

System.out.println("delete");

System.out.println("----------------");

}

}

}

Colored by Color Scripter

​

​

-출력 화면

​

fc.jsp

​

-frontCon.java(insert.do 이동)


반응형
저작자표시 비영리 변경금지 (새창열림)

'프로그래밍 정리 > JSP, Servlet, DB(oracle)' 카테고리의 다른 글

웹 프로그래밍 23-1(게시판 만들기)-MVC패턴  (0) 2020.01.06
웹 프로그래밍 22(JSP,servlet)-포워딩(Forwarding)과 리다이렉트(redirect)  (0) 2020.01.06
웹 프로그래밍 20-2(JSP)-JSTL 기초, Core를 사용해보자  (0) 2020.01.06
웹 프로그래밍 20-1(JSP)-JSTL 시작  (0) 2020.01.06
웹 프로그래밍 19-3(JSP)-내장객체(pageScope, requestScope, sessionScope, applicationScope)  (0) 2020.01.06
Posted by Wooni0477
방명록 : 관리자 : 글쓰기
Wooni0477's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

나의 생각을 끄적이는 공간

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 분류 전체보기 (118)
    • 프로그래밍 정리 (102)
      • Front (5)
      • Java (2)
      • JSP, Servlet, DB(oracle) (33)
      • JavaScript (0)
      • Spring (22)
      • Oracle (28)
      • Vue (1)
      • API (1)
      • err (5)
      • ERD (1)
      • etc.. (4)
    • BoostCourse (15)
      • HTML/CSS (7)
      • JavaScript (4)
      • JSP (4)
    • 공부 자료들.. (0)
    • 기타 (0)
    • --------------------------- (0)
    • 끄적이는공간.. (0)
      • 이벤트 (0)
      • 여행 (0)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바