views:

105

answers:

1

Has anyone implemnted the stackoveflow/digg like voting system using JSP/Servlet/Java technology? If yes can you please redirect me to books or online material? Also if there are already some plug-ins for study purpose?

+1  A: 

The major keyword here is Ajax. It basically boils down to letting the Javascript code fire an asynchronous request (a request in the "background" so that the client don't see any "flash of content") to the server side and eventually traverse/change elements in the HTML DOM tree (which is accessible through the document object in Javascript) after receiving the response.

To start, attach some JS functions to the click event of the elements representing the up and down vote buttons. Let those JS functions fire an asynchronous request to the server with the message ID and the vote status (up or down) and change the element representing the number accordingly by traversing the HTML DOM. That's basically all.

To avoid pains with regard to browser specific behaviours, best is to adopt a thoroughly developed and maintained 3rd party Javascript framework with ajaxical powers, such as jQuery.

You just use JSP/Servlet further the usual way: The JSP as being a view/template technology can just be used to write the necessary HTML/CSS/JS in and the output can be dynamically controlled with help of taglibs (such as JSTL) and EL. The servlet as being a request/response controller can just be used to control requests and eventually execute request-specific actions. Not only for JSP pages, but also for ajaxical requests. I recommend using Gson in a servlet to be able to send and/or receive JSON strings so that Javascript can process it further without any conversion pains.

At the jQuery site you can find a lot of "4th party" plugins. Here you can find all plugins matching the keyword vote. One of them may be useful for you.

Hope this helps.

BalusC
Thanks a lot, it sure helped me in getting started in what I want. I wanted to vote you but can't, as I dont have enough credits....
raj_arni