SlideShare a Scribd company logo
1 of 28
Spring Framework MVC구조와 jsTree를 활용한 
Team Matching WebApplication 
양 진 영
01 TimeLine 
03 About 
- 프로젝트 소개 
- 개발환경 
02 Architecture 
- 프로그램 개발(3주) 
- Refactoring(1달) 
- 시스템구조 
- 프로그램 구조 
- FileServer 구조 
- DataBase 설계 
04 SequenceDiagram 
ClassDiagram 
- 패키지별 Class 설명 
05 Play 
- 팀폴더검색 유즈케이스 
06 
- 시연 동영상 및 Q&A
About Timeline Architecture Class Sequence Play 
공모전/게시판 TeamMatching 스케쥴러 팀폴더
About Timeline Architecture Class Sequence Play 
<Development Environment> 
Language 
WAS 
Tool 
Framework/lib
About Timeline Architecture Class Sequence Play 
07.08~07.14 
프로젝트 분석 
주제선정 / 벤치마킹 
/ SWOT분석/ 요구사항정의서 
/ 1차 키추출/ Usecase-Diagram 
/ Usecase 명세서 / 2차 키추출 
07.15~07.25 
프로젝트 설계 
분석단계 Diagram / Class- 
Diagram / DataBase 설계 / 
화면설계 / Sequence-Diagram 
07.26~08.02 
코딩 및 디버깅 
코드 작성 
/ 디버깅 / 코드 수정
About Timeline Architecture Class Sequence Play 
10.13 ~ 10.16 
프로젝트 분석 
Refactoring 적용 기술 학습 
/ 프로젝트 분석 및 테스트 
10.17 ~ 10.22 
프로젝트 설계 
DataBase 수정 및 설계 
/ Class 수정 및 설계 
/ Sequence-Diagram작성 
10.22 ~ 10.26 
코딩 및 디버깅 
코드작성 / 테스트
About Timeline Architecture Class Sequence Play 
<System Architecture> 
DBMS 
(Oracle) 
GET 
POST 
… 
GET 
POST 
… 
Client 
WAS 
Fileserver 
(Dropbox) 
request 
response 
request 
Client 
request 
response 
Container 
Servlet 
response 
Data 
Data
About Timeline Architecture Class Sequence Play 
<Software Architecture> 
Validator 
Manager 
DAO 
DTO 
DBManager 
Member Model 
Post 
Contest 
Team 
Schedule 
File 
HTML/JSP 
Container 
Form 
Model 
Servlet
About Timeline Architecture Class Sequence Play 
DAO 
Model DTO 
Service 
<Software Architecture> 
TeamFolder 
HTML/JSP 
Container 
Model 
Dispatcher 
Servlet 
Controller
About Timeline Architecture Class Sequence Play 
<SpringFramework> 
HandlerMapping ViewResolver 
DispatcherServlet 
Controller Service 
Client 
InternalResource 
ViewResolver 
ControllerClassName 
HandlerMapping 
-servlet.xml
About Timeline Architecture Class Sequence Play 
<FileServer 구조> 
Root 
첨부파일 포트폴리오 팀폴더 
게시물번호 게시물번호 사용자ID 사용자ID 팀번호 팀번호
About Timeline Architecture Class Sequence Play 
<DataBase 설계>
About Timeline Architecture Class Sequence Play 
<DataBase 설계>
About Timeline Architecture Class Sequence Play 
Servlet 
DAO 
Model 
Validator 
Client로부터 요청을 받아 처리하고 
응답하는 객체를 모아놓은 패키지 
MemberContollerServlet 
PostContollerServlet 
FileContollerServlet 
ContestContollerServlet 
TeamContollerServlet 
ScheduleContollerServlet
About Timeline Architecture Class Sequence Play 
Servlet 
DAO 
Model 
Validator 
Client로부터 넘어온 데이터를 
캡슐화한 객체를 모아놓은 패키지 
ScheduleSearchForm 
ScheduleModifyForm 
ScheduleAddForm 
ScheduleRemoveForm 
PostInfoForm 
SearchForm 
MemberRegisterForm 
MemberModifyForm 
MemberLoginForm 
ContestInfoForm
About Timeline Architecture Class Sequence Play 
DTO 
Manager 
Form 
Presentation계층에서 
Application계층으로 넘어온 
데이터의 유효성을 검사하는 
객체를 모아놓은 패키지 
DBManager 
ScheduleSearch Validator 
ScheduleModify Validator 
ScheduleAdd Validator 
ScheduleRemove Validator 
PostInfoValidator 
SearchValidator 
MemberRegister Validator 
MemberModify Validator 
MemberLogin Validator 
ContestInfo Validator
About Timeline Architecture Class Sequence Play 
Servlet 
DAO 
Model 
Validator 
Client로부터 받은 요청을 
Servlet으로부터 위임받아 
처리하는 객체를 모아놓은 패키지. 
TeamFolderController 
ScheduleSearchManager 
ScheduleRemoveManager 
TeamAddManager 
TeamSearchManager 
TeamJoinManager 
TeamMatching 
SearchManager 
TeamMatching 
AgreeManager 
TeamMatching 
DetailManager 
PostAddManager 
PostDetailManager 
MemberWithdrawManager 
MemberLoginManager 
MemberModifyManager 
MemberSearchManager 
ContestAddManager 
ContestDetailManager 
ScheduleAddManager 
ScheduleDetailManager 
ScheduleModifyManager 
TeamRemoveManager 
TeamDetailManager 
TeamExitManager 
TeamMatching 
RequestManager 
TeamMatching 
DisagreeManager 
PostRemoveManager 
PostSearchManager 
PostModifyManager 
MemberIdentifyManager 
MemberDetailManager 
MemberRegisterManager 
ContestRemoveManager 
ContestModifyManager 
ContestSearchManager
About Timeline Architecture Class Sequence Play 
Manager 
DTO 
Form 
DBManager 
프로그램에 필요한 데이터를 
일정한 기준에 의해 캡슐화한 
객체를 모아놓은 패키지 
FolderInfo FileInfo 
FolderTreeInfo ScheduleInfo 
ScheduleInfoList TeamScheduleInfo 
List 
TeamInfoList 
TeamInfo 
MatchingRequest 
List 
MatchingRequest 
TeamPostInfoList 
PostInfoList 
PostInfo 
MemberAddedeInfo 
MemberLoginInfo 
MemberInfoList MemberInfo 
ContestInfoList ContestInfo
About Timeline Architecture Class Sequence Play 
Servlet 
DAO 
Model 
Validator 
프로그램에 필요한 DAO를 
서비스별로 캡슐화한 
객체를 모아놓은 패키지 
TeamFolderService 
ScheduleDBManager 
TeamDBManager 
TeamMatchingDBManager 
PostDBManager 
MemberDBManager 
ContestDBManager
About Timeline Architecture Class Sequence Play 
DTO 
Manager 
DBManager 
Data Access Object의 약자로써 
DB에 접근하여 Data를 관리하는 
역할을 하는 객체를 모아놓은 패키지 
Form 
DBConnectionPool 
BaseDAO 
MemberInterestDAO 
ContestDAO 
MatchingRequestDAO 
PostDAO 
TeamDAO 
TeamMemberDAO 
MemberDAO 
ScheduleDAO 
TeamFolderDAO 
TeamFileDAO 
SequenceDAO
About Timeline Architecture Class Sequence Play 
Servlet 
DAO 
Model 
Data Transfer Object의 약자로써 
계층간 데이터 전송시 사용하는 
객체를 모아놓은 패키지. 
Validator 
TeamFolderDTO 
TeamFileDTO 
ScheduleDTO 
TeamDTO 
TeamMemberDTO 
PostDTO 
MemberInterestDTO 
MemberDTO
About Timeline Architecture Class Sequence Play 
: 회원 
teamMain.jsp DispatcherServlet ControllerClassNameMapping 
1 : 팀폴더를 선택한다.() 
2 : doGet(httpServletRequest,HttpServletRequest,httpServletResponse:HttpServletResponse) 
-servlet.xml 
3 
TeamFolderController반환
TeamFolderController TeamFolderService TeamFolderDAO 
4 : index(teamCode:String):ModelAndView 
applicationContext.xml 
5 : searchTeamFolderList(teamCode:String):List<FolderTreeInfo> 
6 : findByTeamCode(teamCode:String):List<TemFolderDTO> 
DTO를 MODEL로 변환 
MODEL을 JSONObject로 변환
HashMap ModelAndView 
폴더목록정보 
<<create>> 
7 : put(key:String,value:Object) 
folderView 
8 : ModelAndView(viewName:String) 
9 : addAllObject(modelMap:Map<String,Object>)
DispatcherServlet 
InternalResourceViewResolver folderView.jsp 
-servlet.xml 
10 
/JSP/folderView.jsp 
11 : 응답(response)
About Timeline Architecture Class Sequence Play
About Timeline Architecture Class Sequence Play 
Q & A
Thank you!

