120 likes | 192 Vues
Learn to create dynamic web pages that adapt based on user identity and browser type using Servlets and JSP. Understand CGI scripting, Servlets' scalability and portability, JSP's dynamic content separation, and JSP alternatives like PHP and ColdFusion. Explore JSP unique features and the steps to get started with JDK 5.0, Apache Tomcat, and popular IDEs.
E N D
Introduction Servlets and JSP Celsina Bignoli bignolic@smccd.net
Dynamic web pages • Content may change based on • identity of the user • user’s browser type • information provided by the user • selections made by the user
CGI • CGI (Common Gateway Inteface) • outlines how a web server communicates with a program. • Typically written in Pearl (or C) • CGI scripting is not efficient • for every request the web server has to create a new process load an interpreter run the program and dispose of the process once done.
CGI improvements • Fast-CGI • runs program in a external process or pool of processes • mod_perl, NSAPI, ISAPI • run server-side programs in the same process as the web server • available only on some web servers
Servlets • Server side Java programs • Solve scalability issue • serlvets are run on threads of execution not separate processes • Solve portability issue • runs on every platform that supports Java • supported by all most popular web servers • Issue • html tags are embedded in java programs within out.print() statements
JSP • server-side technology • separate dynamic content from static content of a page • Java scriptlets embedded into html-like page • Separate the work of • java programmers • page authors
JSP relationship to Servlets A JSP is converted into a Servlet
Servlet Example import java.text.*; import java.util.*; import public class DateServlet extends HttpServlet{ public void doGet(HTTPServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(“text/html’); PrintWriter out = response.getWriter(); out.println(“<html>”); out.println(“<head><title><Date Example</title></head>”); out.println(“<body>”); out.println(“Today is: “); Date d = new Date(); out.println(“<em>” + DateFormat.getInstance().format(d)+ “</em>”); out.println(“<body>”); out.println(“</html>”); } } embedded HTML
<% Date d=new Date(); String today = DateFormat.getInstance().format(d); %> JSP Example JSP tag <%@ page import=“java.text.*’, java.util.*”%> <html> HTML <head><title><Date Example</title></head> <body> Scriptlet Today is: <em><%=today%></em> </body> </html> Example.jsp • Static: HTML/XML elements • Dynamic: scriptlets • Additional: special JSP elements
JSP alternatives • Active Server Pages • allows you to add VBScript or JScript code to the page • primarily a solution for te Windows platform • PHP • open source web-scripting language. • extensive set of predifined functions to access databases, LDAP directories, mail servers etc… • widely supported • ColdFusion • ColdFusion Markup Language(CFML) accessing databases, files, mail servers etc… • custom elements can be developed in C++ or Java
JSP Unique Features • JSP is a specification, not a product • competing implementations • integral part of J2EE • access all features of the Java language
How to get Started • Install JDK 5.0 • Download Apache Tomcat 5.5 from: www.apache.org • Use a regular editor or an IDE that supports JSP development • Eclipse • JBuilder • JCreator • Oracle JDeveloper • NetBeans • Macromedia DreamWeaver