Servlets 3.0 introduces several new features to improve ease of development, extensibility, and support for asynchronous processing. Key features include annotations for declarative programming, dynamic registration of servlets and filters, pluggable web fragments, and asynchronous request handling. The new version aims to simplify web application development and increase developer productivity.
The document discusses new features in Servlet 3.0 including enhanced annotations for easier configuration of servlets, filters, and listeners. It describes dynamic registration which allows servlets and filters to be added at runtime. Pluggability allows modular web applications through fragments in JAR files. Asynchronous processing enables servlets to wait for long operations without blocking threads. Security annotations define access constraints. The miscellaneous section outlines additional features like session tracking configuration and file upload support.
Introduction to java servlet 3.0 api javaone 2009JavaEE Trainers
The document discusses new features in Java Servlet 3.0 including improved ease of development through annotations, dynamic registration of servlets and filters, increased pluggability through modular web deployment descriptors, and asynchronous support. Key points covered are the use of annotations to define servlets, filters, and listeners instead of web.xml, dynamic registration APIs, modular web-fragment.xml files to allow frameworks to self-configure, and improved resource sharing between applications and libraries.
Introduction to java servlet 3.0 api javaone 2008JavaEE Trainers
The document discusses new features in the Java Servlet 3.0 API, including improved pluggability, ease of development, and asynchronous servlet support. Pluggability is enhanced through modular web.xml files, and new APIs allow adding servlets and filters at runtime. Ease of development is improved with annotations for declarative programming and optional web.xml files. Asynchronous servlet support allows servlets to non-blocking operations.
The document discusses Java servlets and Java Server Pages (JSP). It describes servlets as Java programs that run on a web or application server between the HTTP client and server. JSP is described as a dynamic web page that mixes HTML and Java code enclosed in special tags. The document outlines the servlet/JSP lifecycle of init, service, and destroy phases. It provides examples of JSP tags like scriptlets, declarations, comments, directives, and implicit objects to access request parameters and session attributes.
The document summarizes 50 new features of Java EE 7 presented by Arun Gupta in 50 minutes. It provides short descriptions and code examples for features in specifications like CDI, Bean Validation, Interceptors, Concurrency Utilities, JPA, JTA, EJB, JMS and others. The features include things like default enabling of CDI, method validation in Bean Validation, interceptors for constructors, managed executors for concurrency, schema generation in JPA, transaction scoping in CDI and JTA, disabling passivation of stateful sessions in EJB, and a simplified JMSContext API.
A Java servlet is a server-side program that processes requests from clients. Servlets offer improved performance over CGI by remaining loaded in memory between requests. The Servlet API defines interfaces and classes for writing servlets, including Servlet, ServletRequest, and ServletResponse. Tomcat is a popular servlet container for developing and testing servlets. A basic "Hello World" servlet uses the Servlet API to write a response containing HTML.
Servlet 3.0 is an update to the Java Servlet specification that includes several new features such as annotations for declaring servlets, filters, and listeners; web fragments for modular deployment configurations; dynamic registration of servlets and filters; programmatic login; asynchronous processing; and multipart file upload support. It aims to simplify configuration, improve extensibility and enable new programming patterns for servlet-based applications.
The document discusses servlet session management. It covers servlet filters which can intercept and modify requests and responses. It also discusses the servlet context and configuration parameters, as well as the session object and APIs. Session attributes allow data to be stored and shared across requests from the same client, while context attributes are shared across the entire application. Session tracking allows associating requests from the same client, typically using cookies or URL rewriting to pass the session identifier.
The document discusses new features in Servlet 3.0 including enhanced annotations for easier configuration of servlets, filters, and listeners. It describes dynamic registration which allows servlets and filters to be added at runtime. Pluggability allows modular web applications through fragments in JAR files. Asynchronous processing enables servlets to wait for long operations without blocking threads. Security annotations define access constraints. The miscellaneous section outlines additional features like session tracking configuration and file upload support.
Introduction to java servlet 3.0 api javaone 2009JavaEE Trainers
The document discusses new features in Java Servlet 3.0 including improved ease of development through annotations, dynamic registration of servlets and filters, increased pluggability through modular web deployment descriptors, and asynchronous support. Key points covered are the use of annotations to define servlets, filters, and listeners instead of web.xml, dynamic registration APIs, modular web-fragment.xml files to allow frameworks to self-configure, and improved resource sharing between applications and libraries.
Introduction to java servlet 3.0 api javaone 2008JavaEE Trainers
The document discusses new features in the Java Servlet 3.0 API, including improved pluggability, ease of development, and asynchronous servlet support. Pluggability is enhanced through modular web.xml files, and new APIs allow adding servlets and filters at runtime. Ease of development is improved with annotations for declarative programming and optional web.xml files. Asynchronous servlet support allows servlets to non-blocking operations.
The document discusses Java servlets and Java Server Pages (JSP). It describes servlets as Java programs that run on a web or application server between the HTTP client and server. JSP is described as a dynamic web page that mixes HTML and Java code enclosed in special tags. The document outlines the servlet/JSP lifecycle of init, service, and destroy phases. It provides examples of JSP tags like scriptlets, declarations, comments, directives, and implicit objects to access request parameters and session attributes.
The document summarizes 50 new features of Java EE 7 presented by Arun Gupta in 50 minutes. It provides short descriptions and code examples for features in specifications like CDI, Bean Validation, Interceptors, Concurrency Utilities, JPA, JTA, EJB, JMS and others. The features include things like default enabling of CDI, method validation in Bean Validation, interceptors for constructors, managed executors for concurrency, schema generation in JPA, transaction scoping in CDI and JTA, disabling passivation of stateful sessions in EJB, and a simplified JMSContext API.
A Java servlet is a server-side program that processes requests from clients. Servlets offer improved performance over CGI by remaining loaded in memory between requests. The Servlet API defines interfaces and classes for writing servlets, including Servlet, ServletRequest, and ServletResponse. Tomcat is a popular servlet container for developing and testing servlets. A basic "Hello World" servlet uses the Servlet API to write a response containing HTML.
Servlet 3.0 is an update to the Java Servlet specification that includes several new features such as annotations for declaring servlets, filters, and listeners; web fragments for modular deployment configurations; dynamic registration of servlets and filters; programmatic login; asynchronous processing; and multipart file upload support. It aims to simplify configuration, improve extensibility and enable new programming patterns for servlet-based applications.
The document discusses servlet session management. It covers servlet filters which can intercept and modify requests and responses. It also discusses the servlet context and configuration parameters, as well as the session object and APIs. Session attributes allow data to be stored and shared across requests from the same client, while context attributes are shared across the entire application. Session tracking allows associating requests from the same client, typically using cookies or URL rewriting to pass the session identifier.
Spring provides tools for building multi-client web applications, including support for mobile clients and REST APIs. It includes the Spring MVC framework for building web UIs, the RestTemplate for consuming REST services, and tools like Spring Android for building native Android apps that integrate with REST backends. Demos show consuming a Spring REST service from a web UI, Android app, and HTML5 app to demonstrate support for multiple client types from a single backend.
Today's applications don't live in a vacuum - you need to take the applications to where your users are. Let Spring's REST support along with its powerful client-side technology support, help you get there faster.
JAX-RS is a Java API that allows developers to easily build RESTful web services. It uses annotations to define resources, HTTP methods, request and response content types. Resources are identified by URIs and linked together through hypermedia. The API supports content negotiation, multiple representations, and stateless communication as defined by the REST architectural style. Jersey is a popular open source JAX-RS implementation that also provides a client API for consuming RESTful services.
Java EE 6 & GlassFish = Less Code + More Power at CEJUGArun Gupta
The document discusses Java EE 6 and GlassFish, which provide developers with more power and flexibility while requiring less code. Key features of Java EE 6 like EJB 3.1, CDI, and JSF 2.0 incorporate more annotations and reduce the need for deployment descriptors. GlassFish is the open source reference implementation of Java EE 6 and offers benefits like modularity, embeddability, and support for cloud computing. Future versions of Java EE and GlassFish will focus on continued standards-based innovation.
This session will provide a complete tour of using the Spring MVC framework to build Java Portlets. It will include an in-depth review of a sample portlet application developed using the latest features of Spring MVC, including Annotation-based Controllers. If you are writing Portlets and using Spring, this session is for you.
We'll begin by discussing the unique differences and challenges when developing Portlets instead of traditional Servlet webapps. Then we'll talk about the unique approach that Spring MVC takes towards Portlets that fully leverages the Portlet lifecycle, instead of masking it like many other frameworks. We'll take an extensive tour of a sample application so we can see all the unique pieces of the framework in action. Finally we'll conclude with discussion of the upcoming support for the Portlet 2.0 (JSR 286) specification that will be part of Spring 3.0.
The following depicts the automatic automatic migration of administration and managed server in case of failure
This concept is useful very useful in site failover as well as managed server failover
We have used the Virtual IP and Virtual Hostname concept
This document provides an overview of Java servlets, including what servlets are, their advantages over other technologies like CGI scripts, their lifecycle and program structure, deploying servlets on Tomcat, HTTP request methods, accessing request data, and redirecting URLs. Servlets are Java classes that extend functionality to handle HTTP requests and responses. They have advantages like faster performance than CGI scripts and reuse of the Java platform. The servlet lifecycle involves initialization, processing requests, and destruction. Servlets are deployed on a web container like Tomcat by compiling, configuring in web.xml, and placing in the webapps folder.
The document provides an overview of J2EE (Java 2 Enterprise Edition) and its core technologies including JDBC, Servlets, JSP, EJB, and RMI. It then discusses JDBC in more detail, explaining the JDBC architecture, drivers, and basic steps to access a database using JDBC including loading drivers, connecting, executing statements, processing results, and closing connections. It also covers PreparedStatement and CallableStatement objects.
This talk introduces the role that Spring MVC and REST can play as a service-side endpoint model that can be connected to from mobile, rich, and desktop applications.
Spring MVC is a framework for building Java web applications in Spring. It includes model-view-controller components like controllers, views, and handlers for common tasks like handling forms, exceptions, localization and themes. Spring MVC offers flexibility through its configurable pieces and leverages dependency injection from the Spring framework. Resources for learning more include the Spring website, books on Spring and Spring MVC, and online documentation.
This document provides an overview of key concepts related to Java servlets and JavaServer Pages (JSP) technology. It discusses how servlets use a request/response model and have a defined lifecycle. Servlets are implemented as Java classes and can allow parallel requests by being thread-safe. The document also notes that servlets have disadvantages for generating HTML output, which JSPs address. It recommends best practices for designing thread-safe servlets that allow parallel requests.
This document discusses the Servlet API and javax.servlet.http package for building servlets in Java. It explains that these contain classes and interfaces required for servlets, including lifecycle methods like init(), service(), and destroy(). It also describes the HttpServletRequest and HttpServletResponse classes for getting request information and sending HTTP responses from servlets.
This document provides an overview of Spring MVC, the model-view-controller framework for building web applications in Spring. It discusses Spring MVC's request processing workflow including the front controller and application context. It also covers controllers, mapping requests, returning views and data representation. Key topics include RESTful design, annotations like @RequestMapping and return types, and view resolvers for resolving JSP and other view technologies.
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3 Skills Matter
This document discusses Java EE 6 and GlassFish 3. It outlines that Java EE 6 and GlassFish 3 aim to provide a light-weight, extensible, and powerful platform. Key goals for Java EE 6 include making it more flexible, extensible by embracing open source frameworks, and easier to use and develop on. GlassFish 3 is the open source reference implementation of Java EE 6 and includes new features like clustering and centralized administration.
This document provides lecture notes on servlet programming. It covers topics like the introduction to servlets, GET and POST methods, the lifecycle of a servlet, servlet interfaces like Servlet, GenericServlet and HttpServlet. It also discusses request dispatching in servlets, session management techniques and servlet filters. Code examples are provided to demonstrate servlet implementation and request dispatching.
JSP is a technology based on Java that produces dynamic web pages. JSP files contain HTML tags as well as special JSP tags where Java code is embedded. There are three main types of JSP elements - directives, scripting elements, and action elements. Directives provide information to the JSP engine, scripting elements contain Java code, and action elements perform tasks like accessing Java beans. Common implicit objects in JSP include application, page, session, and request objects. Java beans can be used with JSP through action tags like useBean, setProperty, and getProperty.
This document provides an overview of JavaServer Faces (JSF), including:
- An introduction to JSF and what it is
- A description of the JSF request lifecycle and faces servlet
- An explanation of JSF component models and commonly used tags
- A step-by-step guide for creating a basic "Hello World" JSF application
- Details about JSP architectures (Model 1 and Model 2) that provide context for JSF
The document provides an introduction to Java web technology and servlets. It discusses HTTP and its request/response model. It describes common HTTP methods like GET and POST, and explains the difference between the two. It also covers the servlet lifecycle, web containers, and setting up a servlet development environment.
S314168 - What's New in Enterprise Java Bean Technology @ JavaOne Brazil 2010Arun Gupta
The document outlines new features in Enterprise JavaBean (EJB) 3.1 technology, including ease of use improvements like optional local business interfaces and simplified packaging. It also describes new functionality like singleton session beans, startup and shutdown callbacks, automatic timer creation, and asynchronous session bean invocations. The changes aim to continue focusing on ease of use while adding useful new capabilities to the EJB specification.
XML-Free Programming : Java Server and Client Development without <>Arun Gupta
The document discusses XML-free programming using Java for server and client development. It presents three tenets: 1) Configuration lives with the code using annotations rather than XML, 2) Data transfer models the domain using JSON rather than XML, and 3) Programming languages should be designed for humans not machines using simpler languages like Java rather than XML-based languages. It provides examples comparing XML and alternative approaches like Groovy for each tenet.
Spring provides tools for building multi-client web applications, including support for mobile clients and REST APIs. It includes the Spring MVC framework for building web UIs, the RestTemplate for consuming REST services, and tools like Spring Android for building native Android apps that integrate with REST backends. Demos show consuming a Spring REST service from a web UI, Android app, and HTML5 app to demonstrate support for multiple client types from a single backend.
Today's applications don't live in a vacuum - you need to take the applications to where your users are. Let Spring's REST support along with its powerful client-side technology support, help you get there faster.
JAX-RS is a Java API that allows developers to easily build RESTful web services. It uses annotations to define resources, HTTP methods, request and response content types. Resources are identified by URIs and linked together through hypermedia. The API supports content negotiation, multiple representations, and stateless communication as defined by the REST architectural style. Jersey is a popular open source JAX-RS implementation that also provides a client API for consuming RESTful services.
Java EE 6 & GlassFish = Less Code + More Power at CEJUGArun Gupta
The document discusses Java EE 6 and GlassFish, which provide developers with more power and flexibility while requiring less code. Key features of Java EE 6 like EJB 3.1, CDI, and JSF 2.0 incorporate more annotations and reduce the need for deployment descriptors. GlassFish is the open source reference implementation of Java EE 6 and offers benefits like modularity, embeddability, and support for cloud computing. Future versions of Java EE and GlassFish will focus on continued standards-based innovation.
This session will provide a complete tour of using the Spring MVC framework to build Java Portlets. It will include an in-depth review of a sample portlet application developed using the latest features of Spring MVC, including Annotation-based Controllers. If you are writing Portlets and using Spring, this session is for you.
We'll begin by discussing the unique differences and challenges when developing Portlets instead of traditional Servlet webapps. Then we'll talk about the unique approach that Spring MVC takes towards Portlets that fully leverages the Portlet lifecycle, instead of masking it like many other frameworks. We'll take an extensive tour of a sample application so we can see all the unique pieces of the framework in action. Finally we'll conclude with discussion of the upcoming support for the Portlet 2.0 (JSR 286) specification that will be part of Spring 3.0.
The following depicts the automatic automatic migration of administration and managed server in case of failure
This concept is useful very useful in site failover as well as managed server failover
We have used the Virtual IP and Virtual Hostname concept
This document provides an overview of Java servlets, including what servlets are, their advantages over other technologies like CGI scripts, their lifecycle and program structure, deploying servlets on Tomcat, HTTP request methods, accessing request data, and redirecting URLs. Servlets are Java classes that extend functionality to handle HTTP requests and responses. They have advantages like faster performance than CGI scripts and reuse of the Java platform. The servlet lifecycle involves initialization, processing requests, and destruction. Servlets are deployed on a web container like Tomcat by compiling, configuring in web.xml, and placing in the webapps folder.
The document provides an overview of J2EE (Java 2 Enterprise Edition) and its core technologies including JDBC, Servlets, JSP, EJB, and RMI. It then discusses JDBC in more detail, explaining the JDBC architecture, drivers, and basic steps to access a database using JDBC including loading drivers, connecting, executing statements, processing results, and closing connections. It also covers PreparedStatement and CallableStatement objects.
This talk introduces the role that Spring MVC and REST can play as a service-side endpoint model that can be connected to from mobile, rich, and desktop applications.
Spring MVC is a framework for building Java web applications in Spring. It includes model-view-controller components like controllers, views, and handlers for common tasks like handling forms, exceptions, localization and themes. Spring MVC offers flexibility through its configurable pieces and leverages dependency injection from the Spring framework. Resources for learning more include the Spring website, books on Spring and Spring MVC, and online documentation.
This document provides an overview of key concepts related to Java servlets and JavaServer Pages (JSP) technology. It discusses how servlets use a request/response model and have a defined lifecycle. Servlets are implemented as Java classes and can allow parallel requests by being thread-safe. The document also notes that servlets have disadvantages for generating HTML output, which JSPs address. It recommends best practices for designing thread-safe servlets that allow parallel requests.
This document discusses the Servlet API and javax.servlet.http package for building servlets in Java. It explains that these contain classes and interfaces required for servlets, including lifecycle methods like init(), service(), and destroy(). It also describes the HttpServletRequest and HttpServletResponse classes for getting request information and sending HTTP responses from servlets.
This document provides an overview of Spring MVC, the model-view-controller framework for building web applications in Spring. It discusses Spring MVC's request processing workflow including the front controller and application context. It also covers controllers, mapping requests, returning views and data representation. Key topics include RESTful design, annotations like @RequestMapping and return types, and view resolvers for resolving JSP and other view technologies.
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3 Skills Matter
This document discusses Java EE 6 and GlassFish 3. It outlines that Java EE 6 and GlassFish 3 aim to provide a light-weight, extensible, and powerful platform. Key goals for Java EE 6 include making it more flexible, extensible by embracing open source frameworks, and easier to use and develop on. GlassFish 3 is the open source reference implementation of Java EE 6 and includes new features like clustering and centralized administration.
This document provides lecture notes on servlet programming. It covers topics like the introduction to servlets, GET and POST methods, the lifecycle of a servlet, servlet interfaces like Servlet, GenericServlet and HttpServlet. It also discusses request dispatching in servlets, session management techniques and servlet filters. Code examples are provided to demonstrate servlet implementation and request dispatching.
JSP is a technology based on Java that produces dynamic web pages. JSP files contain HTML tags as well as special JSP tags where Java code is embedded. There are three main types of JSP elements - directives, scripting elements, and action elements. Directives provide information to the JSP engine, scripting elements contain Java code, and action elements perform tasks like accessing Java beans. Common implicit objects in JSP include application, page, session, and request objects. Java beans can be used with JSP through action tags like useBean, setProperty, and getProperty.
This document provides an overview of JavaServer Faces (JSF), including:
- An introduction to JSF and what it is
- A description of the JSF request lifecycle and faces servlet
- An explanation of JSF component models and commonly used tags
- A step-by-step guide for creating a basic "Hello World" JSF application
- Details about JSP architectures (Model 1 and Model 2) that provide context for JSF
The document provides an introduction to Java web technology and servlets. It discusses HTTP and its request/response model. It describes common HTTP methods like GET and POST, and explains the difference between the two. It also covers the servlet lifecycle, web containers, and setting up a servlet development environment.
S314168 - What's New in Enterprise Java Bean Technology @ JavaOne Brazil 2010Arun Gupta
The document outlines new features in Enterprise JavaBean (EJB) 3.1 technology, including ease of use improvements like optional local business interfaces and simplified packaging. It also describes new functionality like singleton session beans, startup and shutdown callbacks, automatic timer creation, and asynchronous session bean invocations. The changes aim to continue focusing on ease of use while adding useful new capabilities to the EJB specification.
XML-Free Programming : Java Server and Client Development without <>Arun Gupta
The document discusses XML-free programming using Java for server and client development. It presents three tenets: 1) Configuration lives with the code using annotations rather than XML, 2) Data transfer models the domain using JSON rather than XML, and 3) Programming languages should be designed for humans not machines using simpler languages like Java rather than XML-based languages. It provides examples comparing XML and alternative approaches like Groovy for each tenet.
This document discusses how GlassFish can be used as a Platform as a Service (PaaS) provider. It outlines how GlassFish can manage infrastructure services through an IaaS management service, orchestrate the provisioning and binding of services, and provide elasticity through auto-scaling of resources based on metrics. Key capabilities of GlassFish as a PaaS include one-step deployment and undeployment of Java applications along with their dependencies, and self-shaping of clusters based on application needs and statistics.
Jfokus 2012: PaaSing a Java EE ApplicationArun Gupta
The document discusses PaaS and deploying Java EE applications to PaaS. It defines key cloud concepts like deployment models and service models. It then explains how Java EE applications are suited for PaaS due to principles like common programming models and scalable components. The document outlines features provided by PaaS like simplified deployment, automatic service provisioning and management, virtualized runtimes, and auto-scaling of applications and services. It demonstrates deploying a sample application to GlassFish PaaS and describes the underlying PaaS runtime architecture.
To become globally competitive, students must learn how to learn by constantly absorbing new information in hands-on and visual/auditory ways. Their curiosity quotient (CQ) and passion quotient (PQ) are more important than their intelligence quotient (IQ). Educators should instill curiosity in students by teaching them to educate themselves and get excited about learning. They should also instill passion by helping students find their inner motivations. Developing people skills will become more valuable than computer skills. Nurturing both the left brain and right brain is important for logical and intuitive thinking.
To be globally competitive, students need to develop certain skills including the ability to learn how to learn, have passion and curiosity, nurture interpersonal skills, and nurture their right brain abilities. Some key skills are being excited about learning, constantly absorbing new information, having passion and curiosity that exceeds intelligence, nurturing empathy and relationships, and developing creative and big picture thinking. Cultivating these skills will help students live effectively in an interconnected world with limited resources and increasing diversity.
The document discusses the need to reform education in the United States to better prepare students for global competitiveness. It states that the U.S. has fallen behind other developed countries in terms of student academic success. It argues that students must learn how to continuously learn throughout their lives. They need motivation to be curious and engage in lifelong learning. Education also needs to focus on developing 21st century skills like collaboration, communication, and independent learning to succeed in a global job market.
The document outlines the key features of Servlet 3.0 including making development easier through the use of annotations, increased pluggability through modular web deployment descriptors and programmatic configuration, support for asynchronous processing to improve performance of blocking operations, and enhanced security. Major changes include simplifying deployment through optional web.xml, dynamic registration of servlets and filters, asynchronous processing APIs, and modular web fragments to simplify framework configuration. The new features aim to enable modern web application styles and increase developer productivity.
This document summarizes a presentation about the implications of healthcare reform legislation for employers. It outlines many of the key provisions and effective dates, including requiring coverage of adult children until age 26, eliminating pre-existing condition exclusions for children under 19, prohibiting lifetime limits on coverage, and assessing penalties on large employers if affordable coverage is not provided to employees. The presentation emphasizes that employers need to start planning now to understand how their health plans and communications with employees may need to change over time as the reform is implemented between now and 2018.
The document provides an overview of proven public relations tools that can be used to build a school district's reputation and support student success. It discusses 5 key PR tools: 1) Doing a good job and focusing on quality service, 2) Connecting PR efforts to student learning, 3) Providing excellent "WOW" customer service, 4) Leveraging the "power of three" through small acts of positivity, and 5) Trumpeting good news to the community. The overall message is that strategic, learning-focused communications can help districts engage stakeholders and enhance their reputation.
Spanisch un Basketball Camp in Spanien 2011: Basketballcamp und Spanisch für Jugendliche in Spanien – Juli 2011. panischkurs, intensives Basketballtraining, um Dich technisch in einem Hochleistungs-Basketballcamp zu verbessern und Aktivitäten, um Deinen Aufenthalt in Spanien zu genießen. Im Programm sind auch die Unterkunft mit Halbpension und ein großes Angebot an kulturellen, sozialen und sportlichen Aktivitäten enthalten. Wir haben auch die notwendige Unterstützung, um aus dem Basketballcamp einen Erfolg zu machen.
Camp de Basket et de langue pour ados en Espagne – Été 2011
Stage International de Basket en espagnol et en anglais encadré par des entraîneurs américains et espagnols.
Il s’agit d’un stage international de perfectionnement de Basket qui s´adresse à des jeunes entre 14 et 17 ans présentant une expérience de la pratique du basket.
The document discusses the importance of lifelong learning and curiosity. It emphasizes upgrading one's autonomy, mastery, and purpose through continued education. Several quotes encourage investing in knowledge, seeing the bigger picture, and helping children reach their highest potential through learning.
Jfokus 2012 : The Java EE 7 Platform: Developing for the CloudArun Gupta
The document discusses Java EE 7 and its focus on supporting Platform as a Service (PaaS) offerings. Key points include defining new platform roles to support the PaaS model, adding metadata for service provisioning and configuration, and extending existing APIs to support multi-tenancy. An example scenario walks through a software company submitting an application to a PaaS provider that is then deployed and accessed by multiple tenants.
Kindercamps in Spanien 2009: 2 oder 4 Wochen Spanisch Kurs plus Sport
Aktivitäten mit spanischen Kindern (70%) in
Juli und August in Alicante.
Spanisch Kurse in Spanien für Kinder und
junge Studenten im Alter von 8 bis 13 Jahren
kombinieren Spanisch Kurse mit sportlichen
Aktivitäten in verschiedenen Sommercamps,
Exkursionen und Ausflügen.
Java EE 6 - Deep Dive - Indic Threads, Pune - 2010Jagadish Prasath
The document provides an overview of the Java EE 6 platform specifications. Key points include:
- Java EE 6 was completed in 2009 with the reference implementation being GlassFish v3.
- New specifications include Contexts and Dependency Injection for Java EE, Bean Validation, JAX-RS, and Dependency Injection for Java.
- Major updates include JavaServer Faces 2.0, Java Servlets 3.0, Java Persistence 2.0, EJB 3.1 and Interceptors 1.1.
- Servlets 3.0 introduces annotations-based configuration using @WebServlet, @WebListener, and @WebFilter. Asynchronous processing is also supported.
Java EE 6 = Less Code + More Power (Tutorial) [5th IndicThreads Conference O...IndicThreads
Session Presented at 5th IndicThreads.com Conference On Java held on 10-11 December 2010 in Pune, India
WEB: http://J10.IndicThreads.com
------------
Java Platform, Enterprise Edition 6 (JavaEE 6) provides new capabilities that make it easier to develop and deploy enterprise and Web applications. It provides a simplified developer experience and improves on the developer productivity features introduced in JavaEE 5. It breaks the “one size fits all” approach in previous releases with Profiles and offers a comprehensive Web profile for lightweight, standards-based modern Web applications.The Web profile allows developers to build web applications quickly and prevents proliferation of custom web stacks for easier maintainability.
The platform enables extensibility by embracing open source libraries and frameworks such that they are treated as first class citizens of the platform. Several specifications like Contexts & Dependency Injection, Java Server Faces 2, Java API for RESTful Services, Java Persistence API 2, and Servlets 3 make the platform more powerful. All these specifications are implemented in GlassFish Open Source Edition 3 – a modular (OSGi based) light-weight, embeddable, extensible, and the open source reference implementation for Java EE 6. NetBeans, Eclipse, and IntelliJ provide extensive tooling for Java EE 6 and GlassFish Open Source Edition.
This tutorial session will help the attendees learn the latest APIs and develop a complete Java EE 6 application using NetBeans IDE. The attendees will understand the different tips & tricks such as code completion, templates, and wizards for a rapid application deployment. The techniques like session preservation and deploy-on-save are demonstrated to reduce the development lifecycle.
This document provides an introduction to Java servlet technology. It discusses how servlets address limitations of CGI scripts by providing a portable way to generate dynamic web content from the server side using Java. Key topics covered include the servlet interface, lifecycle, and advantages over CGI such as improved performance and portability. Configuration and use of servlets within Eclipse and Tomcat are also explained.
Boston 2011 OTN Developer Days - Java EE 6Arun Gupta
The document provides an overview of new features in Java EE 6, including lightweight profiles, annotation-driven programming, and ease of development enhancements like packaging EJBs in WAR files. It lists the Java EE 6 specifications, major changes to specifications like JSF 2.0 and EJB 3.1, and new specifications like CDI 1.0.
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...Arun Gupta
Java EE 6 and GlassFish 3 provide a light-weight, extensible, and powerful platform. Key features include a web profile, pruning of unused specifications, support for open source frameworks, and easier development models with annotations and reduced configuration files. GlassFish 3 is the open source reference implementation of the Java EE 6 platform and includes new features like clustering and centralized administration.
A server is a computer program that provides services to other programs. The computer running the server program is called the server. Servers are often categorized by their purpose, such as web servers, application servers, proxy servers, and mail servers. A web server responds to HTTP requests to deliver web content and services. Servlets are Java programs that extend server functionality and respond dynamically to requests. Servlets provide advantages over older CGI programs like improved performance and scalability.
ADP - Chapter 2 Exploring the java Servlet TechnologyRiza Nurman
The document discusses servlets and provides details about:
- The servlet API and its packages/classes/interfaces for creating and managing servlets
- The lifecycle methods of servlets including init(), service(), destroy()
- How to create a simple servlet that displays the current date
- Configuring servlets using web.xml or annotations
- The role of the web container in providing runtime environment and managing the lifecycle of servlets
The presentation provides overview of JAX-RS 2.0 and the cool new things that come with it. It also provides an introduction to OData which is a protocol proposed by Microsoft for data interchange.
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnitionArun Gupta
The document summarizes new features in Java EE 6 and GlassFish v3 that aim to provide developers with more powerful capabilities while requiring less code. Key highlights include annotations to simplify configuration and development, support for RESTful web services and dependency injection, and improvements to Java Server Faces, EJBs, and the Java Persistence API to enhance developer productivity.
The document is a presentation about Java EE 6 and GlassFish. It discusses how Java EE 6 and GlassFish aim to provide developers with less code and more power through features like annotations, simplified configurations, and support for newer Java technologies. It also summarizes some of the new Java EE 6 specifications and how they improve areas like web development, EJBs, JSF, JPA and more.
The document discusses servlets, including their life cycle, handling HTTP requests and responses, and session tracking using cookies. It provides details on:
- The init(), service(), and destroy() methods that are central to a servlet's life cycle.
- How servlets can read data from HTTP requests using the HttpServletRequest interface and write data to HTTP responses using the HttpServletResponse interface.
- How servlets can maintain session state across requests using the HttpSession interface and cookies.
- Examples of simple servlets that retrieve and display request parameters, and handle GET and POST requests.
This document provides information on servlets including:
- Servlets allow dynamic content and interaction for web applications and can be used to build search engines, e-commerce sites, and more.
- Servlets have better performance than CGI since they remain loaded in memory between requests rather than starting a new process for each request.
- Servlets follow a request-response lifecycle and provide APIs to handle HTTP requests and responses through the Servlet, HttpServletRequest, and HttpServletResponse interfaces.
This document provides an introduction to servlets, including concepts of CGI, advantages of servlets over CGI, servlet life cycle, servlet deployment, and servlet API. Some key points:
- CGI enables a web server to call an external program and pass HTTP request information, but has performance and scalability disadvantages due to starting a new process for each request.
- Servlets address CGI limitations by running within a JVM on the server, allowing requests to be handled on threads rather than processes for better performance.
- The servlet life cycle includes initialization via init(), processing requests via service()/doGet()/doPost(), and cleanup via destroy().
- Servlets are deployed by placing class
The document discusses the key features of Servlet 3.0 including improved pluggability through modular web.xml files, easier development using annotations, support for asynchronous processing, and enhanced security. Some major changes are allowing frameworks to define their own deployment descriptors, adding APIs to dynamically configure servlets and filters, and supporting asynchronous operations through a new AsyncContext API.
Java Spring MVC Framework with AngularJS by Google and HTML5Tuna Tore
The document provides an introduction to the Spring MVC framework. It describes key concepts such as MVC architecture, dependency injection, configuration of the DispatcherServlet, mapping requests to controllers, and defining views. It also discusses configuring ORM/JPA with Hibernate, sending emails, security, exceptions handling, and accessing REST services with RestTemplate. The document aims to give developers an overview of building web applications with Spring MVC.
The document provides an introduction to the Spring MVC framework. It describes key concepts such as MVC architecture, dependency injection, configuration of the DispatcherServlet, mapping requests to controllers, and defining views. It also discusses configuring other features like file uploads, scheduling, logging, security, and exceptions handling. The document encourages enrolling in a Udemy course for more details on using Spring MVC.
The document discusses different web frameworks for Java, focusing on Struts 1, Spring MVC, and JavaServer Faces. It provides an overview and examples of how Struts 1 implements the MVC pattern using components like ActionServlet, RequestProcessor, and ActionMappings. It also briefly compares Struts 1 and 2, and outlines key aspects of Spring MVC like flexible request mapping and support for different view technologies.
- The document provides an overview of servlet technology including servlet basics, lifecycle, important classes, and Apache Tomcat implementation.
- It describes how to set up a development environment with Tomcat and IDEs like Eclipse, and covers servlet structure, deployment, mapping, and configuration using the web.xml file.
- An example basic servlet class is shown extending HttpServlet and implementing doGet and doPost methods.
7.1 Identify which attribute scopes are thread-safe:
Local variables
Instance variables
Class variables
Request attributes
Session attributes
Context attributes
7.2 Identify correct statements about differences between the multithreaded and single-threaded servlet models.
7.3 Identify the interface used to declare that a servlet must use the single thread model.
5 Skills To Force Multiply Technical Talents.pdfArun Gupta
This talk explains what are non-technical skills, why they are relevant, and what are some of the most important skills to master to force multiply your technical talent.
Machine Learning using Kubernetes - AI Conclave 2019Arun Gupta
This document discusses machine learning using Kubeflow. It provides an overview of Kubeflow, which is a containerized machine learning platform that makes it easy to develop, deploy, and manage portable, scalable end-to-end ML workflows on Kubernetes. It discusses various Kubeflow components like Jupyter notebooks, Fairing for packaging ML jobs, Katib for hyperparameter tuning, KFServing for model serving, Pipelines for orchestrating workflows, and Metadata for tracking artifacts. It also provides guidance on deploying Kubeflow on Amazon EKS and optimizing distributed deep learning performance on EKS.
Secure and Fast microVM for Serverless Computing using FirecrackerArun Gupta
Firecracker is a lightweight virtualization technology developed by Amazon that provides security and isolation of virtual machines with the speed and density of containers. It uses KVM virtualization and has a minimal guest device model to provide fast launch times of less than 125ms per microVM while using under 5MB of memory per microVM. Firecracker is open source and designed to securely run thousands of multitenant microVMs on a single host through its REST API and by leveraging statistical multiplexing of resources.
Building Java in the Open - j.Day at OSCON 2019Arun Gupta
Amazon develops and maintains Corretto, an open-source distribution of OpenJDK. Corretto provides long-term support with quarterly security updates for Java on Linux, Windows, and macOS. Amazon contributes patches and improvements to OpenJDK and aims to upstream all changes. The Amazon Corretto Crypto Provider offers accelerated cryptographic performance for workloads.
Amazon contributes to open source projects for several reasons: to better serve customers by supporting popular open source technologies, drive innovation by collaborating with the open source community, reduce maintenance costs by fixing issues upstream, and improve quality and security by incorporating community feedback. Some examples of projects Amazon contributes to include Docker, Kubernetes, Apache Spark, and Linux kernel. Amazon engages with the open source community through its website, Twitter account, and blog to share updates on its open source efforts.
This document discusses machine learning using Kubernetes. It provides an overview of Amazon EKS for running Kubernetes in the cloud, and options for setting up Kubernetes clusters for machine learning workloads, including training models, inference, and applications. It also covers challenges in containerizing machine learning and introduces AWS deep learning containers and KubeFlow for simplifying machine learning on Kubernetes.
The key principles of cloud native applications are:
1. They enable organizations to build and ship features faster without worrying about failure or iteration.
2. They pay for what is used last month, not what may be needed next year, allowing teams to experiment and fail fast without significant investment.
3. They are self-service, API-driven, and automated, moving from requesting tickets for each step to self-service tools that empower teams.
This document discusses chaos engineering and how to use it to test the resilience of applications running in Kubernetes clusters. It describes how chaos engineering involves intentionally introducing failures and disturbances to test a system's ability to withstand turbulent conditions. The document outlines the phases of chaos engineering experiments including defining hypotheses, scoping experiments, monitoring metrics, and implementing fixes to address any issues found. It also provides examples of how tools like Istio can be used to inject faults like timeouts or HTTP errors to test applications running in Kubernetes on Amazon EKS.
How to be a mentor to bring more girls to STEAMArun Gupta
The document discusses how to be a mentor to bring more girls to STEAM. It outlines challenges like unconscious bias, lack of role models, and topics/content mainly appealing to boys. It recommends starting mentorship early, encouraging girls to attend and present at events, and being a role model. Examples are given of girls who found success through mentorship programs like Devoxx4Kids, pursuing interests in computer science, engineering, and NASA. The conclusion calls mentors to inspire one girl to get involved in STEAM through attending, volunteering, or presenting at events like Devoxx4Kids.
Java in a World of Containers - DockerCon 2018Arun Gupta
This document discusses Java and containers. It begins with an introduction to Java's suitability for containers due to its managed runtime, hardware agnosticism, safety/security, reliability, and rich ecosystem. It then covers topics like creating Docker images from Java applications, building custom Java runtimes using jlink, and optimizing image sizes through multi-stage builds and smaller base images like Alpine Linux. The document also discusses features like class data sharing between containers using AppCDS, ahead-of-time compilation with jaotc, and how the JVM can honor Docker resource limits for CPU and memory. Overall it provides an overview of using Java in container environments and related tools and techniques.
The Serverless Tidal Wave - SwampUP 2018 KeynoteArun Gupta
The document discusses the rise of serverless computing and its benefits. It describes how AWS pioneered serverless computing with AWS Lambda and has since expanded its serverless offerings. The serverless model provides easy scaling, high availability, and developers can focus on writing code without worrying about infrastructure management. Containers are also discussed as working with serverless computing.
Introduction to Amazon EKS - KubeCon 2018Arun Gupta
Amazon EKS (Elastic Kubernetes Service) is a managed service that makes it easy to run Kubernetes on AWS. It handles provisioning and managing control plane resources so users can focus on applications. EKS provides a native Kubernetes experience while integrating seamlessly with other AWS services to eliminate undifferentiated heavy lifting. The EKS team actively contributes to the open source Kubernetes project.
Mastering Kubernetes on AWS - Tel Aviv SummitArun Gupta
The document contains instructions and diagrams for deploying and managing Kubernetes clusters on AWS. It includes commands for creating a Kubernetes cluster using KOPS or EKS, as well as diagrams showing example Kubernetes cluster architectures with nodes, masters, storage, logging and monitoring components when using AWS.
Top 10 Technology Trends Changing Developer's LandscapeArun Gupta
The document discusses 10 emerging technology trends that are changing the developer landscape:
1. Containers are being used as a lightweight alternative to virtual machines for packaging, deploying, and scaling applications. Container orchestration frameworks like Docker and Kubernetes are emerging.
2. Microservices architectures break applications into small, independent services that communicate over HTTP. This enables independent deployment and scaling of services.
3. DevOps practices like continuous integration/deployment, automation, and collaboration between development and operations are becoming standard.
Java EE and NoSQL using JBoss EAP 7 and OpenShiftArun Gupta
The document discusses using Java EE 7 and NoSQL databases with JBoss EAP 7 and OpenShift. It highlights key features of Java EE 7 including improved developer productivity. It also provides an overview of different types of NoSQL databases like key-value, document, graph and columnar databases. Examples are given of using Couchbase with Java applications and frameworks like WildFly Swarm.
Docker, Kubernetes, and Mesos recipes for Java developersArun Gupta
The document discusses Docker, Kubernetes, and Mesos for Java developers. It provides an overview of Docker, including what it is, how images and containers work, and common commands. It also covers using Docker Machine to create Docker hosts, Docker Compose for defining and running multi-container apps, networking with Docker, and persistent storage options.
Arun Gupta has over 25 years of experience in senior technology leadership roles. He has held positions such as Vice President at Intuit, Group Vice President at Oracle, and Vice President and General Manager at Middleware. Currently, Arun Gupta is the President and CEO of PAMTEN Inc.
Migrate your traditional VM-based Clusters to ContainersArun Gupta
The document discusses migrating traditional VM-based clusters to container-based clusters using Docker, Kubernetes, DC/OS, and Couchbase. It provides step-by-step instructions on setting up Couchbase clusters on each platform, including creating Docker machines and Swarm clusters, defining Kubernetes replication controllers and services, deploying Couchbase applications on DC/OS using Marathon, and automatically scaling the clusters.
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
Trusted Execution Environment for Decentralized Process MiningLucaBarbaro3
Presentation of the paper "Trusted Execution Environment for Decentralized Process Mining" given during the CAiSE 2024 Conference in Cyprus on June 7, 2024.
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3Data Hops
Free A4 downloadable and printable Cyber Security, Social Engineering Safety and security Training Posters . Promote security awareness in the home or workplace. Lock them Out From training providers datahops.com
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on integration of Salesforce with Bonterra Impact Management.
Interested in deploying an integration with Salesforce for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyScyllaDB
Freshworks creates AI-boosted business software that helps employees work more efficiently and effectively. Managing data across multiple RDBMS and NoSQL databases was already a challenge at their current scale. To prepare for 10X growth, they knew it was time to rethink their database strategy. Learn how they architected a solution that would simplify scaling while keeping costs under control.
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...alexjohnson7307
Predictive maintenance is a proactive approach that anticipates equipment failures before they happen. At the forefront of this innovative strategy is Artificial Intelligence (AI), which brings unprecedented precision and efficiency. AI in predictive maintenance is transforming industries by reducing downtime, minimizing costs, and enhancing productivity.
Nordic Marketo Engage User Group_June 13_ 2024.pptx
JavaOne India 2011 - Servlets 3.0
1. <Insert Picture Here>
Servlets 3.0
Asynchronous, Extensible, Ease-of-use
Arun Gupta, Java EE & GlassFish Guy
blogs.oracle.com/arungupta, @arungupta
2. The preceding is intended to outline our general product
direction. It is intended for information purposes only,
and may not be incorporated into any contract. It is
not a commitment to deliver any material, code, or
functionality, and should not be relied upon in making
purchasing decisions.
The development, release, and timing of any features
or functionality described for Oracle’s products remains
at the sole discretion of Oracle.
2
3. Agenda
• Overview
• Ease of Development
• Dynamic Registration of Servlets etc
• Pluggability
• Asynchronous Support
• Security Enhancements
• Miscellaneous
3
4. Overview
l
Java Servlet 3.0 done as part of JSR 315
l
~20 members in the expert group
–Major Java EE vendors, open source web container developers, framework
authors
l
Main areas of focus
–Ease of Development
–Pluggability
–Asynchronous support
–Security
4
5. Ease of Development
l
Enhanced APIs to use new Java SE language features introduced
since J2SE 5.0
l
Generics for type safety in API where possible
l
Annotations for declarative style of programming
l
Optional web.xml
l
Convention over configuration
5
6. Ease of Development
Use of annotations
l
Annotations to declare Servlets, Filters, Listeners and servlet
security
–@WebServlet – Define a Servlet
–@WebFilter – Define a Filter
–@WebListener – Define a Listener
–@WebInitParam – Define init param
–@MultipartConfig – Define file upload properties
–@ServletSecurity – Define security constraints
l
Can override using “web.xml”
6
7. Servlet 2.5 example
At least 2 files
<!--Deployment descriptor web.xml --> /* Code in Java Class */
<web-app>
<servlet> package com.sun;
<servlet-name>MyServlet public class MyServlet extends HttpServlet
</servlet-name> {
<servlet-class> public void
com.sun.MyServlet doGet(HttpServletRequest
</servlet-class> req,HttpServletResponse res)
</servlet> {
<servlet-mapping>
...
<servlet-name>MyServlet
</servlet-name> }
<url-pattern>/myApp/* ...
</url-pattern>
</servlet-mapping> }
...
</web-app>
7
8. @WebServlet – Sample Code
@WebServlet(urlPatterns={“/myApp”})
public class SimpleSample extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res) {
}
}
8
9. @WebServlet Async – Sample Code
@WebServlet(urlPatterns=“/myApp”, name=”MyServlet”, asyncSupported=true)
public class SimpleSample extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res) {
}
}
9
10. Dynamic Registration
Create and/or register
• ServletContext#add[Servlet | Filter]
• Overloaded versions take [Servlet | Filter] name and
– Fully qualified [Servlet | Filter] class name or
– Class <? extends [Servlet | Filter]> or
– [Servlet | Filter] instance
• User returned Registration handle to configure all aspects of [Servlet |
Filter]
l
ServletContext#create[Servlet | Filter]
–Takes Class<? Extends [Servlet | Filter]> argument
–Supports resource injection by container
–Returned [Servlet | Filter] instance may be fully customized before it is registered
10
11. Dynamic Registration
Lookup
l
ServletContext#find[Servlet |Filter]Registration
–Takes [Servlet | Filter] name as argument
–Returned Registration handle provides subset of configuration methods
–May only be used to add initialization parameters and mappings
–Conflict returned as java.util.Set
11
14. Pluggability
• Plugin libraries using web fragments
– Modular web.xml
– Absolute ordering: <absolute-ordering>
– Relative ordering: <ordering>, <before>, <after>
• Bundled in framework *.jar/META-INF
• Zero-configuration, drag-and-drop for web frameworks
– Servlets, servlet filters, context listeners for a framework get discovered
and registered by the container
• Only JAR files in WEB-INF/lib are used
14
17. Extensibility
ServletContainerInitializer
• Shared copies of frameworks
• Container installed JARs
– App or Library
• Discovered using the service provider API
– META-INF/services/javax.servlet.ServletContainerInitializer
• Expresses interest in classes via @HandlesTypes
17
18. Extensibility
ServletContainerInitializer
• Who uses it ?
– Mojarra (JSF2) is bootstrapped into GlassFish
• No “faces-config.xml” or “web.xml”
– Jersey (JAX-RS) registers root Application
• No (or portable) “web.xml”
18
19. Dynamic Registration
Java Server Faces
@SuppressWarnings({"UnusedDeclaration"})
@HandlesTypes({
ManagedBean.class,
FacesComponent.class,
FacesValidator.class,
FacesConverter.class,
FacesBehaviorRenderer.class,
ResourceDependency.class,
ResourceDependencies.class,
ListenerFor.class,
ListenersFor.class,
UIComponent.class,
Validator.class,
Converter.class,
Renderer.class
})
public class FacesInitializer implements ServletContainerInitializer {
// NOTE: Loggins should not be used with this class.
private static final String FACES_SERVLET_CLASS = FacesServlet.class.getName();
19
20. Dynamic Registration
Java Server Faces
public void onStartup(Set<Class<?>> classes, ServletContext servletContext)
throws ServletException {
if (shouldCheckMappings(classes, servletContext)) {
Map<String,? extends ServletRegistration> existing =
servletContext.getServletRegistrations();
for (ServletRegistration registration : existing.values()) {
if (FACES_SERVLET_CLASS.equals(registration.getClassName())) {
// FacesServlet has already been defined, so we're
// not going to add additional mappings;
return;
}
}
ServletRegistration reg =
servletContext.addServlet("FacesServlet",
"javax.faces.webapp.FacesServlet");
reg.addMapping("/faces/*", "*.jsf", "*.faces");
servletContext.setAttribute(RIConstants.FACES_INITIALIZER_MAPPINGS_ADDED,
Boolean.TRUE);
20
21. Resource Sharing
• Static and JSP not confined to document root of the web
application
• May be placed in WEB-INF/lib/[*.jar]/META-
INF/resources
• Resources in root take precedence over those in bundled JAR
• Container must honor this new location when
– Processing HTTP requests
– Calls to ServletContext#getResource[AsStream]
21
23. Why Asynchronous Servlets?
l
Not for Async IO
–Requests mostly small (single packet)
–Hard to asynchronously produce large responses
–Async IO support waiting for NIO2
l
Async Servlets are for:
–Waiting for resources (eg JDBC connection)
–Waiting for events (eg Chat)
–Waiting for responses (eg web services)
23
24. Blocking waiting consumes resources
l
Web Application using remote web services
–Handling 1000 requests / sec
–50% requests call remote web service
–500 threads in container thread pool
l
If remote web service is slow (1000ms)
–Thread starvation in 1 second!
–50% of requests use all 500 threads
24
25. Asynchronous API
Enable asynchronous support
l
Configured in
–web.xml:
<async-supported>true</async-supported>
–With annotation: @WebServlet(asyncSupported=true)
–Programmatic: registration.setAsyncSupported(true)
25
27. Security
Annotations to define security constraints
l
@ServletSecurity used to define access control constraints
l
@HttpConstraint for all HTTP methods
l
@HttpMethodConstraint for specific HTTP methods
l
More specific wins
27
29. Security
Programmatic container authentication and logout
>HttpServletRequest#login(String username, String
password)
–Replacement for FBL
–Application supervises credential collection
>HttpServletRequest#authenticate(HttpServletRespo
nse)
–Application initiates container mediated authentication from a resource that is
not covered by any authentication constraints
–Application decides when authentication must occur
29
30. Miscellaneous Features
l
Session tracking cookie configuration
–Via web.xml
–Programmatic via javax.servlet.SessionCookieConfig
l
Support for HttpOnly cookie attribute
–Example:
servletContext.getSessionCookieConfig().setHttpOnly(true)
l
Default error page <error-page>
<error-code>...</error-code>
<exception-type>...</exception-type>
<location>/404.html</location>
</error-page>
30
31. Miscellaneous Features / API (contd)
ServletRequest#getServletContext
ServletRequest#getDispatcherType
Servlet[Request|
Response]Wrapper#isWrapperFor
HttpServletResponse#getStatus
HttpServletResponse#getHeader
HttpServletResponse#getHeaders
HttpServletResponse#getHeaderNames
31
32. Miscellaneous Features / API (contd)
File upload
ServletRequest#getParts
ServletRequest#getPart
@MultipartConfig
Changes to web.xml
32
33. Summary
l
Major revision since Servlet 2.5
l
Comprehensive set of new features enable modern style of web
applications and greatly increases developer productivity
l
Simplifies assembly of large applications from reusable
components
33
34. Servlets 3.1 (JSR 340)
http://jcp.org/en/jsr/detail?id=340
NEW
• Cloud support
• Multi-tenancy
– Security / Session state / Resources isolation
• Asynchronous IO based on NIO2
• Simplified Asynchronous Servlets
• Utilize Java EE concurrency utilities
• Enable support for Web Sockets
34