- InfoQ: Setting out for Service Component Architecture – SCA is an enhancement to frameworks that offer programming models for components and connectivity abstractions. Those frameworks may be standard offerings, but may also be proprietary technologies, such Remote Function Calls (RFC), SQL stored proc etc.
- Eric Traut talks (and demos) Windows 7 and MinWin – istartedsomething – Microsoft?s distinguished engineer Eric Traut gave a presentation at the University of Illinois about Microsoft?s virtualization technology and also mentioned Windows 7 – the next version of Windows after Vista
- Cairngorm:Cairngorm2.2.1:Release Notes – Adobe Labs – The Cairngorm Microarchitecture is a lightweight yet prescriptive framework for rich Internet application (RIA) development.
- Alfresco Makes Leading Java Implementation JLAN Shared File Drive Interface Available via GPL – Alfresco JLAN is a unique implementation of an embedded virtual file system that offers the only Java client and server implementation of Microsoft Window?s CIFS protocol, allowing content, and rows in a database to appear as a shared drive.
- 1-800-GOOG-411 – Google’s new 411 service is free, fast and easy to use. Give it a try now and see how simple it is to find and connect with local businesses for fre
- Adopting Struts 2.0 – Java World – Struts 2.0 carries much of the power of its predecessor but is simpler for developers to use. In this article, S. Sangeetha and S. V. Subrahmanya outline the changes in Struts 2.0 and offer migration pointers for developers familiar with Struts
- Improve Your Photos 60 Seconds at a Time – If you are tired of reading long explanations and confused by tricky photo techniques, here you can have it short and sweet. Arranged by topics, each subject takes less than 60 seconds to read.
- InfoQ: IntelliJ IDEA 7.0 Adds Spring/Hibernate Support, Eclipse Interoperability, and Maven Integration – Jetbrains has released IntelliJ IDEA 7.0. This version rounds out support for many popular Java technologies while adding support for languages such as Groovy and Ruby. Among its highlights: Spring and Hibernate Support, Ruby/Rails Support, Groovy/Grails
- IntelliJ IDEA Blog » Blog Archive » IntelliJ IDEA: The Magnificent Seven – JetBrains is proud and happy to tell you that IntelliJ IDEA 7.0 is now available! This release is focused on further upgrading performance, usability, and enhancing the user experience with the efficient support for new features, technologies, and tools.
- Icahn further raises BEA stake to 13.22 percent | News | Mergers/Acquisitions | Reuters – Billionaire investor Carl Icahn further boosted his stake in BEA Systems Inc (BEAS.O: Quote, Profile, Research) to 13.22 percent, according to a regulatory filing.
- If wishes were iPhones, then beggars would call [dive into mark] – Buy it for what it is, or don?t buy it at all. Your choices don?t get any more granular than that. Apple has been unwaveringly clear that the iPhone is theirs.
- Adobe – Developer Center : What’s new in Flex 3 Beta 2 – this article has been updated throughout to reflect Flex 3 Beta 2. However, you can see a summary of interesting changes near the bottom of this article.
- Technology Review: Gibson’s Self-Tuning Guitar – A new line of instruments from Gibson Guitar now promises to banish this scenario to the dark ages with high-tech self-tuning technology built into the company’s flagship electric-guitar models.
- Google Web Toolkit Blog: GWT Application Development for the iPhone – In our not-so-humble opinions, we think that the Google Web Toolkit (GWT) and the Apple iPhone are two very cool technologies. Our approach was to build an application that primarily targets the iPhone and to use that as a test-bed for new ideas.
- IntelliJ IDEA Plugins Contest – IntelliJ IDEA has inspired many Java developers to write plug-ins from J2EE and code editing tools to games. Now it has a robust plugin ecosystem with 413 available plugins and new ones appearing nearly every week
- Redirect after POST filter – RedirectAfterPostFilter lets you easily implement Redirect after POST pattern in your web applications. You can map this filter to your controllers processing POST requests and after the processing filter will redirect the original request to the url
- Caching Solutions in Java – Even though caching improves performance and makes your architecture work, it can, in fact, complicate design and introduce such complexities as concurrent code and cluster-wide synchronization.
- Daemon : Procrun – Daemon – Procrun is a set of libraries and applications for making Java applications to run as Windows services. It can convert any application to run as a service.
- The Connector released for Microsoft Project / JIRA Integration – The Connector allows users of JIRA to use Microsoft Project for doing planning and scheduling and provides an easy way to synchronize the information in Microsoft Project with the issues in JIRA
Earlier in the month, I blogged about Servlet Filters and how I see them as Aspects in the AOP world. Based on the blog entry, I’ve gotten tons of email from people that wanted to know more about Servlet Filters, how to use them and how to use the simple Authentication filter I used as an example. I also got quite a few emails from people that wanted to know what other filters I used and so I am including some resources that I find very helpful along with a few servlet filters that I use every day.
Servlet Filter Tutorials
Servlet Filter Apps
If you know of any other Servlet Filters that are useful, drop me an email or send me trackback.
I was just discussing this idea of Servlet Filters with a friend and I was trying to explain to him how Filters work and how they are really aspects in the AOP world. I think filters are really incredibly helpful and yet very few developers know about them and even fewer developers implement them. So my thought was that if we started using buzzwords like AOP around filters, suddenly Filters become sexy and everyone’s jumping over to implement Filters.
The filter API was introduced in the Servlet 2.3 specification and is defined by the Filter, FilterChain, and FilterConfig interfaces in the javax.servlet package. You define a filter by implementing the Filter interface. A filter chain, passed to a filter by the container, provides a mechanism for invoking a series of filters. A filter config contains initialization data. The most important method in the Filter interface is the doFilter() method, which is the heart of the filter. Filters intercept request to your web application based on the url-pattern specified in the web.xml, where the filters are defined.
I have used Filters extensively and have a few Filters ready to go when I am called into debug applications in production that are misbehaving or just broken. One of the filters I use quite often is a simple authentication filter that makes is easy to ensure consumers of the web application is authenticated. Here’s a simple snippet:
Here’s a copy of the original documented Filter java class.