005428052.pdf

Copyright © 2002 ProsoftTraining. All rights reserved.
Java Servlets
Copyright © 2002 ProsoftTraining. All rights reserved.
Lesson 1:
Introduction
to Java Servlets
Objectives
• Describe the differences between servlets and
other Web application technologies
• Explain the difference between the GET and
POST methods of making an HTTP request
• Create a simple servlet using GET
• Create a simple servlet using POST
• Define a simple deployment descriptor
Introduction
to Web Applications
• Web application technologies
– Common Gateway Interface (CGI)
– Server extensions
– Server-side scripting
– JavaServer Pages
– Java servlets
Hypertext
Transfer Protocol
• The GET method
• The POST method
• Additional methods
Writing a
Simple Servlet
javax.servlet.Servlet
GenericServlet HttpServlet
Responding
to Form Data
• FormServlet
• getParameter method
• Using the POST method
Deployment
Descriptors
• XML files conforming to Sun Microsystems
DTD
– Describes servlets contained within a Web
application
Summary
 Describe the differences between servlets and
other Web application technologies
 Explain the difference between the GET and
POST methods of making an HTTP request
 Create a simple servlet using GET
 Create a simple servlet using POST
 Define a simple deployment descriptor
Copyright © 2002 ProsoftTraining. All rights reserved.
Lesson 2:
The Servlet Life Cycle
Objectives
• Describe the servlet life cycle
• Create init and destroy methods
• Retrieve servlet initialization parameters
• Use the SingleThreadModel interface
• Retrieve CGI environment variables
• Retrieve and use the ServletContext object
• Use temporary files
The
Multithreaded Model
• Servlets typically operate in a multithreaded
environment
– The Web server usually instantiates only
one instance of a servlet to serve all clients
• Deployment descriptors and the multithreaded
model
The
Single Thread Model
• The Web server guarantees that no two threads
will ever operate concurrently on the same servlet
instance
• To designate servlets to use the single thread
model, implement the following interface:
– javax.servlet.SingleThreadModel
The init
and destroy Methods
• The init method
– Initialization parameters and the
deployment descriptor
• The destroy method
CGI
Environment Variables
• AUTH_TYPE
• CONTENT_LENGTH
• CONTENT_TYPE
• HTTP_ACCEPT
• HTTP_REFERER
• HTTP_USER_AGENT
• PATH_INFO
• PATH_TRANSLATED
• QUERY_STRING
• REMOTE_ADDR
• REMOTE_HOST
• REMOTE_USER
• REQUEST_METHOD
• SCRIPT_NAME
• SERVER_NAME
• SERVER_PROTOCOL
• SERVER_PORT
The ServletContext
• Methods for obtaining server information
• Using temporary files
Summary
 Describe the servlet life cycle
 Create init and destroy methods
 Retrieve servlet initialization parameters
 Use the SingleThreadModel interface
 Retrieve CGI environment variables
 Retrieve and use the ServletContext object
 Use temporary files
Copyright © 2002 ProsoftTraining. All rights reserved.
Lesson 3:
Responding to a Request
Objectives
• Use client-side caching
• Use client pull to update a client
• Redirect the client to another URL
• Use persistent connections
• Use response status codes
• Return a file to a client
• Dynamically generate images
Controlling
the Client
• Using client-side caching
• Using client pull
• Redirecting the client
Persistent
Connections
public class PersistentConnection extends HttpServlet
{
public void doGet(HttpServletRequest req,
HttpServletResponse resp)
throws ServletException, IOException
{
resp.setBufferSize(32 * 1024);
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
// Generate a response
}
}
Status Codes
• Status code constants
• sendError method used to set status code
Multimedia Content
• Returning a file
• Dynamically generating images
Summary
 Use client-side caching
 Use client pull to update a client
 Redirect the client to another URL
 Use persistent connections
 Use response status codes
 Return a file to a client
 Dynamically generate images
