Hi Neeti,
If you work with straight Java servlets, you have to deal with HTTP input and HTML output from within Java classes, and you need significant Java experience to build complex applications. With JSP thrown into the mix, you can separate your HTML presentation logic from the more complex business logic embedded in servlets. This means that developers who are experienced with scripting can write the presentation code while more experienced Java developers can focus on solving complex problems in servlets and beans.
JSP can be used with or without Java programming knowledge. In fact, JSP contains a few server-side tags that make it possible to display dynamic data without writing a single line of Java code. You can access beans directly to perform operations and then use JSP tags to display results as dynamic content. You can also use servlets that generate beans which hold results of the servlet operations, and again use JSP tags to display the results without requiring Java coding in the JSP page.