jee
−Table of Contents
Advanced Servlets
This week covers advanced aspects of webapp development. They include declarative security, filters and dynamic scheduling, listeners and the webapp life-cycle, and design patterns.
Declarative Security
- Why: Authentication and encryption without programming.
- What: Designate pages that must be secured.
- How: Define roles and users in conf/tomcat-users.xml; select the needed security and the URLs to secure in web.xml.
- Example: add a login to an existing webapp
Filters
- Why: Refactor the webapp without recompiling
- What: Intercept the flow anywhere between the client, the servlets, and the JSPs on the way in or out.
- How: Designate the interception points in web.xml; implement Filter; read and optionally modify the request or response; continue down the pipeline or abort.
- Example: add a new validation; support a new protocol; log; compress; etc.
Event Listeners
- Why: Monitor data structures globally and take actions
- What: Get notified when the context and/or the session is created or destroyed and when any attribute in it is changed, added, or removed.
- How: Write a listener that implements one of 4 interfaces and register it in web.xml.
- Example: detect and log certain session features; start a back-office order application based on committed baskets; track sessions in an admin webapp; etc.
To Do
- See the web_security.xml file in the Resource Directory under jee.
- See the web_filter.xml file and PrimeFilter.java“ in the Resource Directory under jee. * See the web_listener.xml file and HotNumbers.java” in the Resource Directory under jee.
- Use the Servlet-Spec file in the Resource Directory as a reference for these advanced features.
jee.txt · Last modified: 2008/11/05 20:32 by roumani