Well, it really depends on what you are doing... JSP's and servelets are not the only types of
Java applications being developed... lots of in-house programs are being developed in Java, and most of those programs use Swing to present GUIs... in fact, the program I am working on currently is a stand-alone application being developed in Java, and we are using Swing (kinda... we are using Swing as the
basis for our GUI... ) I personally don't have to know Swing that well, because I am just using the components that the GUI programmers have created for us to use specifically on this project, but I would assume those programmers would have to know quite a bit about Swing. Though, personally, I don't think anyone needs to know the "ins and outs" of Swing... or even of JSPs and Servelets for that matter... if you are using any of these technologies extensively, you will need to know the "ins and outs", but you will probably pick those up as you are using them. More importantly, learn the concepts behind what is going on ( i.e. how Servelets and JSPs run, How Swing uses MVC, etc. ) and then, if you need to use these technologies you will be able to pick up a book and refresh yourself on the syntax for a second before coding them.
Just my $0.02,
-Nate