Copyright © 2002 ProsoftTraining. All rights reserved.
Lesson 4:
Servlet Sessions
Objectives
• Track a session using hidden form fields
• Track a session using URL rewriting
• Track a session using cookies
Hidden
Form Fields
<INPUT TYPE="HIDDEN" NAME="SID" VALUE="1234567890">
Hidden form field named "SID"
with an assigned value of
"1234567890"
URL
Rewriting
• Servlets can build URLS that add information
in the form of additional path information
Cookies
• Small pieces of information transmitted from a
Web server to a Web browser
• Represented in Java using the Cookie class
Summary
 Track a session using hidden form fields
 Track a session using URL rewriting
 Track a session using cookies
Copyright © 2002 ProsoftTraining. All rights reserved.
Lesson 5:
Authentication
and Security
Objectives
• Authenticate a user using HTTP-based
authentication
• Authenticate a user using a form
• Use Secure Sockets Layer to improve security
HTTP-Based
Authentication
• Users
• The deployment descriptor
• Servlets and authentication
Form
Authentication
• Requires modification of the deployment
descriptor
– The login-config element must be
modified to indicate that form
authentication is to be used and to provide
the URL for a login page and login error
page
Summary
 Authenticate a user using HTTP-based
authentication
 Authenticate a user using a form
 Use Secure Sockets Layer to improve security
Copyright © 2002 ProsoftTraining. All rights reserved.
Lesson 6:
Inter-Servlet
Communication
Objectives
• Share data with another servlet
• Handle a single request using multiple
servlets
Sharing Data
• Data-sharing methods of the
ServletContext interface
• Sharing data with another ServletContext
Dispatching
to Another Servlet
• The forward method
• The include method
Summary
 Share data with another servlet
 Handle a single request using multiple
servlets
Copyright © 2002 ProsoftTraining. All rights reserved.
Lesson 7:
Building Enterprise
Web Applications
Objectives
• Use JNDI to look up EJBs, resource factories
and environment entries
• Write servlets for use in a distributed
environment
• Use JavaMail to send e-mail
Java Servlets and JNDI
• Referencing EJBs
• Referencing resource factories
• Referencing environment entries
Clustering
and Java Servlets
• Clustering styles
• Developing distributable servlets
JavaMail
• Add-on API that creates a full-fledged
POP/iMAP client
– Session class
– getDefaultInstance static method
Summary
 Use JNDI to look up EJBs, resource factories
and environment entries
 Write servlets for use in a distributed
environment
 Use JavaMail to send e-mail
Copyright © 2002 ProsoftTraining. All rights reserved.
Lesson 8:
Internationalization
Objectives
• Use the Unicode escape sequence to specify
special Latin characters
• Use alternative character sets to generate a
non-Latin character response
The Latin
Character Set
• Non-English Latin characters
• Languages and language codes
Non-Latin
Character Sets
• Arabic
• Chinese
• Japanese
• Korean
• Russian
Summary
 Use the Unicode escape sequence to specify
special Latin characters
 Use alternative character sets to generate a
non-Latin character response
Java Servlets
 Introduction to Java Servlets
 The Servlet Life Cycle
 Responding to a Request
 Servlet Sessions
 Authentication and Security
 Inter-Servlet Communication
 Building Enterprise Web Applications
 Internationalization
1 von 52

Recomendados

IT2255 Web Essentials - Unit V Servlets and Database Connectivity von
IT2255 Web Essentials - Unit V Servlets and Database ConnectivityIT2255 Web Essentials - Unit V Servlets and Database Connectivity
IT2255 Web Essentials - Unit V Servlets and Database Connectivitypkaviya
116 views31 Folien
Lecture 2: Servlets von
Lecture 2:  ServletsLecture 2:  Servlets
Lecture 2: ServletsFahad Golra
1.4K views39 Folien
Servlet and JSP von
Servlet and JSPServlet and JSP
Servlet and JSPGary Yeh
798 views44 Folien
Servlet.ppt von
Servlet.pptServlet.ppt
Servlet.pptMouDhara1
24 views116 Folien
Servlet.ppt von
Servlet.pptServlet.ppt
Servlet.pptkstalin2
3 views116 Folien
Servlet1.ppt von
Servlet1.pptServlet1.ppt
Servlet1.pptKhushalChoudhary14
8 views116 Folien

