You write Class.forName("drivername") because you want to load the drivers class so that it will register as a driver to the DriverManager. You have just altered the syntax a bit by importing the driver class and you use Driver.class.newInstance() to load the driver into memory so that it will be possible to use the DriverManager to create the connection.
In most tutorials on jdbc the Class.forName() method is used so that seems to be the most common way to load the driver. So if you're looking for a benefit of using the Class.forName() that's it as far as I can see. And writing code according to the most common practise isn't a bad reason for chosing the Class.forName way.
There is also the possibility to load the driver as a system propery when you execute your program. The property is called jdbc.drivers.
Hope that I managed to explain anything :-)
Joined: Oct 10, 2005
Another drawback with your solution is that it will be harder to change database source later since you have hardcoded the drivers path into your sourcecode. If you pass the drivername to your application by the command line or a configuration file and use the Class.forName() way then you don't need to recompile your code when changing database.
And a last little thing. This type of question seems to be more suited under the JDBC thread since connecting to a database isn't the first thing you do when making a java program. At least if you're new to programming.