More Related Content

Similar to Spring MVC Team Matching App with jsTree

Demantra training at hyderabad
Demantra training at hyderabadDemantra training at hyderabad
Demantra training at hyderabadacute23
 
A Zend Architecture presentation
A Zend Architecture presentationA Zend Architecture presentation
A Zend Architecture presentationtechweb08
 
A Zend Architecture presentation
A Zend Architecture presentationA Zend Architecture presentation
A Zend Architecture presentationtechweb08
 
A Zend Architecture presentation
A Zend Architecture presentationA Zend Architecture presentation
A Zend Architecture presentationtechweb08
 
Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Tuna Tore
 
springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892Tuna Tore
 
Nwdi Overview And Features
Nwdi Overview And FeaturesNwdi Overview And Features
Nwdi Overview And Featuresakrishnanr
 
DataFinder: A Python Application for Scientific Data Management
DataFinder: A Python Application for Scientific Data ManagementDataFinder: A Python Application for Scientific Data Management
DataFinder: A Python Application for Scientific Data ManagementAndreas Schreiber
 
Code igniter - A brief introduction
Code igniter - A brief introductionCode igniter - A brief introduction
Code igniter - A brief introductionCommit University
 
Online Datastage training
Online Datastage trainingOnline Datastage training
Online Datastage trainingchpriyaa1
 