Más contenido relacionado

Similar a 005428052.pdf

IP UNIT III PPT.pptx von
 IP UNIT III PPT.pptx IP UNIT III PPT.pptx
IP UNIT III PPT.pptxssuser92282c
8 views79 Folien
Asp.Net MVC 5 in Arabic von
Asp.Net MVC 5 in ArabicAsp.Net MVC 5 in Arabic
Asp.Net MVC 5 in ArabicHaitham Shaddad
975 views105 Folien
Servletarchitecture,lifecycle,get,post von
Servletarchitecture,lifecycle,get,postServletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,postvamsitricks
3.4K views60 Folien
Servletarchitecture,lifecycle,get,post von
Servletarchitecture,lifecycle,get,postServletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,postvamsi krishna
2.6K views60 Folien
CS8651 IP Unit 3.pptx von
CS8651 IP Unit 3.pptxCS8651 IP Unit 3.pptx
CS8651 IP Unit 3.pptxVigneshkumar Ponnusamy
440 views51 Folien
Servlets von
ServletsServlets
ServletsRajkiran Mummadi
1.8K views46 Folien

Similar a 005428052.pdf(20)

Servletarchitecture,lifecycle,get,post von vamsitricks
Servletarchitecture,lifecycle,get,postServletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,post
vamsitricks3.4K views
Servletarchitecture,lifecycle,get,post von vamsi krishna
Servletarchitecture,lifecycle,get,postServletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,post
vamsi krishna2.6K views
Servletarchitecture,lifecycle,get,post von vamsitricks
Servletarchitecture,lifecycle,get,postServletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,post
vamsitricks9.6K views
Java Servlet von Rajiv Gupta
Java Servlet Java Servlet
Java Servlet
Rajiv Gupta3.1K views
Session 26 - Servlets Part 2 von PawanMM
Session 26 - Servlets Part 2Session 26 - Servlets Part 2
Session 26 - Servlets Part 2
PawanMM64 views
Web Development using ASP.NET MVC at HEC von Adil Mughal
Web Development using ASP.NET MVC at HECWeb Development using ASP.NET MVC at HEC
Web Development using ASP.NET MVC at HEC
Adil Mughal7.7K views
Bt0083 server side programing von Techglyphs
Bt0083 server side programing Bt0083 server side programing
Bt0083 server side programing
Techglyphs79 views
Integrating Servlets and JSP (The MVC Architecture) von Amit Ranjan
Integrating Servlets and JSP  (The MVC Architecture)Integrating Servlets and JSP  (The MVC Architecture)
Integrating Servlets and JSP (The MVC Architecture)
Amit Ranjan376 views
Structured Functional Automated Web Service Testing von rdekleijn
Structured Functional Automated Web Service TestingStructured Functional Automated Web Service Testing
Structured Functional Automated Web Service Testing
rdekleijn2.6K views
Mastering asp.net mvc - Dot Net Tricks von Gaurav Singh
Mastering asp.net mvc - Dot Net TricksMastering asp.net mvc - Dot Net Tricks
Mastering asp.net mvc - Dot Net Tricks
Gaurav Singh66 views
6 Months Dotnet internship in Noida von Tech Mentro
6 Months Dotnet internship in Noida6 Months Dotnet internship in Noida
6 Months Dotnet internship in Noida
Tech Mentro314 views

Más de KalsoomTahir2

005813616.pdf von
005813616.pdf005813616.pdf
005813616.pdfKalsoomTahir2
1 view17 Folien
009576860.pdf von
009576860.pdf009576860.pdf
009576860.pdfKalsoomTahir2
1 view29 Folien
005813185.pdf von
005813185.pdf005813185.pdf
005813185.pdfKalsoomTahir2
1 view45 Folien
HASH FUNCTIONS.pdf von
HASH FUNCTIONS.pdfHASH FUNCTIONS.pdf
HASH FUNCTIONS.pdfKalsoomTahir2
5 views21 Folien
6. McCall's Model.pptx von
6. McCall's Model.pptx6. McCall's Model.pptx
6. McCall's Model.pptxKalsoomTahir2
4 views13 Folien
ch02-Database System Concepts and Architecture.ppt von
ch02-Database System Concepts and Architecture.pptch02-Database System Concepts and Architecture.ppt
ch02-Database System Concepts and Architecture.pptKalsoomTahir2
12 views53 Folien

