SlideShare a Scribd company logo
1 of 20
JSP Application Models 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Review 
 A JavaBean is a reusable software component that is manipulated in a 
builder tool. 
 get() and set() methods are used with the property for which the data 
has to be set. 
 The features of JavaBeans are methods, events, properties, 
introspection and serialization. 
 JavaBeans have four scopes; page, request, session and application. 
 JAR is a compressed file containing the Java classes. 
 Every JavaBean is a Java class, but every Java class may not be a 
JavaBean. 
 <jsp:useBean> tag is used for creating reference in any code. 
 The Bean tag provides the page a means to encapsulate business logic 
separately from the content presentation. 
 The key components of JavaMail APIs are session, message and 
transport. 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
JSP Application Models Overview 
 Consists of Java code, HTML codes, and JSP 
tags 
 Two approaches for building JSP 
applications are: 
 Model 1 
 Model 2 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Model 1 Architecture 
 Represents a page-centric design 
 Developed using scripting elements, custom tags, and a 
scripting language 
 Client request is directly processed by JSP page 
 JSP page accesses the database through JavaBeans to 
generate a response 
 Model 1 applications are difficult to modify 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Model 2 Architecture 
 Represents a controller design 
 Suitable for large and complex applications 
 Consists of a combination of servlets, JSP and JavaBeans 
 Based on Model-View-Controller (MVC) pattern 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Model 2 Architecture (cont.) 
 The MVC pattern includes: 
 Model – Represents the application object or data that serves 
multiple views 
 View – Represents the presentation component or the user 
interface component of the data model 
 Controller – Responds to the input in the user interface. The 
controller transmits the request, and selects a view for presenting 
data to the user. 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Implementing Model 2 Architecture 
 Requires controller servlet, request handler, page beans and JSP 
views 
 Controller servlet handles the incoming request, and forwards to the 
request handler for further processing 
 The handleRequest() method of the RequestHandler 
interface processes the request, and returns the URL of the JSP view 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
J2EE Framework 
 Provides enterprise services, such as transactions and security 
 Uses enterprise beans as a component 
 Enables low and high level data communication, design pattern, and a 
component model that enables to build reusable components 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
J2EE Framework - Components 
 Servlet – Consists of get() and post() methods, that are 
used for requesting data in dynamic Web applications 
 Session bean – Consist of temporary objects that enable to 
distribute and isolate the processing task. The two forms of 
shared data are: 
 Stateful 
 Stateless 
 Entity bean – Represents the data items, such as rows in a 
result set. The two forms of entity beans are: 
 Container managed persistence 
 Bean managed persistence 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
J2EE Framework – Components (cont.) 
 Java terminologies – Includes terminologies, such as Java 
Naming and Directory Interface (JNDI), Enterprise JavaBeans 
(EJB), servlets, JavaServer Pages (JSP), Extensible Markup 
Language (XML) and Remote Method Invocation (RMI) that are 
used in Web applications 
 Java Virtual Machine (JVM) – Provides a consistent execution 
platform for running Java codes 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
J2EE Framework - Benefits 
 Common application model – Enables to create distributed, 
reliable, scalable and secure Web applications 
 Generic infrastructure - Provides compatibility across vendors by 
introducing a standard Application Program Interface (API) 
 Easy deployment and execution - Simplifies the task of deploying 
and running the Web application 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
RequestDispatcher Interface 
 Forwards the request from a JSP page or a servlet to other resources 
 Other resources process the request and send a response to the client 
 The RequestDispatcher interface encapsulates the URL of a resource 
 Two methods of RequestDispatcher interface are: 
 Include() 
 Forward() 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
RequestDispatcher Interface Methods 
Methods Syntax Description 
include() 
<jsp:include 
page="localURL" 
flush = "true") 
Invokes one JSP page or 
servlet from another 
forward() <jsp:forward 
page="Nextpage. 
jsp"/> 
Forwards a request from 
one JSP page or servlet to 
another 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Includes page from 
specified URL 
Additional request 
parameters 
Transfers control 
to specified URL 
Additional request 
parameters 
Using Methods - Code Snippets 
<jsp:include page="localURL" flush="true "> 
<jsp:param name="parameterName1" value="parameterValue1"/> 
//code 
<jsp:param name="parameterName1" value="parameterValue1"/> 
</jsp:include> 
Using Include () 
<jsp:forward page="localURL "> 
<jsp:param name="parameterName1" value="parameterValue1"/> 
//code 
<jsp:param name="parameterNameN" value="parameterValueN "/> 
</jsp:forward> 
Using Forward () 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Exception Handling 
 Exceptions are errors that can occur in a JSP page 
 The JSP page traps and handles request time errors 
 Unhandled exceptions are forwarded to the error page 
 Syntax 