Asp.net Programming Training (Web design, Web development)
Asp.net Programming Training (Web design, Web  development)Asp.net Programming Training (Web design, Web  development)
Asp.net Programming Training (Web design, Web development)Moutasm Tamimi
 
Organizing the Data Chaos of Scientists
Organizing the Data Chaos of ScientistsOrganizing the Data Chaos of Scientists
Organizing the Data Chaos of ScientistsAndreas Schreiber
 
ADF Gold Nuggets (Oracle Open World 2011)
ADF Gold Nuggets (Oracle Open World 2011)ADF Gold Nuggets (Oracle Open World 2011)
ADF Gold Nuggets (Oracle Open World 2011)Lucas Jellema
 
ALM Search Presentation for the VSS Arch Council
ALM Search Presentation for the VSS Arch CouncilALM Search Presentation for the VSS Arch Council
ALM Search Presentation for the VSS Arch CouncilSunita Shrivastava
 
Introduction to ejb and struts framework
Introduction to ejb and struts frameworkIntroduction to ejb and struts framework
Introduction to ejb and struts frameworks4al_com
 

Similar to Spring MVC Team Matching App with jsTree (20)

Demantra training at hyderabad
Demantra training at hyderabadDemantra training at hyderabad
Demantra training at hyderabad
 
Demantra course content
Demantra course contentDemantra course content
Demantra course content
 
Demantra training in hyderabad
Demantra training in hyderabadDemantra training in hyderabad
Demantra training in hyderabad
 
Practical OData
Practical ODataPractical OData
Practical OData
 
A Zend Architecture presentation
A Zend Architecture presentationA Zend Architecture presentation
A Zend Architecture presentation
 
A Zend Architecture presentation
A Zend Architecture presentationA Zend Architecture presentation
A Zend Architecture presentation
 
A Zend Architecture presentation
A Zend Architecture presentationA Zend Architecture presentation
A Zend Architecture presentation
 
Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5
 
springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892
 
Nwdi Overview And Features
Nwdi Overview And FeaturesNwdi Overview And Features
Nwdi Overview And Features
 
Resthub
ResthubResthub
Resthub
 
DataFinder: A Python Application for Scientific Data Management
DataFinder: A Python Application for Scientific Data ManagementDataFinder: A Python Application for Scientific Data Management
DataFinder: A Python Application for Scientific Data Management
 
Code igniter - A brief introduction
Code igniter - A brief introductionCode igniter - A brief introduction
Code igniter - A brief introduction
 
Online Datastage training
Online Datastage trainingOnline Datastage training
Online Datastage training
 
Grails 101
Grails 101Grails 101
Grails 101
 
Asp.net Programming Training (Web design, Web development)
Asp.net Programming Training (Web design, Web  development)Asp.net Programming Training (Web design, Web  development)
Asp.net Programming Training (Web design, Web development)
 
Organizing the Data Chaos of Scientists
Organizing the Data Chaos of ScientistsOrganizing the Data Chaos of Scientists
Organizing the Data Chaos of Scientists
 
ADF Gold Nuggets (Oracle Open World 2011)
ADF Gold Nuggets (Oracle Open World 2011)ADF Gold Nuggets (Oracle Open World 2011)
ADF Gold Nuggets (Oracle Open World 2011)
 
