SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Session Management 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Review 
 Page-centric designs in JSP are called Model 1 architecture 
 Model 1 architecture is used for simple applications and generates 
dynamic content 
 Model 2 architecture is suitable for large and complex applications as 
it uses a combination of servlets and JSP 
 Model 2 applications are based on Model-View-Controller (MVC) 
pattern 
 MVC pattern contains a Model, View, and Controller 
 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() and 
forward() 
 Errors in JSP page include Translation time and Request time errors 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Objectives 
 Define session 
 Explain and implement session tracking 
mechanism 
 Describe session lifecycle 
 Extend Java Server Pages 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Introducing Session 
 A long-term connection using the session 
layer of a network protocol 
 The Web server identifies requests and 
responses across a network connection as a 
single working session 
 Session acts as a link between the Web 
server and the client events 
 Web server uses the session to post client 
events to the server objects 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Introducing Session - Contd… 
 JSP uses the sessions to store unique data of a particular 
client connected to a Web application 
Sessions for two Web browsers (Clients) 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Methods in Session 
Methods Description 
getAttribute() Returns the object with specified name defined in 
the session. The getAttribute() method 
returns null if object is not found 
getAttributeNames() Returns list of objects defined in the session 
getCreationTime() Returns the creation time of the session in 
milliseconds since midnight January 1, 1970 GMT 
getId() Returns the unique identifier which is the session 
Id, as a string 
getLastAccessedTime() Returns the time of last client request with the 
session. The time is returned as number of 
milliseconds since midnight January 1, 1970 GMT 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Methods in Session - Contd… 
Methods Description 
getMaxInactive 
Interval() 
Returns the maximum time interval of the session. The 
servlet container keeps the session open till the user 
accesses the Web site 
removeAttribut 
e() 
Removes the object associated with the specified string 
from the session 
setAttribute() Associates an object with the specified key string and stores 
it to the session 
setMaxInactive 
Interval() 
Specifies the time interval in seconds between the client 
requests before the servlet container will invalidate this 
session 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Overview of Session Tracking 
Mechanisms 
 Maintains a session till the user is browsing the Web site 
 Used in interactive Web applications to store the information 
of the user logged in to the Web site 
 The information stored is used to identify the user sending a 
request to the Web server 
 Session tracking helps to maintain the session information and 
keeps track of the multiple requests made by the client 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Implementing Session 
Tracking – Mechanisms 
 Server-side technologies maintain the information 
on the Web server 
 The server creates a session Id for the user logged 
in to the Web site and sends the session Id to the 
user computer 
 The session tracking feature contained in the 
servlets or JSP container maintains the state of a 
Web browser 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Session Tracking - Contd… 
 Information is sent to the browser in three 
ways, which include: 
 Cookies 
 URL Rewriting 
 Hidden form field method 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Cookies 
 Cookies are text files stored on the user’s computer 
containing the session Id of the user sent by the 
Web server 
 The cookie is sent back to the Web server with every 
subsequent request made by the user in the same 
session 
 The cookie includes a name, a single value and 
optional attributes 
 Cookies are used for maintaining sessions and do 
not have an expiration time 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Cookies – Contd… 
 Cookies help to maintain a single session 
for a user browsing the Web site 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Cookies – Contd… 
 Advantages of Cookies are: 
 Remember user IDs and password. 
 To track visitors on a Web site for better service and 
new features. 
 Cookies enable efficient ad processing. 
 Disadvantages of Cookies are: 
 The size and number of cookies stored are limited. 
 Personal information is exposed to the other users. 
 Cookies fails to work if the security level is set too high 
in the Internet browser. 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
URL Rewriting 
 JSP hides the details of a cookie-based session 
tracking and supports the URL rewriting 
mechanism 
 URL Rewriting works with Web browsers that do 
not support cookies or the cookies that are 
disabled on a Web browser 
 Each URL that references the Web browser is 
