반응형

이번에는 전 글에서 작성한 리스트 출력과 회원가입기능에서  회원 정보 수정 및 삭제 기능을 추가해 보겠습니다

 

  • 회원 정보 수정창에서 회원 정보를 수정하고 수정하기를 클릭해 /member/modMember.do로 컨트롤러에 요청합니다.
  • 컨트롤러는 전송된 회원 수정 정보를 가져온 후 테이블에서 회원 정보를 수정합니다.
  • 수정을 마친 후 컨트롤러는 다시 회원 목록창을 보여줍니다.

삭제하는 과정도 크게 다르지 않습니다.

  • 회원 목록창에서 삭제를 클릭해 요청명 /member/delMember.do와 회원 ID를 컨트롤러로 전달합니다.
  • 컨트롤러는 request의 getPathInfo() 메서드를 이용해 요청명을 가져옵니다.
  • 회원 ID를 SQL문으로 전달해 테이블에서 회원 정보를 삭제합니다.

  이전 글에서 사용했던 예제들을 모두 재사용 하겠습니다.

깃허브에서 sec02.ex02패키지와 test03폴더입니다.

 

  

 

github: https://github.com/soulwine-it/mvc_test

 

soulwine-it/mvc_test

Contribute to soulwine-it/mvc_test development by creating an account on GitHub.

github.com

 

자료출처 : 자바웹을 다루는 기술

반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

게시판 글쓰기(파일첨부) 구현  (0) 2020.01.03
모델 2 답변형 게시판 구현(게시판 테이블 생성)  (0) 2020.01.02
MVC 회원 정보 추가 기능  (0) 2019.12.30
jstl download  (0) 2019.12.30
MVC를 이용한 회원관리  (0) 2019.12.30
블로그 이미지

꽃꽂이하는개발자

,
반응형

이전 글에서는 리스트 출력까지 해보았습니다.

  이번에는 컨트롤러에서 회원 정보 조회뿐만 아니라 회원 정보 등록까지 구현해 보겠습니다. 앞에서 보다 브라우저로부터 전달되는 요청 사항이 많아졌기 때문에 우선은 컨트롤러가 브라우저로부터 어떤 요청을 받았는지 알아내야 합니다. 그런 다음 그 요청에 대해 해당하는 모델을 선택하여 작업을 요청해야 하는데, 이 역할을 하는 방법을 커맨트 패턴이라고 합니다.

  커맨트 패턴이란 한마디로 브라우저가 URL패턴을 이용해 컨트롤러에게 수행 작업을 요청하는 방법입니다. 컨트롤러는 getPathInfo() 메서드를 이용해 URL 패턴에서 요청명을 받아와 작업을 수행합니다.

 

memberForm.jsp MemberController MemberDao DB
  • 회원 가입창에서 회원 정보를 입력하고 URL 패턴을 /member/addMember.do로 서버에 요청합니다.
  • MemberController에서 getPathInfo()메서드를 이용해 요청명인 /addMember.do를 받아옵니다.
  • 요청명에 대해 MemberDAO의 addMember()메서드를 호출합니다.
  • addMember() 메서드에서 SQL문으로 테이블에 회원 정보를 추가합니다.

 

  컨트롤러 역할을 하는 MemberController 클래스를 다음과 같이 작성합니다. 이 컨트롤러에서는 getPathInfo() 메서드를 이용해 두 단계로 이루어진 요청을 가져옵니다. action값에 따라 if문을 분기해서 요청한 작업을 수행하는데 action 값이 null이거나 /listMembers.do인 경우에 회원 조회 기능을 수행합니다. 만약 action값이 /memberForm.do면 회원 가입창을 나타내고 action 값이 /addMember.do면 전송된 회원 정보들을 테이블에 추가합니다.

 

MemberController
listMembers
memberForm.jsp

 

MemberDAO와 MemberVO 는 이전글에서 만든 파일을 복사하였습니다.

 

이제 출력해 보겠습니다.

회원 가입을 하게 되면

이렇게 추가가 됩니다.'

다음편에서는 회원 정보 수정 및 삭제 기능을 구현해 보도록 하겠습니다.

 

github : https://github.com/soulwine-it/mvc_test

 

soulwine-it/mvc_test

Contribute to soulwine-it/mvc_test development by creating an account on GitHub.

github.com

 

출처 : 자바웹을 다루는 기술

 

반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

모델 2 답변형 게시판 구현(게시판 테이블 생성)  (0) 2020.01.02
MVC 회원 정보 수정 및 삭제 기능 구현  (0) 2019.12.30
jstl download  (0) 2019.12.30
MVC를 이용한 회원관리  (0) 2019.12.30
모델2 방식  (0) 2019.12.30
블로그 이미지

꽃꽂이하는개발자

,

jstl download

2020/JSP SERVLET 2019. 12. 30. 17:28
반응형

https://windorsky.tistory.com/entry/JSTLJSP-Standard-Tag-Library

 

 

