Well, it is a vast topic, I try to give my 2 cents ;)
I am going to recommend an Open Source route, so you don't need to spend additional money in software licenses and you gain a lot in terms of freedom.
First, if you don't already have this skills, you would need to master Javascript (I would definitely leave out Flash and Silverlight for many reasons) and a server side language: for the latter I would recommend Python.
As a Javascript AJAX framework, I would definitely opt for jQuery, you could read this excellent book.
There are very nice free resources on the web for Python, I would give a look at this 2:
You will also need to learn a web mapping Javascript framework. OpenLayer is the de facto widespread solution, so you would definitely need to master it.
From Packt there is a nice beginner book, I would recommend.
You could also give a look at OpenLayers based framework like MapFish, here is a good tutorial.
If you need to publish your own data, you must definitely master a map server software like MapServer or GeoServer in order to create your own WMS, WFS, WCS etc web services: they have both excellent documentation.
I personally prefer MapServer, but for a beginner maybe GeoServer has some nice add on like a web UI.
Depending on the route, and if you have chosen Python, you could then try to master a web framework like Django and GeoDjango. On this topic there is still this excellent resource from Packt.
Finally it is important that you master OGC web standards like WMS, WFS etc etc. You can find them here.