returned to the user and contains additional 
information 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
URL Rewriting – Contd… 
The session ID is encoded in the URLs that are created by the JSP pages 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
URL Rewriting – Contd… 
<b>Search results for books</b> 
<form method="post" action="serverprogram.jsp"> 
<input type="checkbox" name="productID" 
value="100">CD MP3 Converter Kit For Your 
CAR<br> 
<input type="checkbox" name="productID" 
value="101">Front Loading Car MP3/CD Player With 
Anti Shock Memory and FM<br> 
<input type="checkbox" name="productID" 
value="102">CAR/Home DVD/VCD/MP3 Playerwith 
anti shock for Indian Roads<br> 
<input type="submit" name="Submit" value="Add to 
Cart"><br> 
</form> 
URL of server 
side program 
Provides check 
box for different 
products 
Submits the user 
input to URL 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
URL Rewriting - Contd… 
<b>Search results for books</b> 
<form method="post" 
action="serverprogram.jsp?productID=102"> 
<input type="checkbox" name="productID" 
value="150">DVD Player with built in Amplifier 
<br> 
<input type="checkbox" name="productID" 
value="160">Ultra Slim DVD Player Multi 
Region 5.1 Digital<br> 
<input type="submit" name="Submit" value = 
"Add to Cart"> 
<br> 
</form> 
URL for server side 
program after the 
user selects a 
product and goes to 
another page 
Provides check 
box for different 
products 
Submits input to 
the URL 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
URL Rewriting – Contd… 
 Disadvantages of Cookies are: 
 Server side processing is tedious. 
 Every URL that is returned to the user should 
have additional information appended to it. 
 If the user leaves the session and opens the 
Web page using a link or bookmark then the 
session information is lost . 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Hidden Form Fields Method 
 Information from the Web browser is returned to 
the Web server in the form of HTTP parameters 
 Utilizes the hidden fields in an HTML page 
 Hidden fields in the form are used to send the 
information to the Web browser 
 Stores information about a session 
 Helps to carry the information from one HTML page 
to another 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Hidden Form Fields – Contd… 
 When the user visits the next page, the server side 
program reads all the parameters that a user passes 
in the previous form 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Hidden Form Fields Example 
<b>Search results for books</b> 
<form method="post" action="serverprogram.jsp"> 
<input type="hidden" name="productID" value="100"> 
<input type="checkbox" name="productID" value="150">DVD 
Player with Built in Amplifier <br> 
<input type="checkbox" name="productID" value="160">Ultra 
Slim DVD Player Multi Region 5.1 Digital<br> 
<input type="submit" name="Submit" value="Add to 
Cart"><br> 
</form> 
Hidden input field 
Provides check 
box for user input 
Submits user input to 
the server side 
program 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Hidden Form Fields – Contd… 
 The advantages of hidden form fields are: 
 Simplest way to implement session tracking 
 Displays nothing on the HTML page but can be used to 
hold any kind of data 
 Helps to maintain a connection between two pages 
 The disadvantage of hidden form fields is that this 
method of session tracking displays sensitive 
information to the user. 
 The information includes the data passed around to 
maintain a session. 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Session Life Cycle 
 The server assigns a unique ID to the session created for a 
particular user request. 
 This session ID is passed to the client as a cookie or a 
hidden variable. 
 The session is considered new until the client returns the 
session ID to the server through a cookie or as a part of 
the requested URL. 
 A session exists on the server until it becomes invalid or 
the server is stopped. 
 The HttpSession objects are used to store the session data 
in the current servlet context. 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Using Session Object 
 Session object can be used to store and 
read data. 
 The session object acts almost like a 
bulletin board from where the objects can 
be written or read 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Using Session Object - Contd… 
 The request() method requests for the session 
object. 
… 
… 
// Obtain a session object 
HttpSession session = request.getSession(true); 
//Add an item to the session 
Integer sessionData = new Integer (100); 
Session.putValue(“IntValue”, sessionData); 
… 
… 
Obtains a session 
object 
Adds item to the 
session object 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Using Session Object - Contd… 
 The session value can be read and cast to the appropriate object type. 
… 
// Obtain a session object 
HttpSession session = 
request.getSession(true); 
// Read the session data and cast it 
to the appropriate object type 
Integer sessionInt = (Integer) 
session.getValue(“session”); 
int count = sessionInt.intValue(); 
… 
… 
Obtains a session 
object 
Reads the session 
vaCluaests the session 
value to appropriate 
datatype 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Using Session Objects – Contd… 
 The session can be invalidated using the invalidate() method of the 
