JSP stands for java server pages
Struts is an elegant, extensible framework for creating enterprise-ready Java web applications.
Java Servlet technology provides Web developers with a simple, consistent mechanism for extending the functionality of a Web server and for accessing existing business systems.
Enterprise JavaBeans (EJB) technology is the server-side component architecture for Java Platform, Enterprise Edition (Java EE). EJB technology enables rapid and simplified development of distributed, transactional, secure and portable applications based on Java technology.
Yes. All sorts of web Applications/websites can be created using JSP and Servlets
J2EE stands for Java 2 Enterprise Edition. This is the version of the Java programming language that helps programmers develop enterprise applications. Features like JSP, Servlets, Struts etc are all part of the J2EE framework and are used to create robust enterprise and web applications.
It is usually done for two reasons: 1. For security purposes - No one can see the code inside a servlet but much of the code inside a JSP can be found out by right clicking on the web page and doing a "View Source" 2. There are only one or two Servlets in any application but there may be dozens of JSP's. if you code the business logic in a JSP, then you would have to replicate the same in all the JSP's where you want this feature. Instead if you place this logic inside the servlet, it is easier for re-use. Instead of copy pasting the code in multiple places, you can place the contents in one single place.
JSPs are converted to servlets before the container runs them. This is actually cool because you don't need hardcore java programming skills to create a JSP page whereas you'll need them to write a servlet. Moreover, all you'll need to write a JSP is some expertise in creating HTML files and in using JavaScript. You can create front-end JSP pages without having much expertise in Java at all. Although JSP reduces the required skill level, JSP becomes a servlet, with the nice performance and portability benefits.
To create an address book using JSP, you can create a form to input contact information like name, email, phone number, etc. When the form is submitted, you can handle the data in a servlet and store it in a database like MySQL using JDBC. Then, you can retrieve and display this information in the JSP using Java servlets.
HTML is a static language and hence access to Sessions is not available in HTML pages. Sessions are accessible only for J2EE systems that use Servlets, JSP etc.
Though Servlets were awesome when compared to CGI, they still had some issues when it came to displaying dynamic content on a web page. Thankfully, Sun released the JSP (Java Server Pages) specifications in 1998, which solved all our UI woes. JSPs enabled programmers to display dynamic HTML content that could also use Java features.
There are three types Java based applications. 1. Stand alone application: Where the application can be run on the machine where the code is available and the application is required on minimum one main method. Developed using J2SE API Code has to be distributed to get the output Eg: MSOffice 2. Web Application: Where the application is residing on some container and can be access from any where either from intranet or internet depends on the container exposed and cab developed using J2SE and J2EE Eg: Any internet based applications like Facebook Technology: Servlets and JSPs Framework: Struts and Spring MVC Architecture: MVC Requirement: Webserver which has Servlet container and JSP Container ie WebContainer = Servlet Container + JSP Container Limitations: Supports only HTTP based requests 3. Enterpise Application: These are superset of Webapplications and with additional functionalities like more sophisticated for Business logic where applications needed more transactions ( DB interations) and security. Technology: Servlets, JSP and EJBs Frame Work: Any Frame work including Struts and Spring Architecture: MVC-n tire Requirement: EJB Container along with WebContainer Advantages: 1. Protocol Independent 2. Fully Distributed 3. Full fledged business logic can be implemented with out any other frame works or tools like ORM 4. Supports JTA and JPA
Servlets were the alternative to CGI and were released in 1997. Unlike CGI, which starts a process for each request, Servlets just spawn a new thread. Servlets had a better or rather efficient architecture which was able to handle the loads of the internet. Though Servlets were awesome when compared to CGI, they still had some issues when it came to displaying dynamic content on a web page. Thankfully, Sun released the JSP (Java Server Pages) specifications in 1998, which solved all our UI woes. JSPs enabled programmers to display dynamic HTML content that could also use Java features. The combination of JSPs and Servlets was just what the Doctor Prescribed and it just revolutionized the Web Programming industry.
HttpServlet and GenericServlet
A JSP is typically oriented more towards displaying information, and a servlet is more oriented towards processing information. For example, a JSP might display a report, while a servlet would process a user submitted form. These uses are not exclusive, but they are optimized more for performing tasks in this manner. It is much easier to incorporate HTML coding into a JSP than a Servlet. It is also easier to write more complex Java code in a servlet.AnswerJSP has Implicit objects and Servlets do not. AnswerJSP and Servlet both define the server end functionality to provide dynamic outputs ,As we know our HTML is only the client end technology version which runs on client browser. JSP and Servlet differ each other in terms of represntation and execution cycle. Servlet are full functional java codes that define the output like write to stream files in protocol defined ways, JSP on the other hand is Role Sepated format to do so where a ordinary web designer designes how will be the presentation of the data and Programmer defines the functinality to provide the underlying things represented in conditional and non conditinal ways , But here is the magic of JSp that merges the both HTML represntation mixed with JAVA scriptlets. Look at http://www.jsptube.com/jsp-tutorials/jsp-introduction.html, it explains how does JSP differs from servlet.
Struts all the way around.