<%@ page errorPage=“errorpage.jsp” %> 
 Set the isErrorPage attribute of page directive to true, to 
make a JSP page an error handler 
 Syntax 
<%@ page isErrorPage=“true” %> 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Exception Handling - Cont… 
 Translation time - Occurs when the JSP source file is converted to 
servlets class file. The JSP engine handles translation time errors. 
 Request time - Occurs during the processing of the request. Request 
time errors are the runtime errors that throw exceptions. 
Makes JSP page an 
error handler 
Returns error 
message 
<html> 
<body> 
<%@ page isErrorPage="true" %> 
Detected Error: <br> 
<%= exception.getMessage() %> 
</body> 
</html> 
Code Snippet to create an error page 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Exception Handling - Cont… 
<%@ page errorPage="errorpage.jsp" %> 
<% 
if (request.getParameter("param ").equals("value ")) 
{ 
// code 
} 
//The test above will throw a NullPointerException if param is 
// not part of the query string. A better implementation is: 
if ("value".equals(request.getParameter("param "))) 
{ 
// code 
} 
%> 
Forwards the unhandled 
exception to 
errorpage.jsp 
Code Snippet to transfer control to the 
error page 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Summary 
 JSP technology enables the user to separate the presentation logic with the 
programming logic 
 The user can make JSP page easy to read and maintain, by embedding 
HTML or XML in the JSP page 
 Model 1 application is developed using scripting elements, custom tags, 
and a scripting language, such as JavaScript 
 JSP page directly processes the request, and sends response to the client in 
Model 1 architecture 
 The Model 2 applications are based on Model-View-Controller (MVC) 
pattern: 
 Model 
 View 
 Controller 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Summary – Cont… 
 J2EE framework provides ready to use enterprise services, such as 
transactions and security 
 The RequestDispatcher interface forwards the request from a JSP page or a 
servlet to other resources, such as HTML file, servlet, or a JSP page 
 The two methods in RequesDispatcher interface are: 
 include() 
 forward() 
 The unhandled exceptions are forwarded to the error handler file 
 The errors in JSP page includes: 
 Translation time 
 Request time 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Q & A 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3

More Related Content

What's hot

What's hot (19)

jdbc
jdbcjdbc
jdbc
 
J2EE Architecture Explained
J2EE  Architecture ExplainedJ2EE  Architecture Explained
J2EE Architecture Explained
 
Jdbc
JdbcJdbc
Jdbc
 
Spring Framework -I
Spring Framework -ISpring Framework -I
Spring Framework -I
 
Java J2EE
Java J2EEJava J2EE
Java J2EE
 
J2ee
J2eeJ2ee
J2ee
 
Types of Drivers in JDBC
Types of Drivers in JDBCTypes of Drivers in JDBC
Types of Drivers in JDBC
 
Hibernate I
Hibernate IHibernate I
Hibernate I
 
J2ee seminar
J2ee seminarJ2ee seminar
J2ee seminar
 
Summer industrial trainingnew
Summer industrial trainingnewSummer industrial trainingnew
Summer industrial trainingnew
 
J2EE Introduction
J2EE IntroductionJ2EE Introduction
J2EE Introduction
 
Jsf+ejb 50
Jsf+ejb 50Jsf+ejb 50
Jsf+ejb 50
 
JSP Technology I
JSP Technology IJSP Technology I
JSP Technology I
 
Lab 5a) create a struts application
Lab 5a) create a struts applicationLab 5a) create a struts application
Lab 5a) create a struts application
 
Java ee introduction
Java ee introductionJava ee introduction
Java ee introduction
 
IRJET- Training and Placement Database Management System
IRJET- Training and Placement Database Management SystemIRJET- Training and Placement Database Management System
IRJET- Training and Placement Database Management System
 
Part 7 packaging and deployment
Part 7 packaging and deploymentPart 7 packaging and deployment
Part 7 packaging and deployment
 
A dynamic application using jboss
A dynamic application using jbossA dynamic application using jboss
A dynamic application using jboss
 
9. java server faces
9. java server faces9. java server faces
9. java server faces
 

Similar to 1.jsp application models

3.java database connectivity
3.java database connectivity3.java database connectivity
3.java database connectivityweb360
 
Spring Framework
Spring Framework  Spring Framework
Spring Framework tola99
 
IRJET- Lightweight MVC Framework in PHP
IRJET- Lightweight MVC Framework in PHPIRJET- Lightweight MVC Framework in PHP
IRJET- Lightweight MVC Framework in PHPIRJET Journal
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET PresentationRasel Khan
 
Introduction to ejb and struts framework
Introduction to ejb and struts frameworkIntroduction to ejb and struts framework
Introduction to ejb and struts frameworks4al_com
 
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
 
