Java technologies and frameworks are software libraries that are web-based providing the user interface, or “view-layer”, of Java web applications. Such frameworks are used for defining web pages and managing the HTTP requests generated by those web pages. Java has strong support for web development. While Java on the desktop, with the notable exception of Eclipse RCP based application was never a huge success, Java is frequently used at the server side. The web application runs on the server and people can access it there. The server is either a real machine (with CPU, memory, harddisk, etc.) or a virtual server which is basically a machine which is separated by software into smaller machines.