HttpSession object. 
<% 
String sessionval=(String)session.getAttribute("userid")); 
if(sessionval == null) 
{ 
session.setAttribute("userid",sessionval); 
out.println(session.getAttribute("userid")); 
} 
else 
{ 
out.println("User Session already created"); 
} 
%> 
<b>click this link to 
<a href="<%=session.removeAttribute("userid")%>">remove 
session attribute</a></b><br/> 
<b>click this link to <a href="<%=session.invalidate()%>"> 
invalidate the session</a></b><br/> 
Accepts userid 
If sessionval is 
null, the value of 
sessionval is set 
to userid. 
Removes the 
session 
Invalidates the 
session 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Using Session Object – Contd… 
 The binding of objects to a request object is similar to the 
storing of the object in a session 
 An object bound to a request is available only for the life of 
that particular request 
 An object can be bound using the setAttribute(String 
key, Object obj) method in the HttpRequest interface 
 An object can be retrieved using the 
getAttribute(String key) method. 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Extending Java Server Pages 
 The superclass may offer several benefits, such as, a 
set of utilities, which may not be offered by the 
standard packages 
 In order to extend a JSP from a superclass, both the 
superclass and the extended JSP must follow several 
requirements 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Superclass 
 A superclass must implement the HttpJspPage 
interface to use the HTTP protocol or it must 
implement the JSP interface. 
 The superclass should include: 
 All methods from the Servlet Interface and must be 
declared as final. 
 The Service() method that should invoke the 
_jspService() method. 
 The init() method that should invoke the jspInit() 
method. 
 The destroy() method that should invoke the 
jspDestroy() method 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
JSP Sub-class 
 A JSP sub-class should provide jspInit() method 
and jspDestroy() method. 
<%@ page extends = “servlet.JSPBase” %> 
<%! public void jspInit(){ } 
public void jspDestroy(){ } 
%> 
<% 
out.println(“<B> User Name: </B>” + 
getUser(request) + “<P>”); 
out.println(“<B> Catalog: </B>” + 
getCatalog(request)); 
%> 
Empty methods that 
satisfy the JSP sub-classing 
conditions 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Summary 
 Session is a long-term connection that uses the session layer of a network layer 
protocol 
 Session acts as a link between the server and the client events 
 Web server uses the session to post client events to the server objects 
 Server objects utilize the session for passing messages to the client and listening to 
client events 
 The different methods of session object includes: 
 getAttribute() 
 getAttributeNames() 
 getCreationTime() 
 getId() 
 getLastAccessedtime() 
 getMaxInactiveInterval() 
 removeAttribute() 
 setAttribute() 
 setMaxInactiveInterval() 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Summary – Contd… 
 Session tracking maintains a session till the user browses the Web site 
 The session tracking feature contained in the servlets or JSP container 
maintains the state of a Web browser 
 Cookies are text files stored on the user’s computer containing the session Id 
of the user, sent by the Web server 
 A Cookie is sent back to the Web server with every subsequent request made 
by the user in the same session 
 URL rewriting works with Web browsers that do not support cookies or the 
cookies that are disabled on a Web browser 
 The information from the Web browser is returned to the server in the form 
of HTTP parameters 
 Hidden form fields are used to store information about a session. 
 Hidden form field helps to carry the information from one HTML page to 
another HTML page 
©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Summary – Contd… 
 The server assigns a unique ID to the session created for a particular user 
request. 
 The HttpSession object is defined by the HttpSession interface, and is 
obtained using the getSession() method of the HttpServletRequest object. 
 Session object can be used to store and read data and acts almost like a 
bulletin board from where the objects can be written or read. 
 When the reading or writing operation is complete, the session can be 
invalidated using the invalidate() method of the HttpSession object. 
 Binding of objects to a request object is similar to the storing of the object in 
a session. 
 An object can be bound using the setAttribute(String key, Object obj) method 
in the HttpRequest interface, and can be retrieved using the 
getAttribute(String key) method. 
 A superclass must implement the HttpJspPage interface to use the HTTP 