Jsf2 overview
Jsf2 overviewJsf2 overview
Jsf2 overviewsohan1234
 
Intorduction to struts
Intorduction to strutsIntorduction to struts
Intorduction to strutsAnup72
 
Struts natraj - satya
Struts   natraj - satyaStruts   natraj - satya
Struts natraj - satyaSatya Johnny
 
Struts 2 Overview
Struts 2 OverviewStruts 2 Overview
Struts 2 Overviewskill-guru
 
ASP, ASP.NET, JSP, COM/DCOM
ASP, ASP.NET, JSP, COM/DCOMASP, ASP.NET, JSP, COM/DCOM
ASP, ASP.NET, JSP, COM/DCOMAashish Jain
 
Struts 2-overview2
Struts 2-overview2Struts 2-overview2
Struts 2-overview2divzi1913
 
Servlets and jsp pages best practices
Servlets and jsp pages best practicesServlets and jsp pages best practices
Servlets and jsp pages best practicesejjavies
 
Java Server Faces (JSF) - Basics
Java Server Faces (JSF) - BasicsJava Server Faces (JSF) - Basics
Java Server Faces (JSF) - BasicsBG Java EE Course
 

Similar to 1.jsp application models (20)

3.java database connectivity
3.java database connectivity3.java database connectivity
3.java database connectivity
 
Spring Framework
Spring Framework  Spring Framework
Spring Framework
 
IRJET- Lightweight MVC Framework in PHP
IRJET- Lightweight MVC Framework in PHPIRJET- Lightweight MVC Framework in PHP
IRJET- Lightweight MVC Framework in PHP
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentation
 
Introduction to ejb and struts framework
Introduction to ejb and struts frameworkIntroduction to ejb and struts framework
Introduction to ejb and struts framework
 
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
 
Jsf2 overview
Jsf2 overviewJsf2 overview
Jsf2 overview
 
JavaEE6 my way
JavaEE6 my wayJavaEE6 my way
JavaEE6 my way
 
Month 2 report
Month 2 reportMonth 2 report
Month 2 report
 
Intorduction to struts
Intorduction to strutsIntorduction to struts
Intorduction to struts
 
Struts natraj - satya
Struts   natraj - satyaStruts   natraj - satya
Struts natraj - satya
 
Struts natraj - satya
Struts   natraj - satyaStruts   natraj - satya
Struts natraj - satya
 
Struts notes
Struts notesStruts notes
Struts notes
 
Struts 2 Overview
Struts 2 OverviewStruts 2 Overview
Struts 2 Overview
 
Mvc15 (1)
Mvc15 (1)Mvc15 (1)
Mvc15 (1)
 
ASP, ASP.NET, JSP, COM/DCOM
ASP, ASP.NET, JSP, COM/DCOMASP, ASP.NET, JSP, COM/DCOM
ASP, ASP.NET, JSP, COM/DCOM
 
Struts 2-overview2
Struts 2-overview2Struts 2-overview2
Struts 2-overview2
 
Servlets and jsp pages best practices
Servlets and jsp pages best practicesServlets and jsp pages best practices
Servlets and jsp pages best practices
 
Java Server Faces (JSF) - Basics
Java Server Faces (JSF) - BasicsJava Server Faces (JSF) - Basics
Java Server Faces (JSF) - Basics
 

Recently uploaded

Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
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
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
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
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 

Recently uploaded (20)

Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
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
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
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
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 

