Tuesday July 29, 2008
TOTD #39: Prototype/Script.aculo.us Autcomplete widget with MySQL, GlassFish, NetBeans
There are several JavaScript libraries that can be embedded in your
webapplication to create a visually appealing interface. Script.aculo.us is
one of the popular ones and is built on the Prototype JavaScript
Framework. The library provides an easy-to-use, cross-browser
user interface JavaScripts that allows you to create fancy effects
commonly visible on web pages these days.
This blog entry gets you started by using Ajax.Autocompleter
that allows for server-powered autocompleting of text fields.
Basically, you type a character in a text field and suggestions for
possible correct values starting with that character are
shown . This is achieved by by sending an Ajax request to the
data source on server, passing the typed character in the request and
processing the response to display on the web page. This effect was
first popularized by Google
Suggest.
In this TOTD (Tip
Of The Day) we will create
a simple web application with a text field in a JSP page that will use
Servlet as the data source. The Servlet retrieves the parameter from
the RequestContext, uses Java Persistence API to query the database and
return response in the expected format. We will use:
| @NamedQuery(name = "States.findLikeName", query = "SELECT s FROM States s WHERE LOWER(s.name) LIKE :searchString"), |

|
String searchString = request.getParameter("autocomplete_parameter"); List<States> list = em.createNamedQuery("States.findLikeName"). setParameter("searchString", searchString.toLowerCase() + "%"). getResultList(); out.println("<ul>"); for (int i = 0; i < list.size(); i++) { States s = list.get(i); out.println("<li>" + s.getName() + "</li>"); } out.println("</ul>"); |
|
<script src="javascripts/prototype.js"
type="text/javascript"></script> <script src="javascripts/scriptaculous.js?load=effects,controls" type="text/javascript"></script> <script type="text/javascript"> window.onload = function() { new Ajax.Autocompleter("autocomplete", "autocomplete_choices", "/Autocomplete/StatesServlet", {}); } </script> |
|
<input type="text" id="autocomplete"
name="autocomplete_parameter"/> <div id="autocomplete_choices" class="autocomplete"></div> |
| .autocomplete { position:absolute; width:250px; background-color:white; margin:0px; padding:0px; overflow:hidden; } .autocomplete ul { list-style-type:none; margin:0px; padding:0px; overflow:auto; } .autocomplete ul li.selected { background-color: #ffb;} .autocomplete ul li { list-style-type:none; display:block; margin:0; padding:2px; height:32px; cursor:pointer; } |
| <LINK href="stylesheets/autocompleter.css" rel="stylesheet" type="text/css"> |





|
window.onload = function() { new Ajax.Autocompleter("autocomplete", "autocomplete_choices", "/Autocomplete/StatesServlet", { minChars: 2 }); } |
Posted by Arun Gupta in web2.0 | Comments[6]
|
|
|
|
|
Today's Page Hits: 3688
Total # blog entries: 1009
TOTD Request: For WS-Security using PKI certificates, WSIT prefers openssl-generated keys because they provide a SubjectKeyIdentifier not available with Java-keytool generated ones. I have been able to get WS-Security/PKI working well with the default client and service keys in the Glassfish keystore.jks file (located in glassfish_home/domains/domain1/config) but have no clue how to use openssl to generate my own self-signed keys with that same structure (up until now, I've only been using keytool for that). It would be great if you could show us how to use openssl to manufacture self-signed certs with the same structure as those in that keystore.jks file, and also, how to import them into a jks file afterwards (do we use openssl for keytool for that?). See here: http://tinyurl.com/6576dl .
Thanks, Glen
(BTW, if you don't want to do this, please lock Kumar of the XWSS team into a room and don't let him out until *he* does this. Thanks!)
Posted by Glen on August 01, 2008 at 03:53 PM PDT #
Glen, The request has been forwarded to Kumar. You may also consider posting your request to openssl-users@openssl.org.
Posted by Arun Gupta on August 04, 2008 at 06:50 AM PDT #
1. You can use Metro WS-Security with V3 certs generated by keytool.
The SubjectKeyIdentifier is not required. We have actually also updated NetBeans (in 6.5) to not require the SubjectKeyIdentifier. It is one of the many ways that can be enabled Via Policy Assertions under the X509Token Assertion.
If you need more details let me know.
2. Generating self signed certs using openssl :
I am not an openssl expert but googling gives a lot of pointers :
http://www.technocage.com/~caskey/openssl/
3. To import the cert and key pair into java keystore you will have convert to DER first :
To import these signed certificates into the keystores we will have to convert them into the binary (DER) format using 'openssl x509' command.
openssl x509 -outform DER -in selfsignedcert.pem -out selfsignedcert.cert
keytool -import -file selfsignedcert.cert -keystore keystore.jks -storepass changeit -alias myselfsignedcert
Thanks
Posted by kumar jayanti on August 04, 2008 at 10:38 AM PDT #
Thanks Kumar. (Sorry I forgot to mention to Arun for him to leave pizza in the room that he locked you in, but hopefully he thought of that anyway. :-)
Posted by Glen on August 04, 2008 at 02:45 PM PDT #
Posted by Arun Gupta's Blog on August 06, 2008 at 03:08 PM PDT #
Sup
Posted by Sup on October 06, 2008 at 08:51 PM PDT #