protocol or it must implement the JSP interface. 
 A JSP sub-class should provide jspInit() method and jspDestroy() method. 
©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

Weitere ähnliche Inhalte

Ähnlich wie 2.session management

Web Server Technologies II: Web Applications & Server Maintenance
Web Server Technologies II: Web Applications & Server MaintenanceWeb Server Technologies II: Web Applications & Server Maintenance
Web Server Technologies II: Web Applications & Server MaintenancePort80 Software
 
Why You Need an Event Stream Registry with Robert Manteghi
Why You Need an Event Stream Registry with Robert ManteghiWhy You Need an Event Stream Registry with Robert Manteghi
Why You Need an Event Stream Registry with Robert ManteghiHostedbyConfluent
 
Trung nguyen pce 110714-sofresh
Trung nguyen pce 110714-sofreshTrung nguyen pce 110714-sofresh
Trung nguyen pce 110714-sofreshTrungNguyenCoffee
 
Penetration Testing Report
Penetration Testing ReportPenetration Testing Report
Penetration Testing ReportAman Srivastava
 
Vs2008 to improve Development
Vs2008  to improve DevelopmentVs2008  to improve Development
Vs2008 to improve Developmentmaddinapudi
 
SharePoint 2010 Global Deployment
SharePoint 2010 Global DeploymentSharePoint 2010 Global Deployment
SharePoint 2010 Global DeploymentJoel Oleson
 
Web Application Development using PHP and MySQL
Web Application Development using PHP and MySQLWeb Application Development using PHP and MySQL
Web Application Development using PHP and MySQLGanesh Kamath
 
PHP Enhancement with Windows Server 2008
PHP Enhancement with Windows Server 2008PHP Enhancement with Windows Server 2008
PHP Enhancement with Windows Server 2008Krit Kamtuo
 
Microsoft Windows 7 Improved Network Access
Microsoft Windows 7 Improved Network AccessMicrosoft Windows 7 Improved Network Access
Microsoft Windows 7 Improved Network AccessMicrosoft TechNet
 
Why Browser Debugger is a Developer's Best Friend
Why Browser Debugger is a Developer's Best FriendWhy Browser Debugger is a Developer's Best Friend
Why Browser Debugger is a Developer's Best FriendOdoo
 
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 SystemIRJET Journal
 
Sap Process Integration
Sap Process Integration Sap Process Integration
Sap Process Integration Tauhidul Islam
 
Vue micro frontend implementation patterns
Vue micro frontend implementation patternsVue micro frontend implementation patterns
Vue micro frontend implementation patternsAlbert Brand
 

Ähnlich wie 2.session management (20)

Web Server Technologies II: Web Applications & Server Maintenance
Web Server Technologies II: Web Applications & Server MaintenanceWeb Server Technologies II: Web Applications & Server Maintenance
Web Server Technologies II: Web Applications & Server Maintenance
 
Why You Need an Event Stream Registry with Robert Manteghi
Why You Need an Event Stream Registry with Robert ManteghiWhy You Need an Event Stream Registry with Robert Manteghi
Why You Need an Event Stream Registry with Robert Manteghi
 
Les02
Les02Les02
Les02
 
Trung nguyen pce 110714-sofresh
Trung nguyen pce 110714-sofreshTrung nguyen pce 110714-sofresh
Trung nguyen pce 110714-sofresh
 
Penetration Testing Report
Penetration Testing ReportPenetration Testing Report
Penetration Testing Report
 
Alfresco Architecture
Alfresco ArchitectureAlfresco Architecture
Alfresco Architecture
 
Vs2008 to improve Development
Vs2008  to improve DevelopmentVs2008  to improve Development
Vs2008 to improve Development
 
SharePoint 2010 Global Deployment
SharePoint 2010 Global DeploymentSharePoint 2010 Global Deployment
SharePoint 2010 Global Deployment
 
Web Application Development using PHP and MySQL
Web Application Development using PHP and MySQLWeb Application Development using PHP and MySQL
Web Application Development using PHP and MySQL
 