Más de KalsoomTahir2(20)

ch02-Database System Concepts and Architecture.ppt von KalsoomTahir2
ch02-Database System Concepts and Architecture.pptch02-Database System Concepts and Architecture.ppt
ch02-Database System Concepts and Architecture.ppt
KalsoomTahir212 views
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt von KalsoomTahir2
Lecture 19 - Dynamic Web - JAVA - Part 1.pptLecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
KalsoomTahir23 views

Último

Career Building in AI - Technologies, Trends and Opportunities von
Career Building in AI - Technologies, Trends and OpportunitiesCareer Building in AI - Technologies, Trends and Opportunities
Career Building in AI - Technologies, Trends and OpportunitiesWebStackAcademy
45 views44 Folien
Thanksgiving!.pdf von
Thanksgiving!.pdfThanksgiving!.pdf
Thanksgiving!.pdfEnglishCEIPdeSigeiro
500 views17 Folien
Retail Store Scavenger Hunt.pptx von
Retail Store Scavenger Hunt.pptxRetail Store Scavenger Hunt.pptx
Retail Store Scavenger Hunt.pptxjmurphy154
52 views10 Folien
JRN 362 - Lecture Twenty-Three (Epilogue) von
JRN 362 - Lecture Twenty-Three (Epilogue)JRN 362 - Lecture Twenty-Three (Epilogue)
JRN 362 - Lecture Twenty-Three (Epilogue)Rich Hanley
41 views57 Folien
Gross Anatomy of the Liver von
Gross Anatomy of the LiverGross Anatomy of the Liver
Gross Anatomy of the Liverobaje godwin sunday
77 views12 Folien
Ask The Expert! Nonprofit Website Tools, Tips, and Technology.pdf von
 Ask The Expert! Nonprofit Website Tools, Tips, and Technology.pdf Ask The Expert! Nonprofit Website Tools, Tips, and Technology.pdf
Ask The Expert! Nonprofit Website Tools, Tips, and Technology.pdfTechSoup
53 views28 Folien

Último(20)

Career Building in AI - Technologies, Trends and Opportunities von WebStackAcademy
Career Building in AI - Technologies, Trends and OpportunitiesCareer Building in AI - Technologies, Trends and Opportunities
Career Building in AI - Technologies, Trends and Opportunities
WebStackAcademy45 views
Retail Store Scavenger Hunt.pptx von jmurphy154
Retail Store Scavenger Hunt.pptxRetail Store Scavenger Hunt.pptx
Retail Store Scavenger Hunt.pptx
jmurphy15452 views
JRN 362 - Lecture Twenty-Three (Epilogue) von Rich Hanley
JRN 362 - Lecture Twenty-Three (Epilogue)JRN 362 - Lecture Twenty-Three (Epilogue)
JRN 362 - Lecture Twenty-Three (Epilogue)
Rich Hanley41 views
Ask The Expert! Nonprofit Website Tools, Tips, and Technology.pdf von TechSoup
 Ask The Expert! Nonprofit Website Tools, Tips, and Technology.pdf Ask The Expert! Nonprofit Website Tools, Tips, and Technology.pdf
