Java Server Pages M.C. Juan Carlos Olivares Rojas
Servlets • Son aplicaciones que se ejecutan en el lado del servidor y responden a peticiones HTTP realizadas por los usuarios. • Se debe contener un contenedor de servlets como Apache Tomcat para poderlos ejecutar.
Servlets • Todos los servlets tienen los siguientes métodos: • • • •
void init(ServletConfig config); void destroy (); ServletConfig getServletConfig(); void service(ServletRequest ServletResponse res); • String getServletInfo();
req,
Servlets • La clase HttpServlet siguientes métodos:
implementa
los
• doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, service, los cuales son protected void y reciben como argumentos un objeto HttpServletRequest y HttpServletResponse.
Servlets • Otros métodos son: – void service(ServletRequest ServletResponse res); – Protected getLastModified(HttpServletRequest);
• HttpServletRequest: – Enumeration getAtributeNames(); – Object getAttribute(String name);
req, long
Servlets • HttpServletRequest: – void removeAttribute(String name); – Void setAttribute(String name, Object value); – Enumeration getParamaterNames() – String[] getParameterValues(String name); – Cookie[] getCookies(); – HttpSession getSession(); – HttpSession getSessionb(boolean create); – String getRequestedSessionId();
Servlets • HttpServletResponse: – ServletOutputStream getOutputStream(); – PrintWriter getWriter(); – void addCookie(); – void addHeader(String name, String value); – void setHeader(String name, String value); – boolean containsHeader(String name); – Void sendRedirect(String location);
JSP • ¿Porqué no son tan bueno los servlets? • Por que es necesario mostrar mucho código HTML. • Es más fácil generar el diseño de manera separada y el código dinámico incrustado.
JSP • La fecha de hoy es <%= new java.util.Date() %> • Las etiquetas JSP se pueden manejar como XML. • <%-- comentario JSP %> • <%! declaraciones %>
JSP • Variables implícitas: – request – response – pageContext – session – application – out – config – page – exception
JSP • Directivas de página: – – – – – – – – – – –
language extends import session buffer autoFlush info errorPage contentType isThreadSafe pageEnconding
JSP • Ejemplo de directivas de página: • <% @ page import=“java.util.*” e r r o r P a g e = “ e r r o r . j s p ” contentType=“text/plain” %> • Se pueden utilizar JavaBeans, los cuales son clases de Java con métodos bien definidos.
JSP • Uso de JavaBeans: • <jsp:useBean id=“circ1” scope=“session” class=“capitulo3.Circunferencia”> • <%@ include file=“archivo.jsp”> • <jsp:include page=“pagina.jsp”/>
JSP • El problema de utilizar JSP y sobretodo páginas dinámicas es tener que mantener lenguajes distintos. • Se sugiere utilizar JSP-EL (Expresion Languaje) que son etiquetas de JSP para hacer ciclos, acceder a variables, condiciones, etc. Además de utilizar JavaBeans para separa la lógica del negocio.
JSP • Algunos contenedores de servlets convierten los .jsp a servlets para mejorar su desempeño. • JSP utiliza los siguientes paquetes: javax.servlet.jsp y javax.servlet.jsp.tagext • Se utiliza el carácter \ para caracteres especiales como %, ‘, “, etc.
JSP • <jsp:forward page = “reenvio2.jsp”> • <jsp:param name = “fecha” value=“<%= new java.util.Date() %>” /> • </jsp:forward>
• H. Deitel, et al., “Java Como Programar”, Quinta edición, Pearson Prentice Hall, México, 2004, ISBN: 970-26-0518-0, pp. 1111 - 1190.
Referencias • A. Martínez, “Programación Web Java”, MP Ediciones, Argentina, 2006, ISBN: 987-526391-1, pp. 325. •
多Preguntas?