comp9321 web application engineeringcs9321/17s1/lectures/lec07/lec-07.pdf · general guideline for...
TRANSCRIPT
![Page 1: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/1.jpg)
COMP9321 Web Application EngineeringSemester 1, 2017
Dr. Amin BeheshtiService Oriented Computing Group, CSE, UNSW Australia
Week 7
1COMP9321, 17s1, Week 7
http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2457
![Page 2: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/2.jpg)
Design Patterns
2COMP9321, 17s1, Week 7
A pattern is a proven solution to a problem in a context.
![Page 3: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/3.jpg)
Design Patterns
3COMP9321, 17s1, Week 7
A pattern is a proven solution to a problem in a context.
Each pattern expresses a relation between a certain context, a problem, and a solution.
![Page 4: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/4.jpg)
Design Patterns
4COMP9321, 17s1, Week 7
A pattern is a proven solution to a problem in a context.
Each pattern expresses a relation between a certain context, a problem, and a solution.
A design pattern represents a solutions to problems that arise when developing a software.
![Page 5: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/5.jpg)
Design Patterns
5COMP9321, 17s1, Week 7
A pattern is a proven solution to a problem in a context.
Each pattern expresses a relation between a certain context, a problem, and a solution.
A design pattern represents a solutions to problems that arise when developing a software.
Design pattern are granular and applied at different levels such as:FrameworksSubsystemsSub-subsystems
![Page 6: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/6.jpg)
Design Patterns
6COMP9321, 17s1, Week 7
A pattern is a proven solution to a problem in a context.
Each pattern expresses a relation between a certain context, a problem, and a solution.
A design pattern represents a solutions to problems that arise when developing a software.
Design pattern are granular and applied at different levels such as:FrameworksSubsystemsSub-subsystems
Categories include:
Design Architectural Analysis Creational Structural Behavioral
![Page 7: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/7.jpg)
Design Patterns
7COMP9321, 17s1, Week 7
A pattern is a proven solution to a problem in a context.
Each pattern expresses a relation between a certain context, a problem, and a solution.
A design pattern represents a solutions to problems that arise when developing a software.
Design pattern are granular and applied at different levels such as:FrameworksSubsystemsSub-subsystems
Categories include:
Design Architectural Analysis Creational Structural Behavioral
MVC: Model View Controllere.g.
![Page 8: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/8.jpg)
Design Patterns
8COMP9321, 17s1, Week 7
A pattern is a proven solution to a problem in a context.
Each pattern expresses a relation between a certain context, a problem, and a solution.
A design pattern represents a solutions to problems that arise when developing a software.
Design pattern are granular and applied at different levels such as:FrameworksSubsystemsSub-subsystems
Categories include:
Design Architectural Analysis Creational Structural Behavioral
Gamma et al (Gang of Four) produced a famous book which listed 23 “Design” patterns
![Page 9: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/9.jpg)
J2EE Design Patterns
9COMP9321, 17s1, Week 7
![Page 10: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/10.jpg)
J2EE Design Patterns
10COMP9321, 17s1, Week 7
![Page 11: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/11.jpg)
Web Application Architecture
11COMP9321, 17s1, Week 7
![Page 12: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/12.jpg)
Web Application Architecture
12COMP9321, 17s1, Week 7
![Page 13: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/13.jpg)
Web Application Architecture
13COMP9321, 17s1, Week 7
![Page 14: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/14.jpg)
Web Application Architecture
14COMP9321, 17s1, Week 7
![Page 15: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/15.jpg)
Web Application Architecture
15COMP9321, 17s1, Week 7
![Page 16: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/16.jpg)
Web Application Layers
16COMP9321, 17s1, Week 7
![Page 17: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/17.jpg)
J2EE design guidelines: Web tier
17COMP9321, 17s1, Week 7
![Page 18: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/18.jpg)
J2EE design guidelines: Web tier
18COMP9321, 17s1, Week 7
![Page 19: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/19.jpg)
Servlet Design Guidelines
19COMP9321, 17s1, Week 7
![Page 20: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/20.jpg)
Servlet design guidelines: When to use Servlets
20COMP9321, 17s1, Week 7
![Page 21: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/21.jpg)
Servlet design guidelines: When to use Servlets
21COMP9321, 17s1, Week 7
![Page 22: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/22.jpg)
JSP Design Guidelines
22COMP9321, 17s1, Week 7
http://www.oracle.com/technetwork/articles/java/servlets-jsp-140445.html
![Page 23: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/23.jpg)
JSP Design Guidelines
23COMP9321, 17s1, Week 7
![Page 24: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/24.jpg)
JSP Design Guidelines
24COMP9321, 17s1, Week 7
![Page 25: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/25.jpg)
JSP Design Guidelines
25COMP9321, 17s1, Week 7
Include directive includes the file at translation time; whereas the include action includes the file at runtime.
![Page 26: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/26.jpg)
JSP Design Guidelines
26COMP9321, 17s1, Week 7
![Page 27: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/27.jpg)
JSP Design Guidelines
27COMP9321, 17s1, Week 7
![Page 28: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/28.jpg)
JSP Design Guidelines
28COMP9321, 17s1, Week 7
![Page 29: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/29.jpg)
General Guideline for Servlet/JSP/JavaBeans
29COMP9321, 17s1, Week 7
![Page 30: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/30.jpg)
General Guideline for Servlet/JSP/JavaBeans
30COMP9321, 17s1, Week 7
![Page 31: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/31.jpg)
General Guideline for Servlet/JSP/JavaBeans
31COMP9321, 17s1, Week 7
![Page 32: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/32.jpg)
Structuring Web applications
Architectural Patterns
(MVC)
32COMP9321, 17s1, Week 7
![Page 33: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/33.jpg)
Structuring Web applications
33COMP9321, 17s1, Week 7
![Page 34: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/34.jpg)
Structuring Web applications
34COMP9321, 17s1, Week 7
![Page 35: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/35.jpg)
Structuring Web applications
35COMP9321, 17s1, Week 7
![Page 36: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/36.jpg)
Model 1 Example
36COMP9321, 17s1, Week 7
![Page 37: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/37.jpg)
Model 1 Example
37COMP9321, 17s1, Week 7
![Page 38: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/38.jpg)
Model 1 Example
38COMP9321, 17s1, Week 7
![Page 39: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/39.jpg)
Model 1 Example
39COMP9321, 17s1, Week 7
![Page 40: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/40.jpg)
Model 1 Example
40COMP9321, 17s1, Week 7
![Page 41: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/41.jpg)
Model 1 Example
41COMP9321, 17s1, Week 7
![Page 42: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/42.jpg)
Model 1 Architecture
42COMP9321, 17s1, Week 7
![Page 43: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/43.jpg)
MVC
Model View Controller
43COMP9321, 17s1, Week 7
![Page 44: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/44.jpg)
Model 2 Architecture = MVC pattern
44COMP9321, 17s1, Week 7
![Page 45: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/45.jpg)
Model 2 Architecture = MVC pattern
45COMP9321, 17s1, Week 7
![Page 46: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/46.jpg)
MVC Components and Roles
46COMP9321, 17s1, Week 7
MVC can be broken down into three elements:
Model - The model represents data and the rules that govern access to and updates of this data.
View - The view renders the contents of a model. It specifies exactly how the model data should be presented.
Controller - The controller translates the user's interactions with the view into actions that the model will perform.
http://www.oracle.com/technetwork/articles/javase/index-142890.html
![Page 47: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/47.jpg)
MVC Components and Roles
47COMP9321, 17s1, Week 7
http://www.oracle.com/technetwork/articles/javase/index-142890.html
![Page 48: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/48.jpg)
Model 2 Architecture = MVC pattern
48COMP9321, 17s1, Week 7
![Page 49: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/49.jpg)
Model 2 Architecture = MVC pattern
49COMP9321, 17s1, Week 7
![Page 50: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/50.jpg)
Model 2 Architecture = MVC pattern
50COMP9321, 17s1, Week 7
![Page 51: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/51.jpg)
Model 2 Architecture = MVC pattern
51COMP9321, 17s1, Week 7
![Page 52: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/52.jpg)
Case for a centralised controller
52COMP9321, 17s1, Week 7
![Page 53: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/53.jpg)
Case for a centralised controller
53COMP9321, 17s1, Week 7
![Page 54: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/54.jpg)
Case for multiple controllers
54COMP9321, 17s1, Week 7
![Page 55: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/55.jpg)
FrontController Pattern
55COMP9321, 17s1, Week 7
![Page 56: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/56.jpg)
FrontController Pattern
56COMP9321, 17s1, Week 7
• The Front Controller pattern is a software design pattern.
• The pattern relates to the design of web applications.
• It provides a centralized entry point for handling requests.
• Front controllers are often used in web applications to implement workflows.
• The front controller may be implemented as a Java object.
![Page 57: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/57.jpg)
FrontController Pattern
57COMP9321, 17s1, Week 7
• The Front Controller pattern is a software design pattern.
• The pattern relates to the design of web applications.
• It provides a centralized entry point for handling requests.
• Front controllers are often used in web applications to implement workflows.
• The front controller may be implemented as a Java object.
![Page 58: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/58.jpg)
FrontController implementation: Command Design Pattern
58COMP9321, 17s1, Week 7
![Page 59: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/59.jpg)
Command Design Pattern
59COMP9321, 17s1, Week 7
![Page 60: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/60.jpg)
Command Design Pattern
60COMP9321, 17s1, Week 7
![Page 61: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/61.jpg)
Command Design Pattern
61COMP9321, 17s1, Week 7
![Page 62: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/62.jpg)
Command Design Pattern
62COMP9321, 17s1, Week 7
![Page 63: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/63.jpg)
Command Design Pattern
63COMP9321, 17s1, Week 7
![Page 64: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/64.jpg)
Command Design Pattern
64COMP9321, 17s1, Week 7
![Page 65: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/65.jpg)
Command Design Pattern
65COMP9321, 17s1, Week 7
![Page 66: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/66.jpg)
Command Design Pattern
66COMP9321, 17s1, Week 7
![Page 67: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/67.jpg)
Command Design Pattern
67COMP9321, 17s1, Week 7
![Page 68: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/68.jpg)
Command Design Pattern
68COMP9321, 17s1, Week 7
![Page 69: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/69.jpg)
Command Design Pattern
69COMP9321, 17s1, Week 7
![Page 70: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/70.jpg)
Identifying the Command Pattern in the phonebook lab
70COMP9321, 17s1, Week 7
![Page 71: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/71.jpg)
Implementing the Command Pattern
71COMP9321, 17s1, Week 7
![Page 72: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/72.jpg)
Typical "Assignment 2" Architecture
72COMP9321, 17s1, Week 7
![Page 73: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/73.jpg)
Next Week
73COMP9321, 17s1, Week 7
![Page 74: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/74.jpg)
References
74COMP9321, 17s1, Week 7
• Core J2EE patterns, Deepak Alur, John Crupi and Dan Marlks, Prentice Hall• Patterns of Enterprise Application Architecture, Martin Fowler, Addison-Wesley• http://java.sun.com/blueprints/patterns/• http://www.oracle.com/technetwork/articles/javase/index-142890.html
![Page 75: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans](https://reader035.vdocuments.us/reader035/viewer/2022063010/5fc22c07508f57676b0bba18/html5/thumbnails/75.jpg)
75COMP9321, 17s1, Week 7