Ask The Expert! Nonprofit Website Tools, Tips, and Technology.pdf
TechSoup 53 views
11.30.23A Poverty and Inequality in America.pptx von mary850239
11.30.23A Poverty and Inequality in America.pptx11.30.23A Poverty and Inequality in America.pptx
11.30.23A Poverty and Inequality in America.pptx
mary850239130 views
The Future of Micro-credentials: Is Small Really Beautiful? von Mark Brown
The Future of Micro-credentials:  Is Small Really Beautiful?The Future of Micro-credentials:  Is Small Really Beautiful?
The Future of Micro-credentials: Is Small Really Beautiful?
Mark Brown75 views
Interaction of microorganisms with vascular plants.pptx von MicrobiologyMicro
Interaction of microorganisms with vascular plants.pptxInteraction of microorganisms with vascular plants.pptx
Interaction of microorganisms with vascular plants.pptx
Guess Papers ADC 1, Karachi University von Khalid Aziz
Guess Papers ADC 1, Karachi UniversityGuess Papers ADC 1, Karachi University
Guess Papers ADC 1, Karachi University
Khalid Aziz99 views
What is Digital Transformation? von Mark Brown
What is Digital Transformation?What is Digital Transformation?
What is Digital Transformation?
Mark Brown41 views
INT-244 Topic 6b Confucianism von S Meyer
INT-244 Topic 6b ConfucianismINT-244 Topic 6b Confucianism
INT-244 Topic 6b Confucianism
S Meyer45 views

