You're asking an incredibly broad question here which makes it very hard to answer. To write an a web application on Alfresco that is like Share you have many options (especially given the number of available APIs at your disposal with which to interface with the repository). For simplicity I would recommend that you either customize the existing Share application or create an entirely new application using Surf. You can use JSP with Surf if you'd like (Surf is merely a framework for other languages like JSP, WebScript, FreeMarker, PHP, etc). I wouldn't recommend that you use Surf with WebScript though as that is what Share is written with which means that you'd be able to re-use Alfresco code if you wish and you'll have the confidence of knowing that the WebScript is exceptionally well tested with the Alfresco framework.
So your steps to achieving this would be to learn as much about the Surf framework and WebScripts as you can via the existing Wiki documentation, various blog posts, forum posts and books that are available - if you have specific questions then ask them here or on the WebScripts board of the forum.
Regards,
Dave