Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / November 2007

Tip: Looking for answers? Try searching our database.

I'm not sure what to put in the subject but opinions sought please

Thread view: 
Dundonald - 12 Nov 2007 18:57 GMT
I'm not sure how to best ask this question so I hope I make myself
clear :)

I'm wondering what the best way to implement dynamic handling of
customer defined functionality in a J2EE web app.  For example ...

A customer hitting URL http://www.somesite.com/someservlet?param=some_value

is the obvious solution, the servlet can handle the logic on the
paramater passed and act accordingly.  What I'm wondering is, is it
possible for a URL such as the following:

http://www.somesite.com/some_value

that would automatically trigger a default / specified servlet and
pass in "some_value" as a paramter to that servlet.

Know what I mean?

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.
Juha Laiho - 12 Nov 2007 19:17 GMT
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


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.