there are 3 kind of developers i have seen in 13 years of work. some who should be testers and a few have made the switch. others who are mediocore, get by copy-paste, add few lines, set up systems made by others adding a few features here and there, do not design but get the work done. and last developers who take the long view, take time to research, think of maintainability, time to develop etc ...
For (3) The answer is not a number of sites but a number of features. do 2 sites, maybe only 5 pages each but can be rich, with enough background jobs and UI to make it big.
get a good java 6 (or 7 if you can afford it) and java EE book. read it cover to cover.
try to get work on elance/ freelancer
download a few open src (code and binaries), see how the framework works (struts & apache commons, http components ...)
know there are many and sometimes quicker ways to do things - example to get a page you can use http components but for some simple pages URL & java.io is enough ... but they have limitations ... so use an interface where you can.
go thru intervew questions/ pdfs what not
write a few standalone apps [as a servers; utils (sort + file manipulation) ; maybe one UI - web start so you can host it and show it, design the file manipulation so it can be reused in the UI as a component]
go thru what should every programmer know about web development twice (ty gnat)
after reading the books and seeing the code, go back to the 2 websites that you did, see if you can edit anything - refactor. try to refactor and see the results compare to earlier
try to get a mentor to review and give criticism