JSTL(JSP Standard Tag Library)

JSTL이란 커스텀 태그 중 가장 많이 사용되는 태그를 표준화하여 라이브러리로 제공하는 것을 말합니다. JSTL에서는 여러 가지 태그를 지원하는데, 표로 정리해 보겠습니다. 라이브러리 세부 기능 접두어 관련 URI..

windorsky.tistory.com

 

jstl 설치

 

반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

MVC 회원 정보 수정 및 삭제 기능 구현  (0) 2019.12.30
MVC 회원 정보 추가 기능  (0) 2019.12.30
MVC를 이용한 회원관리  (0) 2019.12.30
모델2 방식  (0) 2019.12.30
Ajax 이용해 서버와 json데이터 주고받기  (0) 2019.12.30
블로그 이미지

꽃꽂이하는개발자

,
반응형

  브라우저의 요청은 서블릿이 맡고, 비지니스 처리는 모델이 맡고, 화면은 JSP가 맡은 방식으로 회원 관리 기능을 다시 구현해 보겠습니다. 

 

우선 순서는

  • 브라우저에서 /mem.do로 요청합니다.
  • 서블릿 MemberController가 요청을 받아 MemberDAO의 listMembers() 메서드를 호출합니다.
  • MemberDAO의 listMembers() 메서드에서 SQL문으로 회원 정보를 조회한 후 회원 정보를 MemberVO에 설정하여 반환합니다.
  • 다시 MemberController에서는 조회한 회원 정보를 회원 목록창(listMembers.jsp)으로 포워딩합니다.
  • 회원 목록창(listMembers.jsp)에서 포워딩한 회원 정보를 목록으로 출력합니다.

  컨트롤러 역할을 하는 서블릿인 MemberController 클래스를 다음과 같이 작성합니다.

  init() 메서드에서 MemberDAO 객체를 초기화하고 MemberDAO의 listMembers() 메서드를 호출하여 회원 정보를 ArrayList로 반환받습니다. 이때 request에 조회한 회원 정보를 membersList 속성 이름으로 바인딩합니다. 그런 다음 RequestDispatcher 클래스를 이용해 회원 목록창(listMembers.jsp)으로 포워딩합니다.

 

 

MemberDAO클래스에는 listMembers() 메서드 호출 시 SQL문을 이용해 회원 정보를 조회한 후 결과를 ArrayList로 반환합니다.

 

 

memberVO클래스를 작성합니다

변수와 생성자, getter/setter 등 기본적인 사항을 만들어 줍니다.

출력해 보겠습니다.

반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

MVC 회원 정보 추가 기능  (0) 2019.12.30
jstl download  (0) 2019.12.30
모델2 방식  (0) 2019.12.30
Ajax 이용해 서버와 json데이터 주고받기  (0) 2019.12.30
json 실습  (0) 2019.12.30
블로그 이미지

꽃꽂이하는개발자

,

모델2 방식

2020/JSP SERVLET 2019. 12. 30. 13:18
반응형

 모델2 방식

 

  모델2 방식의 핵심은 웹 어플리케이션의 각 기능(클라이언트의 요청 처리, 응답 처리, 비지니스, 로직처리)을 분리해서 구현하자는 것입니다. 객체 지향 프로그래밍에서 각각의 기능을 모듈화해서 개발하자는 것과 같은 원리입니다.

  웹 프로그램 개발 시 개발자가 전체 기능을 몰라도 각 기능이 모듈화되어 있으므로 자신이 맡은 부분만 개발하면 됩니다. 각 부분을 조립만 하면 나중에 전체를 사용할 수 있어 개발 효율성도 높습니다. 물론 모델2 방식으로 개발하기 위해서는 필요한 기술이나 개념을 숙지해야 하는 번거로움은 있지만 초급자라면 우선 자신이 맡은 부분만 개발하면 되므로 훨씬 효율적인 개발 방식이라고 할 수 있습니다. 그리고 개발 후 서비스를 제공할 때도 유지보수가 편할 뿐만 아니라 개발한 모듈들을 비슷한 프로그램을 만들 때 사용할 수 있어 코드 재사용성도 높습니다. 현재 모든 웹프로그램은 모델2 방식으로 개발한다고 보면 됩니다.

 

  모델2 방식의 특징

  • 각 기능이 서로 분리되어 있어 개발 유지 및 유지보수가 쉽습니다.
  • 각 기능(모듈)의 재사용성이 높습니다.
  • 디자이너와 개발자의 작업을 분업화해서 쉽게 개발할 수 있습니다.
  • 모델2 방식과 관련된 기능이나 개념의 학습이 필요합니다.

MVC 디자인 패턴

 

  모델2 구조에서 가장 자주 사용되는 개념이 MVC입니다. MVC란 Model-View-Controller(모델 - 뷰 - 컨트롤러)의 약자로, 일반 PC프로그램 개발에 사용되는 디자인 패턴을 웹 어플리케이션에 도입한 것입니다. 즉 웹 어플리케이션을 화면 부분, 요청 처리 부분, 로직 처리 부분으로 나누어 개발하는 방법이죠.

 

