Hi again,
I'm just writing to submit you folks a small proposal about a little
enhancement on servlet component:
I experienced reusing same servlet/filter in the same context passing
parameters on <init-param/> section in the web.xml and what I found
"boring" is overriding the methods:

javax.servlet.http.HttpServlet#init(javax.servlet.ServletConfig
servletConfig)
javax.servlet.Filter#init(javax.servlet.FilterConfig filterConfig)

to extracts parameters from Servlet/Filter Config and
ServletContext... in my mind I was looking for a more "automatic"
solution and Guice is what resolved my problem in this way:

1) I implemented 3 new annotations:

FilterInitParam
ServletInitParam
ServletContextInitParam

each annotation is a BindingAnnotation who can be applied to a servlet/
filter's field/method's param who is initialized using the Injector;

2) The Guice-based ServletContextListener binds all ServletContext's
param as ServletContextInitParam in the main Injector;

3) everytime a new filter/servlet is initialized, a new Injector is
created using the "hierarchical injector" policy (the parent injector
is who had already been created in the ServletContextListener),
binding
FilterConfig/ServletConfig's init parameters to Filter/
ServletInitParam annotations;

4) The HttpServlet now is just a Guice-annotated POJO where members
can be injected and methods can be called like the users are used to,
using also init parameters; a small example could be the test servlet
I wrote to show you:

http://code.google.com/p/injectlet/source/browse/trunk/src/test/java/com/asemantics/commons/injectlet/TestServlet.java

I realized a Proof of Concept called "injectlet" (visible on
http://code.google.com/p/injectlet/), it's currently working but only
with String parameters; moreover, it still uses Guice 1.0.
The code has been released under a BSD-alike license and we are happy
in donating/contributing our code to you.

I hope you find this a - even very small - nice feature to add to
Guice-servlet.
Please let me know.
Best regards,
Simone

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-guice?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to