005428052.pdf

  • 1. Copyright © 2002 ProsoftTraining. All rights reserved. Java Servlets
  • 2. Copyright © 2002 ProsoftTraining. All rights reserved. Lesson 1: Introduction to Java Servlets
  • 3. Objectives • Describe the differences between servlets and other Web application technologies • Explain the difference between the GET and POST methods of making an HTTP request • Create a simple servlet using GET • Create a simple servlet using POST • Define a simple deployment descriptor
  • 4. Introduction to Web Applications • Web application technologies – Common Gateway Interface (CGI) – Server extensions – Server-side scripting – JavaServer Pages – Java servlets
  • 5. Hypertext Transfer Protocol • The GET method • The POST method • Additional methods
  • 7. Responding to Form Data • FormServlet • getParameter method • Using the POST method
  • 8. Deployment Descriptors • XML files conforming to Sun Microsystems DTD – Describes servlets contained within a Web application
  • 9. Summary  Describe the differences between servlets and other Web application technologies  Explain the difference between the GET and POST methods of making an HTTP request  Create a simple servlet using GET  Create a simple servlet using POST  Define a simple deployment descriptor
  • 10. Copyright © 2002 ProsoftTraining. All rights reserved. Lesson 2: The Servlet Life Cycle
  • 11. Objectives • Describe the servlet life cycle • Create init and destroy methods • Retrieve servlet initialization parameters • Use the SingleThreadModel interface • Retrieve CGI environment variables • Retrieve and use the ServletContext object • Use temporary files
  • 12. The Multithreaded Model • Servlets typically operate in a multithreaded environment – The Web server usually instantiates only one instance of a servlet to serve all clients • Deployment descriptors and the multithreaded model
  • 13. The Single Thread Model • The Web server guarantees that no two threads will ever operate concurrently on the same servlet instance • To designate servlets to use the single thread model, implement the following interface: – javax.servlet.SingleThreadModel
  • 14. The init and destroy Methods • The init method – Initialization parameters and the deployment descriptor • The destroy method
  • 15. CGI Environment Variables • AUTH_TYPE • CONTENT_LENGTH • CONTENT_TYPE • HTTP_ACCEPT • HTTP_REFERER • HTTP_USER_AGENT • PATH_INFO • PATH_TRANSLATED • QUERY_STRING • REMOTE_ADDR • REMOTE_HOST • REMOTE_USER • REQUEST_METHOD • SCRIPT_NAME • SERVER_NAME • SERVER_PROTOCOL • SERVER_PORT
  • 16. The ServletContext • Methods for obtaining server information • Using temporary files
  • 17. Summary  Describe the servlet life cycle  Create init and destroy methods  Retrieve servlet initialization parameters  Use the SingleThreadModel interface  Retrieve CGI environment variables  Retrieve and use the ServletContext object  Use temporary files
  • 18. Copyright © 2002 ProsoftTraining. All rights reserved. Lesson 3: Responding to a Request
  • 19. Objectives • Use client-side caching • Use client pull to update a client • Redirect the client to another URL • Use persistent connections • Use response status codes • Return a file to a client • Dynamically generate images
  • 20. Controlling the Client • Using client-side caching • Using client pull • Redirecting the client
  • 21. Persistent Connections public class PersistentConnection extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setBufferSize(32 * 1024); resp.setContentType("text/html"); PrintWriter out = resp.getWriter(); // Generate a response } }
  • 22. Status Codes • Status code constants • sendError method used to set status code
  • 23. Multimedia Content • Returning a file • Dynamically generating images
  • 24. Summary  Use client-side caching  Use client pull to update a client  Redirect the client to another URL  Use persistent connections  Use response status codes  Return a file to a client  Dynamically generate images
  • 25. Copyright © 2002 ProsoftTraining. All rights reserved. Lesson 4: Servlet Sessions
  • 26. Objectives • Track a session using hidden form fields • Track a session using URL rewriting • Track a session using cookies
  • 27. Hidden Form Fields <INPUT TYPE="HIDDEN" NAME="SID" VALUE="1234567890"> Hidden form field named "SID" with an assigned value of "1234567890"
  • 28. URL Rewriting • Servlets can build URLS that add information in the form of additional path information
  • 29. Cookies • Small pieces of information transmitted from a Web server to a Web browser • Represented in Java using the Cookie class
  • 30. Summary  Track a session using hidden form fields  Track a session using URL rewriting  Track a session using cookies
  • 31. Copyright © 2002 ProsoftTraining. All rights reserved. Lesson 5: Authentication and Security
  • 32. Objectives • Authenticate a user using HTTP-based authentication • Authenticate a user using a form • Use Secure Sockets Layer to improve security
  • 33. HTTP-Based Authentication • Users • The deployment descriptor • Servlets and authentication
  • 34. Form Authentication • Requires modification of the deployment descriptor – The login-config element must be modified to indicate that form authentication is to be used and to provide the URL for a login page and login error page
  • 35. Summary  Authenticate a user using HTTP-based authentication  Authenticate a user using a form  Use Secure Sockets Layer to improve security
  • 36. Copyright © 2002 ProsoftTraining. All rights reserved. Lesson 6: Inter-Servlet Communication
  • 37. Objectives • Share data with another servlet • Handle a single request using multiple servlets
  • 38. Sharing Data • Data-sharing methods of the ServletContext interface • Sharing data with another ServletContext
  • 39. Dispatching to Another Servlet • The forward method • The include method
  • 40. Summary  Share data with another servlet  Handle a single request using multiple servlets
  • 41. Copyright © 2002 ProsoftTraining. All rights reserved. Lesson 7: Building Enterprise Web Applications
  • 42. Objectives • Use JNDI to look up EJBs, resource factories and environment entries • Write servlets for use in a distributed environment • Use JavaMail to send e-mail
  • 43. Java Servlets and JNDI • Referencing EJBs • Referencing resource factories • Referencing environment entries
  • 44. Clustering and Java Servlets • Clustering styles • Developing distributable servlets
  • 45. JavaMail • Add-on API that creates a full-fledged POP/iMAP client – Session class – getDefaultInstance static method
  • 46. Summary  Use JNDI to look up EJBs, resource factories and environment entries  Write servlets for use in a distributed environment  Use JavaMail to send e-mail
  • 47. Copyright © 2002 ProsoftTraining. All rights reserved. Lesson 8: Internationalization
  • 48. Objectives • Use the Unicode escape sequence to specify special Latin characters • Use alternative character sets to generate a non-Latin character response
  • 49. The Latin Character Set • Non-English Latin characters • Languages and language codes
  • 50. Non-Latin Character Sets • Arabic • Chinese • Japanese • Korean • Russian
  • 51. Summary  Use the Unicode escape sequence to specify special Latin characters  Use alternative character sets to generate a non-Latin character response
  • 52. Java Servlets  Introduction to Java Servlets  The Servlet Life Cycle  Responding to a Request  Servlet Sessions  Authentication and Security  Inter-Servlet Communication  Building Enterprise Web Applications  Internationalization