I wouldn't worry too much about servlets and jsp if you are just going for the SCBCD. You can always write your clients in plain-old java, which I find is better for experimentation anyway - there's a lot time-consuming messing around that just isn't there if you write your client test code as a console app.
You do not need to know much about servlets and JSP before tackling EJB. You should know the very basics, but you can read a few pages online about where servlets and JSPs fit into J2EE and you'll be in good shape. The point of EJB is that it is intended to be used for components that will not know--or care--about the kinds of clients that are accessing them. A bean should never know whether it's clients are servlets or stand-alone Java apps.
So, you should have an overall picture of J2EE, since that is the world in which EJB lives, and because EJB apps typically DO use servlets as clients... BUT... as a component model, beans should be written *without* the web in mind. Writing your beans with the assumption that they'll be called by a web app means that you potentially hurting your reuse and extensibility.
Go ahead and learn EJB even if you don't know servlets and JSPs! There is absolutely NOTHING on the SCBCD exam that requires servlet/JSP knowledge. We deliberately created the exam that way because there are large workgroups where the roles are clearly divided... the EJB developers are NOT necessarily the same people doing the web app development (Servlets and JSPs). Same thing is true with the SCWCD--you aren't required to have explicit knowledge of EJB.
Evil is afoot. But this tiny ad is just an ad:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop