Dijkstra's algorithm is known to be a good algorithm to find a shortest path.
Here are some JAVA applet demos of shortest path problem by Dijkstra's algorithm.