Dundonald <mark.dundon@gmail.com> said:
>I'm wondering what the best way to implement dynamic handling of
>customer defined functionality in a J2EE web app. For example ...
[quoted text clipped - 9 lines]
>that would automatically trigger a default / specified servlet and
>pass in "some_value" as a paramter to that servlet.
I wouldn't do quite that; that'd give a too good possibility for the
customer to shoot themselves in the foot (f.ex. by using the same name
with an existing servlet (or even static resource). This of course
supposing that the same domain is used for anything else than this
customizable functionality.
>To put this in to context I will write code to allow the customer to
>configure certain functionality of the site and give that
>functionality a unique name. But rather than have that functionality
>requested by explicity calling a servlet and passing a paramater I
>would like it easier for the customer to remember by calling the site
>domain followed by the unique name of their functionality.
Would it be possible to have the customer to remember one word in
addition to their domain name? If so, you could create a servlet
handler which would intercept all accesses to
http://www.somesite.com/one_word/*
... and then work its magic based on whatever is supplied as *.
This would still be less things to remember than the HTTP query
calling syntax. HP is one company using this; f.ex. you can try
hp.com/go/java (which, by the way, does not redirect to Sun.. :-)
hp.com/go/support
among others. These make great short links to be used f.ex. on
brochures and training material.

Signature
Wolf a.k.a. Juha Laiho Espoo, Finland
(GC 3.0) GIT d- s+: a C++ ULSH++++$ P++@ L+++ E- W+$@ N++ !K w !O !M V
PS(+) PE Y+ PGP(+) t- 5 !X R !tv b+ !DI D G e+ h---- r+++ y++++
"...cancel my subscription to the resurrection!" (Jim Morrison)
Dundonald - 12 Nov 2007 19:45 GMT
> Dundonald <mark.dun...@gmail.com> said:
>
[quoted text clipped - 17 lines]
> supposing that the same domain is used for anything else than this
> customizable functionality.
Yes it's a good point but I've thought about that one :) I'll
maintain a database record of reserved words that can't be used and
when the customer defines their name it too (the name) will be stored
in a database table so that any subsequent new names added will be
checked against this table hence ensuring uniqueness.
> >To put this in to context I will write code to allow the customer to
> >configure certain functionality of the site and give that
[quoted text clipped - 16 lines]
> among others. These make great short links to be used f.ex. on
> brochures and training material.
Thanks that's not a bad suggestion. The question I have then is how
is the servlet handler created for a specific servlet to pick up
anything from "go" for example and then does the servlet pick up *?
To pick up * would the servlet still use request.getParamater()
method? If so what paramater name would it use to pick up the content
of *?
Thanks
derek - 12 Nov 2007 21:20 GMT
> Thanks that's not a bad suggestion. The question I have then is how
> is the servlet handler created for a specific servlet to pick up
[quoted text clipped - 3 lines]
> of *?
> Thanks
Look up information on the web.xml file.
You can put something like this in there.
<servlet-mapping>
<servlet-name>ServletABC</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
The ServletABC then could look at the actual request and see where to send it based on the request.
If you do a search for "servlet-mapping" you should get tons of examples.
Dundonald - 13 Nov 2007 07:35 GMT
> > Thanks that's not a bad suggestion. The question I have then is how
> > is the servlet handler created for a specific servlet to pick up
[quoted text clipped - 14 lines]
> The ServletABC then could look at the actual request and see where to send it based on the request.
> If you do a search for "servlet-mapping" you should get tons of examples.
Thanks I'll take a look.
Chris ( Val ) - 13 Nov 2007 05:11 GMT
> > Dundonald <mark.dun...@gmail.com> said:
>
[quoted text clipped - 51 lines]
> method? If so what paramater name would it use to pick up the content
> of *?
I agree with Derek.
You could also look into setting up default parameters, in
your deployment descriptor, and read them via obtaining either
a "ServletConfig" or "ServletContext".
<init-param>
<param-name>DefaultCity</param-name>
<param-value>Jakarta</param-value>
</init-param>
<context-param>
<param-name>DefaultCity</param-name>
<param-value>Jakarta</param-value>
<description>A town with crazy traffic</description>
</context-param>
--
Chris