원래 모델2 방식의 구조가 MVC를 포함하는 개념이지만 MVC가 모델2 방식의 뼈대를 이루므로 모델2 방식으로 구현한다는 말은 곧 MVC로 구현한다는 것과 같은 의미로 보면 됩니다.

MVC의 특징은

  • 각 기능이 분리되어 있어 개발 및 유지보수가 편리합니다.
  • 각 기능의 재사용성이 높아집니다.
  • 디자이너와 개발자의 작업을 분업화해서 쉽게 개발할 수 있습니다.

  컨트롤러는 사용자로부터 요청을 받아 어떤 비지니스 로직을 처리해야 할지 제어합니다.

  모델은 데이터베이스 연동같은 비지니스 로직을 처리하고, 뷰는 모델에서 처리한 결과를 화면에 구현하여 클라이언트로 전송합니다.

 

Controller

  • 서블릿이 컨트롤러의 역할을 합니다.
  • 클라이언트의 요청을 분석합니다.
  • 요청에 대해서 필요한 모델을 호출합니다.
  • Model에서 처리한 겨과를 보여주기 위해 JSP를 선택합니다.

Model

  • 데이터베이스 연동과 같은 비지니스 로직을 수행합니다.
  • 일반적으로 DAO와 VO 클래스로 이루어져 있습니다.

View

  • JSP가 화면 기능을 담당합니다.
  • Model에서 처리한 결과를 화면에 표시합니다.

  웹 어플리케이션에서 컨트롤러의 역할은 서블릿이 담당합니다. 모델은 DAO나 VO클래스가 담당하고, 뷰 역할은 JSP가 담당합니다.


다음 글부터 mvc를 활용한 코딩을 해보겠습니다.

반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

jstl download  (0) 2019.12.30
MVC를 이용한 회원관리  (0) 2019.12.30
Ajax 이용해 서버와 json데이터 주고받기  (0) 2019.12.30
json 실습  (0) 2019.12.30
ajax XML 데이터 연동  (0) 2019.12.27
블로그 이미지

꽃꽂이하는개발자

,
반응형

  우선 서버의 서블릿에서 json을 사용하려면 json 라이브러리를 설치해야 합니다

code.google.com/archive/p/json-simple/downloads 로 접속을 한후

사진과 같이 json-simple-1.1.1.jar 파일을 다운받아

프로젝트의 lib에 넣어줍니다.

  그리고 JSP에서 제이쿼리 Ajax 기능을 이용해 서블리승로 JSON 데이터를 전송하기 위해 sec03.ex01 패키지를 만들고 JsonServlet 클래스를 추가해보겠습니다.

 

  먼저 Ajax로 전달된 JSON 문자열을 getParameter() 메서드를 이용해 가져옵니다. 그런 다음 JSONParser 클래스의 parse() 메서드를 이용해 JSONObject를 가져오고 JSON데이터의 name속성으로 value를 출력합니다.

  그리고 자바스크립트에서 회원 정보를 JSON 객체로 만들어 매개변수 이름 jsonInfo로 ajax를 이용해 서블릿으로 전송합니다.

전송을 누르면 Console에 회원정보가 출력됩니다.

 

 

반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

MVC를 이용한 회원관리  (0) 2019.12.30
모델2 방식  (0) 2019.12.30
json 실습  (0) 2019.12.30
ajax XML 데이터 연동  (0) 2019.12.27
jQuery Ajax 코딩  (0) 2019.12.27
블로그 이미지

꽃꽂이하는개발자

,

json 실습

2020/JSP SERVLET 2019. 12. 30. 09:34
반응형

실행해 보면

출력이라는 글을 클릭하면 회원이름이 나오게 됩니다

두번째 코드를 작성해 보겠습니다.

출력을 클릭하시면 회원 나이가 나옵니다.

세번째 코드를 작성해 보겠습니다.

 

반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

모델2 방식  (0) 2019.12.30
Ajax 이용해 서버와 json데이터 주고받기  (0) 2019.12.30
ajax XML 데이터 연동  (0) 2019.12.27
jQuery Ajax 코딩  (0) 2019.12.27
jQuery Ajax  (0) 2019.12.27
블로그 이미지

꽃꽂이하는개발자

,
반응형

Ajax 응답 시 정보를 XML로 전달받아 출력해보겠습니다.

ajax xml

 

github: github.com/soulwine-it/html5-test

 

반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

Ajax 이용해 서버와 json데이터 주고받기  (0) 2019.12.30
json 실습  (0) 2019.12.30
jQuery Ajax 코딩  (0) 2019.12.27
jQuery Ajax  (0) 2019.12.27
jQuery 선택자  (0) 2019.12.27
블로그 이미지

꽃꽂이하는개발자

,