PHP Enhancement with Windows Server 2008
PHP Enhancement with Windows Server 2008PHP Enhancement with Windows Server 2008
PHP Enhancement with Windows Server 2008
 
Microsoft Windows 7 Improved Network Access
Microsoft Windows 7 Improved Network AccessMicrosoft Windows 7 Improved Network Access
Microsoft Windows 7 Improved Network Access
 
Why Browser Debugger is a Developer's Best Friend
Why Browser Debugger is a Developer's Best FriendWhy Browser Debugger is a Developer's Best Friend
Why Browser Debugger is a Developer's Best Friend
 
PDC Highlights
PDC HighlightsPDC Highlights
PDC Highlights
 
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
 
Seo
SeoSeo
Seo
 
Sap Process Integration
Sap Process Integration Sap Process Integration
Sap Process Integration
 
Vue micro frontend implementation patterns
Vue micro frontend implementation patternsVue micro frontend implementation patterns
Vue micro frontend implementation patterns
 
Sessions n cookies
Sessions n cookiesSessions n cookies
Sessions n cookies
 
It and ej
It and ejIt and ej
It and ej
 
PHP on Windows
PHP on WindowsPHP on Windows
PHP on Windows
 

Kürzlich hochgeladen

CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
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.
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
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
 
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.
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 

Kürzlich hochgeladen (20)

CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
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...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
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
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
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 ...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 

