Working with JavaEE and JSF through GlassFish has really put my problem solving to the test. My education did not provide me with the information I needed for this task, nor does the documentations or the tutorial/books on the subjects.
It's been a real test for me but I'm not gonna say I regret any of it because by facing all the weirdest bugs and errors I've learned so incredibly much researching how things work. The the kind or errors I've had are the kind where you get one error in the stack trace, but the real error is somewhere entirely else, and it's been ranging from errors on my part in not knowing how things work to nothing I could have done at all because it's a known error in the application server through the documentation being plain wrong about how it works.
JSF rendered html still looks horrid, but reading how it was rendered really solved how to work with JSF for me. Experimenting with code takes time, but it's a great way to learn. My hands are dirty, my legs are knee-deep in the code-mud but I feel great, because I pulled through this far all on my own.
Now, I can focus on the area I know (reasonably well at least); CSS. Someone brew me some tea because I'm going in!