ALM Search Presentation for the VSS Arch Council
ALM Search Presentation for the VSS Arch CouncilALM Search Presentation for the VSS Arch Council
ALM Search Presentation for the VSS Arch Council
 
Introduction to ejb and struts framework
Introduction to ejb and struts frameworkIntroduction to ejb and struts framework
Introduction to ejb and struts framework
 

Recently uploaded

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 

Recently uploaded (20)

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 

Spring MVC Team Matching App with jsTree

  • 1. Spring Framework MVC구조와 jsTree를 활용한 Team Matching WebApplication 양 진 영
  • 2. 01 TimeLine 03 About - 프로젝트 소개 - 개발환경 02 Architecture - 프로그램 개발(3주) - Refactoring(1달) - 시스템구조 - 프로그램 구조 - FileServer 구조 - DataBase 설계 04 SequenceDiagram ClassDiagram - 패키지별 Class 설명 05 Play - 팀폴더검색 유즈케이스 06 - 시연 동영상 및 Q&A
  • 3. About Timeline Architecture Class Sequence Play 공모전/게시판 TeamMatching 스케쥴러 팀폴더
  • 4. About Timeline Architecture Class Sequence Play <Development Environment> Language WAS Tool Framework/lib
  • 5. About Timeline Architecture Class Sequence Play 07.08~07.14 프로젝트 분석 주제선정 / 벤치마킹 / SWOT분석/ 요구사항정의서 / 1차 키추출/ Usecase-Diagram / Usecase 명세서 / 2차 키추출 07.15~07.25 프로젝트 설계 분석단계 Diagram / Class- Diagram / DataBase 설계 / 화면설계 / Sequence-Diagram 07.26~08.02 코딩 및 디버깅 코드 작성 / 디버깅 / 코드 수정
  • 6. About Timeline Architecture Class Sequence Play 10.13 ~ 10.16 프로젝트 분석 Refactoring 적용 기술 학습 / 프로젝트 분석 및 테스트 10.17 ~ 10.22 프로젝트 설계 DataBase 수정 및 설계 / Class 수정 및 설계 / Sequence-Diagram작성 10.22 ~ 10.26 코딩 및 디버깅 코드작성 / 테스트
  • 7. About Timeline Architecture Class Sequence Play <System Architecture> DBMS (Oracle) GET POST … GET POST … Client WAS Fileserver (Dropbox) request response request Client request response Container Servlet response Data Data
  • 8. About Timeline Architecture Class Sequence Play <Software Architecture> Validator Manager DAO DTO DBManager Member Model Post Contest Team Schedule File HTML/JSP Container Form Model Servlet
  • 9. About Timeline Architecture Class Sequence Play DAO Model DTO Service <Software Architecture> TeamFolder HTML/JSP Container Model Dispatcher Servlet Controller
  • 10. About Timeline Architecture Class Sequence Play <SpringFramework> HandlerMapping ViewResolver DispatcherServlet Controller Service Client InternalResource ViewResolver ControllerClassName HandlerMapping -servlet.xml
  • 11. About Timeline Architecture Class Sequence Play <FileServer 구조> Root 첨부파일 포트폴리오 팀폴더 게시물번호 게시물번호 사용자ID 사용자ID 팀번호 팀번호
  • 12. About Timeline Architecture Class Sequence Play <DataBase 설계>
  • 13. About Timeline Architecture Class Sequence Play <DataBase 설계>
  • 14. About Timeline Architecture Class Sequence Play Servlet DAO Model Validator Client로부터 요청을 받아 처리하고 응답하는 객체를 모아놓은 패키지 MemberContollerServlet PostContollerServlet FileContollerServlet ContestContollerServlet TeamContollerServlet ScheduleContollerServlet
  • 15. About Timeline Architecture Class Sequence Play Servlet DAO Model Validator Client로부터 넘어온 데이터를 캡슐화한 객체를 모아놓은 패키지 ScheduleSearchForm ScheduleModifyForm ScheduleAddForm ScheduleRemoveForm PostInfoForm SearchForm MemberRegisterForm MemberModifyForm MemberLoginForm ContestInfoForm
  • 16. About Timeline Architecture Class Sequence Play DTO Manager Form Presentation계층에서 Application계층으로 넘어온 데이터의 유효성을 검사하는 객체를 모아놓은 패키지 DBManager ScheduleSearch Validator ScheduleModify Validator ScheduleAdd Validator ScheduleRemove Validator PostInfoValidator SearchValidator MemberRegister Validator MemberModify Validator MemberLogin Validator ContestInfo Validator
  • 17. About Timeline Architecture Class Sequence Play Servlet DAO Model Validator Client로부터 받은 요청을 Servlet으로부터 위임받아 처리하는 객체를 모아놓은 패키지. TeamFolderController ScheduleSearchManager ScheduleRemoveManager TeamAddManager TeamSearchManager TeamJoinManager TeamMatching SearchManager TeamMatching AgreeManager TeamMatching DetailManager PostAddManager PostDetailManager MemberWithdrawManager MemberLoginManager MemberModifyManager MemberSearchManager ContestAddManager ContestDetailManager ScheduleAddManager ScheduleDetailManager ScheduleModifyManager TeamRemoveManager TeamDetailManager TeamExitManager TeamMatching RequestManager TeamMatching DisagreeManager PostRemoveManager PostSearchManager PostModifyManager MemberIdentifyManager MemberDetailManager MemberRegisterManager ContestRemoveManager ContestModifyManager ContestSearchManager
  • 18. About Timeline Architecture Class Sequence Play Manager DTO Form DBManager 프로그램에 필요한 데이터를 일정한 기준에 의해 캡슐화한 객체를 모아놓은 패키지 FolderInfo FileInfo FolderTreeInfo ScheduleInfo ScheduleInfoList TeamScheduleInfo List TeamInfoList TeamInfo MatchingRequest List MatchingRequest TeamPostInfoList PostInfoList PostInfo MemberAddedeInfo MemberLoginInfo MemberInfoList MemberInfo ContestInfoList ContestInfo
  • 19. About Timeline Architecture Class Sequence Play Servlet DAO Model Validator 프로그램에 필요한 DAO를 서비스별로 캡슐화한 객체를 모아놓은 패키지 TeamFolderService ScheduleDBManager TeamDBManager TeamMatchingDBManager PostDBManager MemberDBManager ContestDBManager
  • 20. About Timeline Architecture Class Sequence Play DTO Manager DBManager Data Access Object의 약자로써 DB에 접근하여 Data를 관리하는 역할을 하는 객체를 모아놓은 패키지 Form DBConnectionPool BaseDAO MemberInterestDAO ContestDAO MatchingRequestDAO PostDAO TeamDAO TeamMemberDAO MemberDAO ScheduleDAO TeamFolderDAO TeamFileDAO SequenceDAO
  • 21. About Timeline Architecture Class Sequence Play Servlet DAO Model Data Transfer Object의 약자로써 계층간 데이터 전송시 사용하는 객체를 모아놓은 패키지. Validator TeamFolderDTO TeamFileDTO ScheduleDTO TeamDTO TeamMemberDTO PostDTO MemberInterestDTO MemberDTO
  • 22. About Timeline Architecture Class Sequence Play : 회원 teamMain.jsp DispatcherServlet ControllerClassNameMapping 1 : 팀폴더를 선택한다.() 2 : doGet(httpServletRequest,HttpServletRequest,httpServletResponse:HttpServletResponse) -servlet.xml 3 TeamFolderController반환
  • 23. TeamFolderController TeamFolderService TeamFolderDAO 4 : index(teamCode:String):ModelAndView applicationContext.xml 5 : searchTeamFolderList(teamCode:String):List<FolderTreeInfo> 6 : findByTeamCode(teamCode:String):List<TemFolderDTO> DTO를 MODEL로 변환 MODEL을 JSONObject로 변환
  • 24. HashMap ModelAndView 폴더목록정보 <<create>> 7 : put(key:String,value:Object) folderView 8 : ModelAndView(viewName:String) 9 : addAllObject(modelMap:Map<String,Object>)
  • 25. DispatcherServlet InternalResourceViewResolver folderView.jsp -servlet.xml 10 /JSP/folderView.jsp 11 : 응답(response)
  • 26. About Timeline Architecture Class Sequence Play
  • 27. About Timeline Architecture Class Sequence Play Q & A

Editor's Notes

  1. 7.HashMap을 생성 후 JSONObject형태로 변환한 폴더정보를 HashMap에 저장합니다. 8,9. folderView라는 명칭을 전달인자로 ViewName으로 설정한 ModelAndView를 생성하고 HashMap을 Model에 추가합니다.
  2. 10. DispatcherServlet이 InternalResourceViewResolver를 이용하여 Controller를 통해 반환된 ModelAndView의 논리적 View와 Mapping되는 WEB-INF폴더 하위에 존재하는 View자원을 반환합니다. –servlet.xml에 prefix와 suffix를 설정해놓아서 /JSP/folderView.jsp라는 View자원을 반환합니다. 11. DispatcherServlet이 View와 Model을 렌더링 한 후 결과를 client에게 응답(response) 합니다.