340 likes | 353 Views
Learn how to build Java 2 Platform, Enterprise Edition (J2EE) web applications using containers, connectors, and essential tools.
E N D
J2EE Scenario • Client – Web Server – EIS Resources • Client – Application Server – EIS Resources • Client – Web Server – Application Server – EIS Resources
Web Application • A web application is a collection of servlets, html pages, classes, and other resources that can be bundled and run on multiple containers from multiple vendors. • A Web application is located on a central server and provides service to a variety of clients. • Web applications provide dynamic and interactive content to browser-based clients.
JDK • All J2EE applications require the Java Developers Kit to run Java classes or the Java Virtual Machine (JVM). • Download JDK from java.sun.com for free • Configure several environment variables. JAVA_HOME CLASSPATH
Container • The container is an independent application that creates an environment for web components.
Functions of Container • Life cycle management for components. • Environment configuration. • Resources.
Web Container • An entity that implements the Web component contract of the J2EE architecture. • specify a runtime environment for Web components that includes security, concurrency, life cycle management, transaction, deployment, and other services • provide the same services as a JSP container and a federated view of the J2EE platform APIs. • can run a Web application that is tagged as distributable and that executes across multiple Java virtual machines running on the same host or on different hosts.
Web Container Provider • Open Source Tomcat …… • Business Product WebLogic WebShpere ……
Tomcat • Just a JSP, Servlets Container • jakarta.apache.org/tomcat/index.html
Application Container • An entity that implements the Java Classes contract of the J2EE architecture. • Java Classes include: EJB other Java Classes • access to the J2EE service and communication APIs.
Application Container Provider • Open Source JBOSS …… • Business Product WebLogic WebShpere Silverstream ……
Connectors • The connector is where the abstract really meets the concrete. • A connector is a translator between an enterprise information system and the J2EE interfaces. • Another type of connector, a JNDI Service Provider Interface, provides access to naming and directory services.
JDBC • a JDBC driver, provides access to databases.
JNDI • provides access to naming and directory services • provides a link between Java code and various naming and directory services such as Domain Name System (DNS), Novell Directory Service (NDS), CORBA, and Network Information System (NIS). • allows you to access code and resources across widely separated platforms and directory structures through the use of a simple naming scheme.
Tools • Ant • IDE Jbuilder NetBeans
Data format used in Web Application • HTML • JSP • Image files Gif JPEG • Class file Source code Complied code • XML • JAR file: used in J2EE for packaging EJBs and client-side Java Applications • WAR file: web applications made from Servlets, JSPs, and supporting classes • EAR file: contain all of the components that make up a particular J2EE application
Web Application can be exist in • WAR files • directory
Web Application Archive File • Web applications can be packaged and signed, using the standard Java Archive tools, into a Web ARchive format (war) file. • When packaged into such a form, a META-INF directory will be present which contains information useful to the Java Archive tools.
Root • The root of this hierarchy serves as a document root for serving files that are part of this context. • For example, a web application located at /catalog in a web server the index.html file located at the base of the web application hierarchy can be served to satisfy a request to /catalog/index.html.
WEB-INF • contains all things related to the application that aren’t in the document root of the application • WEB-INF node is not part of the public document tree of the application. No file contained in the WEB-INF directory may be served directly to a client.
Contents of the WEB-INF directory • /WEB-INF/web.xml deployment descriptor • /WEB-INF/classes/* directory for servlet and utility classes. • /WEB-INF/lib/*.jar area for Java Archive files which contain servlets, beans, and other utility classes useful to the web application.
Web.xml • The web.xml file format is defined in the Servlet Specification, so this file format will be used in every servlet-conforming Java servlet container. • This file format is used in two places in Tomcat: $CATALINA_BASE/conf directory each web application.
Deployment description of Web Application • Web.xml • The deployment elements that contain this information are: env-entry ejb-ref resource-ref
Example of Web.xml • <?xml version="1.0" encoding="UTF-8" ?> • <!DOCTYPE web-app (View Source for full doctype...)> • - <web-app> • <description>Oracle Test App</description> • - <listener> • <listener-class>StudentPackage.contextlisenter</listener-class> • </listener> • - <resource-ref> • <description>Oracle Datasource example</description> • <res-ref-name>jdbc/myoracle</res-ref-name> • <res-type>javax.sql.DataSource</res-type> • <res-auth>Container</res-auth> • </resource-ref> • </web-app>
Configure resources used by Web Application • use Server.xml to configure resources • Web container runs in an object-oriented way • dynamically builds its object structure at runtime, based on the configuration files • each major element in the server.xml file creates a software "object," and the ordering and nesting of these elements sets up processing pipelines that allow you to perform filtering, grouping.
Context in server.xml • A Context represents one web application within a Tomcat instance. • the web site is made up of one or more Contexts.
Example of Server.xml • <!-- buzzinservlet --> <Context path="/buzzin" docBase="/home/ian/javasrc/threads/buzzin" debug="0" reloadable="true"> </Context>