Running JSP with Mysql Database.

When you had the chance developing Jsp pages with Mysql as a database and Apache Tomcat 5.** as the back end server, and trying to run the simple database test connection and encounter the following error messages :

java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

1st. If you are using IDE like eclipse or Netbeans, make sure you had include the java mysql connector jar file by the Eclipse right click on project look for Build Path and add the mysql .jar file into the library. Try and restart the apache tomcat server.

2nd. If it doesn’t work, copy the previous download mysql jdbc driver into directory one located at your apache tomcat common\lib folder; as C:\apache-tomcat-5.5.26\common\lib.

If this doesn’t work copy the file to C:\apache-tomcat-5.5.26\bin (i had no idea, basically i just copy and paste everything).

Restart the apache tomcat server and now it should be able to run!!.

Get HTML Title Tag using Java HTMLDocument Library

Java HTMLDocument model is to support both browsing and editing. If you had overcome need to parse HTML document and wanted to retrieve the title Tag child node value, you can’t use iterator to search the title tag and get the value. But there was one, even more easier way to do that.

//package needed.
javax.swing.text.html.HTMLDocument

//Sample code that get the html document from internet.
//We can use string instead.

URL url = new URL('http://yourwebsitehere.com');
URLConnection connection = url.openConnection();
InputStream is = connection.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);

HTMLEditorKit htmlKit = new HTMLEditorKit();

//Only start from body
HTMLDocument htmlDoc = (HTMLDocument) htmlKit.createDefaultDocument();
.....
..... //Some HTMLEditorKit code here (Not used for this tutorial)
.....
String title = (String) htmlDoc.getProperty(HTMLDocument.TitleProperty);
System.out.println('HTMLDocument Title: ' + title);

//end java code here

This should be work, of course this is only the snippet code.

Reference : Java HTMLDocument API

Bypass Server Proxy with Java Code

Few days ago, i was writing Java Spider Web crawler that need to by pass by University proxy because of the firewall settings. Below here were the basic snippet code how we can bypass the proxy.

Java Library that needed :
import java.net.*;
import java.io.*;
import java.util.Properties;

Since we are using java property rather than compile with command as below :
UNIX
java -Dhttp.proxyHost=proxyhost
[-Dhttp.proxyPort=portNumber] URLReader

DOS shell (Windows 95/NT/XP)
java -Dhttp.proxyHost=proxyhost
[-Dhttp.proxyPort=portNumber] URLReader

Snipper Code :
//Place before you make a use of stream reader

Properties systemSettings = System.getProperties();
System.setProperty("http.proxySet", "true");

//Your proxy host server
systemSettings.put(“http.proxyHost”,”bluetongue.cs.rmit.edu.au”) ;

//Your proxy port
systemSettings.put(“http.proxyPort”, “8080”);

URL url = new URL(“http://www.google.com/news”);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();

/* it’s not the greatest idea to use a sun.misc.* class
* Sun strongly advises not to use them since they can
* change or go away in a future release so beware.
*The username and password below ONLY be encoded that means
*it is not secure to transmit over the network. But since this is just a demo
*/

sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder();
String encodedUserPwd =
encoder.encode("mydomain\\username:password".getBytes());
con.setRequestProperty
("Proxy-Authorization", "Basic " + encodedUserPwd);

That’s all, you should be able to compile and run now.