1.jsp application models

  • 1. JSP Application Models ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 2. Review  A JavaBean is a reusable software component that is manipulated in a builder tool.  get() and set() methods are used with the property for which the data has to be set.  The features of JavaBeans are methods, events, properties, introspection and serialization.  JavaBeans have four scopes; page, request, session and application.  JAR is a compressed file containing the Java classes.  Every JavaBean is a Java class, but every Java class may not be a JavaBean.  <jsp:useBean> tag is used for creating reference in any code.  The Bean tag provides the page a means to encapsulate business logic separately from the content presentation.  The key components of JavaMail APIs are session, message and transport. ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 3. JSP Application Models Overview  Consists of Java code, HTML codes, and JSP tags  Two approaches for building JSP applications are:  Model 1  Model 2 ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 4. Model 1 Architecture  Represents a page-centric design  Developed using scripting elements, custom tags, and a scripting language  Client request is directly processed by JSP page  JSP page accesses the database through JavaBeans to generate a response  Model 1 applications are difficult to modify ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 5. Model 2 Architecture  Represents a controller design  Suitable for large and complex applications  Consists of a combination of servlets, JSP and JavaBeans  Based on Model-View-Controller (MVC) pattern ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 6. Model 2 Architecture (cont.)  The MVC pattern includes:  Model – Represents the application object or data that serves multiple views  View – Represents the presentation component or the user interface component of the data model  Controller – Responds to the input in the user interface. The controller transmits the request, and selects a view for presenting data to the user. ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 7. Implementing Model 2 Architecture  Requires controller servlet, request handler, page beans and JSP views  Controller servlet handles the incoming request, and forwards to the request handler for further processing  The handleRequest() method of the RequestHandler interface processes the request, and returns the URL of the JSP view ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 8. J2EE Framework  Provides enterprise services, such as transactions and security  Uses enterprise beans as a component  Enables low and high level data communication, design pattern, and a component model that enables to build reusable components ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 9. J2EE Framework - Components  Servlet – Consists of get() and post() methods, that are used for requesting data in dynamic Web applications  Session bean – Consist of temporary objects that enable to distribute and isolate the processing task. The two forms of shared data are:  Stateful  Stateless  Entity bean – Represents the data items, such as rows in a result set. The two forms of entity beans are:  Container managed persistence  Bean managed persistence ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 10. J2EE Framework – Components (cont.)  Java terminologies – Includes terminologies, such as Java Naming and Directory Interface (JNDI), Enterprise JavaBeans (EJB), servlets, JavaServer Pages (JSP), Extensible Markup Language (XML) and Remote Method Invocation (RMI) that are used in Web applications  Java Virtual Machine (JVM) – Provides a consistent execution platform for running Java codes ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 11. J2EE Framework - Benefits  Common application model – Enables to create distributed, reliable, scalable and secure Web applications  Generic infrastructure - Provides compatibility across vendors by introducing a standard Application Program Interface (API)  Easy deployment and execution - Simplifies the task of deploying and running the Web application ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 12. RequestDispatcher Interface  Forwards the request from a JSP page or a servlet to other resources  Other resources process the request and send a response to the client  The RequestDispatcher interface encapsulates the URL of a resource  Two methods of RequestDispatcher interface are:  Include()  Forward() ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 13. RequestDispatcher Interface Methods Methods Syntax Description include() <jsp:include page="localURL" flush = "true") Invokes one JSP page or servlet from another forward() <jsp:forward page="Nextpage. jsp"/> Forwards a request from one JSP page or servlet to another ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 14. Includes page from specified URL Additional request parameters Transfers control to specified URL Additional request parameters Using Methods - Code Snippets <jsp:include page="localURL" flush="true "> <jsp:param name="parameterName1" value="parameterValue1"/> //code <jsp:param name="parameterName1" value="parameterValue1"/> </jsp:include> Using Include () <jsp:forward page="localURL "> <jsp:param name="parameterName1" value="parameterValue1"/> //code <jsp:param name="parameterNameN" value="parameterValueN "/> </jsp:forward> Using Forward () ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 15. Exception Handling  Exceptions are errors that can occur in a JSP page  The JSP page traps and handles request time errors  Unhandled exceptions are forwarded to the error page  Syntax <%@ page errorPage=“errorpage.jsp” %>  Set the isErrorPage attribute of page directive to true, to make a JSP page an error handler  Syntax <%@ page isErrorPage=“true” %> ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 16. Exception Handling - Cont…  Translation time - Occurs when the JSP source file is converted to servlets class file. The JSP engine handles translation time errors.  Request time - Occurs during the processing of the request. Request time errors are the runtime errors that throw exceptions. Makes JSP page an error handler Returns error message <html> <body> <%@ page isErrorPage="true" %> Detected Error: <br> <%= exception.getMessage() %> </body> </html> Code Snippet to create an error page ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 17. Exception Handling - Cont… <%@ page errorPage="errorpage.jsp" %> <% if (request.getParameter("param ").equals("value ")) { // code } //The test above will throw a NullPointerException if param is // not part of the query string. A better implementation is: if ("value".equals(request.getParameter("param "))) { // code } %> Forwards the unhandled exception to errorpage.jsp Code Snippet to transfer control to the error page ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 18. Summary  JSP technology enables the user to separate the presentation logic with the programming logic  The user can make JSP page easy to read and maintain, by embedding HTML or XML in the JSP page  Model 1 application is developed using scripting elements, custom tags, and a scripting language, such as JavaScript  JSP page directly processes the request, and sends response to the client in Model 1 architecture  The Model 2 applications are based on Model-View-Controller (MVC) pattern:  Model  View  Controller ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 19. Summary – Cont…  J2EE framework provides ready to use enterprise services, such as transactions and security  The RequestDispatcher interface forwards the request from a JSP page or a servlet to other resources, such as HTML file, servlet, or a JSP page  The two methods in RequesDispatcher interface are:  include()  forward()  The unhandled exceptions are forwarded to the error handler file  The errors in JSP page includes:  Translation time  Request time ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 20. Q & A ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3