2.session management

  • 1. Session Management ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 2. Review  Page-centric designs in JSP are called Model 1 architecture  Model 1 architecture is used for simple applications and generates dynamic content  Model 2 architecture is suitable for large and complex applications as it uses a combination of servlets and JSP  Model 2 applications are based on Model-View-Controller (MVC) pattern  MVC pattern contains a Model, View, and Controller  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() and forward()  Errors in JSP page include Translation time and Request time errors ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 3. Objectives  Define session  Explain and implement session tracking mechanism  Describe session lifecycle  Extend Java Server Pages ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 4. Introducing Session  A long-term connection using the session layer of a network protocol  The Web server identifies requests and responses across a network connection as a single working session  Session acts as a link between the Web server and the client events  Web server uses the session to post client events to the server objects ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 5. Introducing Session - Contd…  JSP uses the sessions to store unique data of a particular client connected to a Web application Sessions for two Web browsers (Clients) ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 6. Methods in Session Methods Description getAttribute() Returns the object with specified name defined in the session. The getAttribute() method returns null if object is not found getAttributeNames() Returns list of objects defined in the session getCreationTime() Returns the creation time of the session in milliseconds since midnight January 1, 1970 GMT getId() Returns the unique identifier which is the session Id, as a string getLastAccessedTime() Returns the time of last client request with the session. The time is returned as number of milliseconds since midnight January 1, 1970 GMT ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 7. Methods in Session - Contd… Methods Description getMaxInactive Interval() Returns the maximum time interval of the session. The servlet container keeps the session open till the user accesses the Web site removeAttribut e() Removes the object associated with the specified string from the session setAttribute() Associates an object with the specified key string and stores it to the session setMaxInactive Interval() Specifies the time interval in seconds between the client requests before the servlet container will invalidate this session ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 8. Overview of Session Tracking Mechanisms  Maintains a session till the user is browsing the Web site  Used in interactive Web applications to store the information of the user logged in to the Web site  The information stored is used to identify the user sending a request to the Web server  Session tracking helps to maintain the session information and keeps track of the multiple requests made by the client ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 9. Implementing Session Tracking – Mechanisms  Server-side technologies maintain the information on the Web server  The server creates a session Id for the user logged in to the Web site and sends the session Id to the user computer  The session tracking feature contained in the servlets or JSP container maintains the state of a Web browser ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 10. Session Tracking - Contd…  Information is sent to the browser in three ways, which include:  Cookies  URL Rewriting  Hidden form field method ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 11. Cookies  Cookies are text files stored on the user’s computer containing the session Id of the user sent by the Web server  The cookie is sent back to the Web server with every subsequent request made by the user in the same session  The cookie includes a name, a single value and optional attributes  Cookies are used for maintaining sessions and do not have an expiration time ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 12. Cookies – Contd…  Cookies help to maintain a single session for a user browsing the Web site ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 13. Cookies – Contd…  Advantages of Cookies are:  Remember user IDs and password.  To track visitors on a Web site for better service and new features.  Cookies enable efficient ad processing.  Disadvantages of Cookies are:  The size and number of cookies stored are limited.  Personal information is exposed to the other users.  Cookies fails to work if the security level is set too high in the Internet browser. ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 14. URL Rewriting  JSP hides the details of a cookie-based session tracking and supports the URL rewriting mechanism  URL Rewriting works with Web browsers that do not support cookies or the cookies that are disabled on a Web browser  Each URL that references the Web browser is returned to the user and contains additional information ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 15. URL Rewriting – Contd… The session ID is encoded in the URLs that are created by the JSP pages ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 16. URL Rewriting – Contd… <b>Search results for books</b> <form method="post" action="serverprogram.jsp"> <input type="checkbox" name="productID" value="100">CD MP3 Converter Kit For Your CAR<br> <input type="checkbox" name="productID" value="101">Front Loading Car MP3/CD Player With Anti Shock Memory and FM<br> <input type="checkbox" name="productID" value="102">CAR/Home DVD/VCD/MP3 Playerwith anti shock for Indian Roads<br> <input type="submit" name="Submit" value="Add to Cart"><br> </form> URL of server side program Provides check box for different products Submits the user input to URL ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 17. URL Rewriting - Contd… <b>Search results for books</b> <form method="post" action="serverprogram.jsp?productID=102"> <input type="checkbox" name="productID" value="150">DVD Player with built in Amplifier <br> <input type="checkbox" name="productID" value="160">Ultra Slim DVD Player Multi Region 5.1 Digital<br> <input type="submit" name="Submit" value = "Add to Cart"> <br> </form> URL for server side program after the user selects a product and goes to another page Provides check box for different products Submits input to the URL ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 18. URL Rewriting – Contd…  Disadvantages of Cookies are:  Server side processing is tedious.  Every URL that is returned to the user should have additional information appended to it.  If the user leaves the session and opens the Web page using a link or bookmark then the session information is lost . ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 19. Hidden Form Fields Method  Information from the Web browser is returned to the Web server in the form of HTTP parameters  Utilizes the hidden fields in an HTML page  Hidden fields in the form are used to send the information to the Web browser  Stores information about a session  Helps to carry the information from one HTML page to another ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 20. Hidden Form Fields – Contd…  When the user visits the next page, the server side program reads all the parameters that a user passes in the previous form ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 21. Hidden Form Fields Example <b>Search results for books</b> <form method="post" action="serverprogram.jsp"> <input type="hidden" name="productID" value="100"> <input type="checkbox" name="productID" value="150">DVD Player with Built in Amplifier <br> <input type="checkbox" name="productID" value="160">Ultra Slim DVD Player Multi Region 5.1 Digital<br> <input type="submit" name="Submit" value="Add to Cart"><br> </form> Hidden input field Provides check box for user input Submits user input to the server side program ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 22. Hidden Form Fields – Contd…  The advantages of hidden form fields are:  Simplest way to implement session tracking  Displays nothing on the HTML page but can be used to hold any kind of data  Helps to maintain a connection between two pages  The disadvantage of hidden form fields is that this method of session tracking displays sensitive information to the user.  The information includes the data passed around to maintain a session. ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 23. Session Life Cycle  The server assigns a unique ID to the session created for a particular user request.  This session ID is passed to the client as a cookie or a hidden variable.  The session is considered new until the client returns the session ID to the server through a cookie or as a part of the requested URL.  A session exists on the server until it becomes invalid or the server is stopped.  The HttpSession objects are used to store the session data in the current servlet context. ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 24. Using Session Object  Session object can be used to store and read data.  The session object acts almost like a bulletin board from where the objects can be written or read ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 25. Using Session Object - Contd…  The request() method requests for the session object. … … // Obtain a session object HttpSession session = request.getSession(true); //Add an item to the session Integer sessionData = new Integer (100); Session.putValue(“IntValue”, sessionData); … … Obtains a session object Adds item to the session object ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 26. Using Session Object - Contd…  The session value can be read and cast to the appropriate object type. … // Obtain a session object HttpSession session = request.getSession(true); // Read the session data and cast it to the appropriate object type Integer sessionInt = (Integer) session.getValue(“session”); int count = sessionInt.intValue(); … … Obtains a session object Reads the session vaCluaests the session value to appropriate datatype ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 27. Using Session Objects – Contd…  The session can be invalidated using the invalidate() method of the HttpSession object. <% String sessionval=(String)session.getAttribute("userid")); if(sessionval == null) { session.setAttribute("userid",sessionval); out.println(session.getAttribute("userid")); } else { out.println("User Session already created"); } %> <b>click this link to <a href="<%=session.removeAttribute("userid")%>">remove session attribute</a></b><br/> <b>click this link to <a href="<%=session.invalidate()%>"> invalidate the session</a></b><br/> Accepts userid If sessionval is null, the value of sessionval is set to userid. Removes the session Invalidates the session ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 28. Using Session Object – Contd…  The binding of objects to a request object is similar to the storing of the object in a session  An object bound to a request is available only for the life of that particular request  An object can be bound using the setAttribute(String key, Object obj) method in the HttpRequest interface  An object can be retrieved using the getAttribute(String key) method. ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 29. Extending Java Server Pages  The superclass may offer several benefits, such as, a set of utilities, which may not be offered by the standard packages  In order to extend a JSP from a superclass, both the superclass and the extended JSP must follow several requirements ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 30. Superclass  A superclass must implement the HttpJspPage interface to use the HTTP protocol or it must implement the JSP interface.  The superclass should include:  All methods from the Servlet Interface and must be declared as final.  The Service() method that should invoke the _jspService() method.  The init() method that should invoke the jspInit() method.  The destroy() method that should invoke the jspDestroy() method ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 31. JSP Sub-class  A JSP sub-class should provide jspInit() method and jspDestroy() method. <%@ page extends = “servlet.JSPBase” %> <%! public void jspInit(){ } public void jspDestroy(){ } %> <% out.println(“<B> User Name: </B>” + getUser(request) + “<P>”); out.println(“<B> Catalog: </B>” + getCatalog(request)); %> Empty methods that satisfy the JSP sub-classing conditions ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 32. Summary  Session is a long-term connection that uses the session layer of a network layer protocol  Session acts as a link between the server and the client events  Web server uses the session to post client events to the server objects  Server objects utilize the session for passing messages to the client and listening to client events  The different methods of session object includes:  getAttribute()  getAttributeNames()  getCreationTime()  getId()  getLastAccessedtime()  getMaxInactiveInterval()  removeAttribute()  setAttribute()  setMaxInactiveInterval() ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 33. Summary – Contd…  Session tracking maintains a session till the user browses the Web site  The session tracking feature contained in the servlets or JSP container maintains the state of a Web browser  Cookies are text files stored on the user’s computer containing the session Id of the user, sent by the Web server  A Cookie is sent back to the Web server with every subsequent request made by the user in the same session  URL rewriting works with Web browsers that do not support cookies or the cookies that are disabled on a Web browser  The information from the Web browser is returned to the server in the form of HTTP parameters  Hidden form fields are used to store information about a session.  Hidden form field helps to carry the information from one HTML page to another HTML page ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 34. Summary – Contd…  The server assigns a unique ID to the session created for a particular user request.  The HttpSession object is defined by the HttpSession interface, and is obtained using the getSession() method of the HttpServletRequest object.  Session object can be used to store and read data and acts almost like a bulletin board from where the objects can be written or read.  When the reading or writing operation is complete, the session can be invalidated using the invalidate() method of the HttpSession object.  Binding of objects to a request object is similar to the storing of the object in a session.  An object can be bound using the setAttribute(String key, Object obj) method in the HttpRequest interface, and can be retrieved using the getAttribute(String key) method.  A superclass must implement the HttpJspPage interface to use the HTTP protocol or it must implement the JSP interface.  A JSP sub-class should provide jspInit() method and jspDestroy() method. ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
  • 35. Q & A ©FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3