Another solution is to communicate with your players before the campaign starts. If they are making three beefy non-spellcasters, you may want to point out that having someone play a magic using character may be helpful. Or just flat out tell 'em that you think their choices are gonna make it hard to successfuly adventure in the setting you have in mind. After all, you know what kinds of adventures you have in mind, they don't.
If, after having been told that you really didn't have in mind running a low-magic dungeon crawl, they persist on keeping the lopsided group it sounds like they have made, then they can't complain but so much if they really suck in some of the portions of the adventure.
"Teaching them a lesson" during gameplay, because the players failed to read your mind during the character creation process is, IMHO, crappy DMing. The whole point is to have fun and play a game, after all.