SlideShare uma empresa Scribd logo
1 de 20
I
       •Servlets

 II
       •Java Server Pages (JSP)

III
       •Preparing the Dev. Enviornment

IV
       •Web-App Folders and Hierarchy

 V
       •Writing the First Servlet

VII
       •Compiling

VIII
       •Deploying a Sample Servlet (Packaged & Unpackaged)

VI
       •Writing the First JSP
   A servlet is a Java programming language class used to extend the
    capabilities of servers that host applications accessed via a request-
    response programming model

   A servlet is like any other java class

   Although servlets can respond to any type of request, they are
    commonly used to extend the applications hosted by Web servers
   Use regular HTML for most of page

   Mark dynamic content with special tags

   A JSP technically gets converted to a servlet but it looks more like
    PHP files where you embed the java into HTML.

   The character sequences <% and %> enclose Java expressions, which
    are evaluated at run time

                        <%= new java.util.Date() %>
   Java Development Kit (JDK)
    ◦ http://www.oracle.com/technetwork/java/javase/downloads/index.html


   Apache Tomcat webserver
    ◦ http://tomcat.apache.org/download-70.cgi


   Set JAVA_HOME Environmental Variable
    ◦   Right click on “Computer” (Win 7), and click on “Properties”
    ◦   Click on “Advanced System Settings” on top right corner
    ◦   On the new window opened click on “Environment Variables”
    ◦   In the “System Variables” section, the upper part of the window, click on “New…”
           Variable name: JAVA_HOME
           Variable value: Path to the jdk directory (in my case C:Program FilesJavajdk1.6.0_21)
    ◦ Click on “OK”
   Set CATALINA_HOME Environmental Variable
    ◦   Right click on “Computer” (Win 7), and click on “Properties”
    ◦   Click on “Advanced System Settings” on top right corner
    ◦   On the new window opened click on “Environment Variables”
    ◦   In the “System Variables” section, the upper part of the window, click on “New…”
           Variable name: CATALINA_HOME
           Variable value: Path to the apache-tomcat directory (in my case D:Serversapache-tomcat-
            7.0.12-windows-x86apache-tomcat-7.0.12)
    ◦ Click on “OK”


    Note: You might need to restart your computer after adding environmental variables to
                                make changes to take effect
   In your browser type: localhost:8080
    ◦ If tomcat’s page is opened then the webserver installation was successful




   Check JAVA_HOME variable:
    ◦ in command prompt type: echo %JAVA_HOME%
    ◦ Check to see the variable value and if it is set correctly
   All the content should be placed under tomcat’s “webapps” directory
• $CATALINA_HOMEwebappshelloservlet": This directory is known as context root for the web context
  "helloservlet". It contains the resources that are visible by the clients, such as HTML, CSS, Scripts and
  images. These resources will be delivered to the clients as it is. You could create sub-directories such as
  images, css and scripts, to further categories the resources accessible by clients.


• "$CATALINA_HOMEwebappshelloservletWEB-INF": This is a hidden directory that is used by the server.
  It is NOT accessible by the clients directly (for security reason). This is where you keep your application-
  specific configuration files such as "web.xml" (which we will elaborate later). It's sub-directories contain
  program classes, source files, and libraries.


• "$CATALINA_HOMEwebappshelloservletWEB-INFsrc": Keep the Java program source files. It is
  optional but a good practice to separate the source files and classes to facilitate deployment.


• "$CATALINA_HOMEwebappshelloservletWEB-INFclasses": Keep the Java classes (compiled from the
  source codes). Classes defined in packages must be kept according to the package directory structure.


• "$CATALINA_HOMEwebappshelloservletWEB-INFlib": keep the libraries (JAR-files), which are provided
  by other packages, available to this webapp only.
<HTML>
<HEAD>
<TITLE>Introductions</TITLE>
</HEAD>
<BODY>
<FORM METHOD=GET ACTION="/servlet/Hello">
If you don't mind me asking, what is your name?
<INPUT TYPE=TEXT NAME="name"><P>
<INPUT TYPE=SUBMIT>
</FORM>
</BODY>
</HTML>
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class Hello extends HttpServlet {

    public void doGet(HttpServletRequest req, HttpServletResponse res)
                      throws ServletException, IOException {

        res.setContentType("text/html");
        PrintWriter out = res.getWriter();

        String name = req.getParameter("name");
        out.println("<HTML>");
        out.println("<HEAD><TITLE>Hello, " + name + "</TITLE></HEAD>");
        out.println("<BODY>");
        out.println("Hello, " + name);
        out.println("</BODY></HTML>");
    }

    public String getServletInfo() {
      return "A servlet that knows the name of the person to whom it's" +
           "saying hello";
    }
}
   The web.xml file
    defines each
    servlet and JSP      <?xml version="1.0" encoding="ISO-8859-1"?>
    page within a Web
    Application.         <!DOCTYPE web-app
                           PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
                           "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
   The file goes into
    the WEB-INF          <web-app>
    directory              <servlet>
                             <servlet-name>
                               hi
                             </servlet-name>
                             <servlet-class>
                               HelloWorld
                             </servlet-class>
                           </servlet>
                           <servlet-mapping>
                             <servlet-name>
                               hi
                             </servlet-name>
                             <url-pattern>
                               /hello.html
                             </url-pattern>
                           </servlet-mapping>
                         </web-app>
   Compile the packages:
    "C:Program FilesJavajdk1.6.0_17binjavac" <Package Name>*.java -d .


   If external (outside the current working directory) classes and
    libraries are used, we will need to explicitly define the CLASSPATH to
    list all the directories which contain used classes and libraries
    set CLASSPATH=C:libjarsclassifier.jar ;C:UserProfilingjarsprofiles.jar


   -d (directory)
    ◦ Set the destination directory for class files. The destination directory must
      already exist.
    ◦ If a class is part of a package, javac puts the class file in a subdirectory
      reflecting the package name, creating directories as needed.

   -classpath
    ◦ Set the user class path, overriding the user class path in the CLASSPATH environment
      variable.
    ◦ If neither CLASSPATH or -classpath is specified, the user class path consists of the
      current directory
                 java -classpath C:javaMyClasses utility.myapp.Cool
   What does the following command do?




    Javac –classpath .;..classes;”D:Serversapache-
    tomcat-6.0.26-windows-x86apache-tomcat-
    6.0.26libservlet-api.jar” src*.java –d ./test
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class SimpleCounter extends HttpServlet {

    int count = 0;

    public void doGet(HttpServletRequest req, HttpServletResponse res)
                         throws ServletException, IOException {
      res.setContentType("text/plain");
      PrintWriter out = res.getWriter();
      count++;
      out.println("Since loading, this servlet has been accessed " +
              count + " times.");
    }
}
JSP
HTML
                                      <HTML>
<HTML>
                                      <BODY>
<BODY>
Hello, world                          Hello! The time is now <%= new java.util.Date() %>
</BODY>                               </BODY>
</HTML>                               </HTML>




                  Same as HTML, but just save it with .jsp extension
AUA – CoE
Apr.11, Spring 2012
1. Hashtable is synchronized, whereas HashMap is not.
    1. This makes HashMap better for non-threaded applications, as
       unsynchronized Objects typically perform better than synchronized ones.


2. Hashtable does not allow null keys or values. HashMap allows one null key and
   any number of null values.

Mais conteúdo relacionado

Mais procurados

[Strukelj] Why will Java 7.0 be so cool
[Strukelj] Why will Java 7.0 be so cool[Strukelj] Why will Java 7.0 be so cool
[Strukelj] Why will Java 7.0 be so cool
javablend
 
Javax.servlet,http packages
Javax.servlet,http packagesJavax.servlet,http packages
Javax.servlet,http packages
vamsi krishna
 
Servletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,postServletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,post
vamsi krishna
 
SBT by Aform Research, Saulius Valatka
SBT by Aform Research, Saulius ValatkaSBT by Aform Research, Saulius Valatka
SBT by Aform Research, Saulius Valatka
Vasil Remeniuk
 

Mais procurados (20)

Maven in Mule
Maven in MuleMaven in Mule
Maven in Mule
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Tomcat + other things
Tomcat + other thingsTomcat + other things
Tomcat + other things
 
Servlets 3.0 - Asynchronous, Extensibility, Ease-of-use @ JavaOne Brazil 2010
Servlets 3.0 - Asynchronous, Extensibility, Ease-of-use @ JavaOne Brazil 2010Servlets 3.0 - Asynchronous, Extensibility, Ease-of-use @ JavaOne Brazil 2010
Servlets 3.0 - Asynchronous, Extensibility, Ease-of-use @ JavaOne Brazil 2010
 
JAVA Servlets
JAVA ServletsJAVA Servlets
JAVA Servlets
 
Knowledge Sharing : Java Servlet
Knowledge Sharing : Java ServletKnowledge Sharing : Java Servlet
Knowledge Sharing : Java Servlet
 
[Strukelj] Why will Java 7.0 be so cool
[Strukelj] Why will Java 7.0 be so cool[Strukelj] Why will Java 7.0 be so cool
[Strukelj] Why will Java 7.0 be so cool
 
Mule esb
Mule esbMule esb
Mule esb
 
Lecture 2: Servlets
Lecture 2:  ServletsLecture 2:  Servlets
Lecture 2: Servlets
 
jsp MySQL database connectivity
jsp MySQL database connectivityjsp MySQL database connectivity
jsp MySQL database connectivity
 
Maven
MavenMaven
Maven
 
Maven
MavenMaven
Maven
 
Running ms sql stored procedures in mule
Running ms sql stored procedures in muleRunning ms sql stored procedures in mule
Running ms sql stored procedures in mule
 
Java/Servlet/JSP/JDBC
Java/Servlet/JSP/JDBCJava/Servlet/JSP/JDBC
Java/Servlet/JSP/JDBC
 
Javax.servlet,http packages
Javax.servlet,http packagesJavax.servlet,http packages
Javax.servlet,http packages
 
Servlets
ServletsServlets
Servlets
 
Lecture 5 JSTL, custom tags, maven
Lecture 5   JSTL, custom tags, mavenLecture 5   JSTL, custom tags, maven
Lecture 5 JSTL, custom tags, maven
 
Data Access with JDBC
Data Access with JDBCData Access with JDBC
Data Access with JDBC
 
Servletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,postServletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,post
 
SBT by Aform Research, Saulius Valatka
SBT by Aform Research, Saulius ValatkaSBT by Aform Research, Saulius Valatka
SBT by Aform Research, Saulius Valatka
 

Destaque (6)

Ayb School Presentation
Ayb School PresentationAyb School Presentation
Ayb School Presentation
 
Irt
IrtIrt
Irt
 
2006 Philippine eLearning Society National Conference
2006 Philippine eLearning Society National Conference2006 Philippine eLearning Society National Conference
2006 Philippine eLearning Society National Conference
 
Learn How SMBs Are Cutting IT Costs By Over 50%
Learn How SMBs Are Cutting IT Costs By Over 50%Learn How SMBs Are Cutting IT Costs By Over 50%
Learn How SMBs Are Cutting IT Costs By Over 50%
 
Tect presentation classroom_based_technology_v2010-12-1
Tect presentation classroom_based_technology_v2010-12-1Tect presentation classroom_based_technology_v2010-12-1
Tect presentation classroom_based_technology_v2010-12-1
 
Tetc 2010 preso
Tetc 2010 presoTetc 2010 preso
Tetc 2010 preso
 

Semelhante a Cis 274 intro

Html servlet example
Html   servlet exampleHtml   servlet example
Html servlet example
rvpprash
 
Java Servlets
Java ServletsJava Servlets
Java Servlets
Nitin Pai
 
Jsp and Servlets
Jsp and ServletsJsp and Servlets
Jsp and Servlets
Raghu nath
 
Chapter 3 servlet & jsp
Chapter 3 servlet & jspChapter 3 servlet & jsp
Chapter 3 servlet & jsp
Jafar Nesargi
 
01 web-apps
01 web-apps01 web-apps
01 web-apps
snopteck
 

Semelhante a Cis 274 intro (20)

Html servlet example
Html   servlet exampleHtml   servlet example
Html servlet example
 
Java Servlets & JSP
Java Servlets & JSPJava Servlets & JSP
Java Servlets & JSP
 
Java Servlets
Java ServletsJava Servlets
Java Servlets
 
Jdbc
JdbcJdbc
Jdbc
 
Jsp and Servlets
Jsp and ServletsJsp and Servlets
Jsp and Servlets
 
Java servlet technology
Java servlet technologyJava servlet technology
Java servlet technology
 
Web container and Apache Tomcat
Web container and Apache TomcatWeb container and Apache Tomcat
Web container and Apache Tomcat
 
Lect06 tomcat1
Lect06 tomcat1Lect06 tomcat1
Lect06 tomcat1
 
Tomcat server
 Tomcat server Tomcat server
Tomcat server
 
Web Applications and Deployment
Web Applications and DeploymentWeb Applications and Deployment
Web Applications and Deployment
 
Chapter 3 servlet & jsp
Chapter 3 servlet & jspChapter 3 servlet & jsp
Chapter 3 servlet & jsp
 
Advance Java Topics (J2EE)
Advance Java Topics (J2EE)Advance Java Topics (J2EE)
Advance Java Topics (J2EE)
 
01 web-apps
01 web-apps01 web-apps
01 web-apps
 
01 web-apps
01 web-apps01 web-apps
01 web-apps
 
Servlets 3.0 - Asynchronous, Easy, Extensible @ Silicon Valley Code Camp 2010
Servlets 3.0 - Asynchronous, Easy, Extensible @ Silicon Valley Code Camp 2010Servlets 3.0 - Asynchronous, Easy, Extensible @ Silicon Valley Code Camp 2010
Servlets 3.0 - Asynchronous, Easy, Extensible @ Silicon Valley Code Camp 2010
 
bjhbj
bjhbjbjhbj
bjhbj
 
AJppt.pptx
AJppt.pptxAJppt.pptx
AJppt.pptx
 
JavaOne India 2011 - Servlets 3.0
JavaOne India 2011 - Servlets 3.0JavaOne India 2011 - Servlets 3.0
JavaOne India 2011 - Servlets 3.0
 
J2EE - JSP-Servlet- Container - Components
J2EE - JSP-Servlet- Container - ComponentsJ2EE - JSP-Servlet- Container - Components
J2EE - JSP-Servlet- Container - Components
 
Java EE 02-First Servlet
Java EE 02-First ServletJava EE 02-First Servlet
Java EE 02-First Servlet
 

Último

Último (20)

Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

Cis 274 intro

  • 1.
  • 2. I •Servlets II •Java Server Pages (JSP) III •Preparing the Dev. Enviornment IV •Web-App Folders and Hierarchy V •Writing the First Servlet VII •Compiling VIII •Deploying a Sample Servlet (Packaged & Unpackaged) VI •Writing the First JSP
  • 3. A servlet is a Java programming language class used to extend the capabilities of servers that host applications accessed via a request- response programming model  A servlet is like any other java class  Although servlets can respond to any type of request, they are commonly used to extend the applications hosted by Web servers
  • 4. Use regular HTML for most of page  Mark dynamic content with special tags  A JSP technically gets converted to a servlet but it looks more like PHP files where you embed the java into HTML.  The character sequences <% and %> enclose Java expressions, which are evaluated at run time <%= new java.util.Date() %>
  • 5.
  • 6. Java Development Kit (JDK) ◦ http://www.oracle.com/technetwork/java/javase/downloads/index.html  Apache Tomcat webserver ◦ http://tomcat.apache.org/download-70.cgi  Set JAVA_HOME Environmental Variable ◦ Right click on “Computer” (Win 7), and click on “Properties” ◦ Click on “Advanced System Settings” on top right corner ◦ On the new window opened click on “Environment Variables” ◦ In the “System Variables” section, the upper part of the window, click on “New…”  Variable name: JAVA_HOME  Variable value: Path to the jdk directory (in my case C:Program FilesJavajdk1.6.0_21) ◦ Click on “OK”
  • 7. Set CATALINA_HOME Environmental Variable ◦ Right click on “Computer” (Win 7), and click on “Properties” ◦ Click on “Advanced System Settings” on top right corner ◦ On the new window opened click on “Environment Variables” ◦ In the “System Variables” section, the upper part of the window, click on “New…”  Variable name: CATALINA_HOME  Variable value: Path to the apache-tomcat directory (in my case D:Serversapache-tomcat- 7.0.12-windows-x86apache-tomcat-7.0.12) ◦ Click on “OK” Note: You might need to restart your computer after adding environmental variables to make changes to take effect
  • 8. In your browser type: localhost:8080 ◦ If tomcat’s page is opened then the webserver installation was successful  Check JAVA_HOME variable: ◦ in command prompt type: echo %JAVA_HOME% ◦ Check to see the variable value and if it is set correctly
  • 9. All the content should be placed under tomcat’s “webapps” directory
  • 10. • $CATALINA_HOMEwebappshelloservlet": This directory is known as context root for the web context "helloservlet". It contains the resources that are visible by the clients, such as HTML, CSS, Scripts and images. These resources will be delivered to the clients as it is. You could create sub-directories such as images, css and scripts, to further categories the resources accessible by clients. • "$CATALINA_HOMEwebappshelloservletWEB-INF": This is a hidden directory that is used by the server. It is NOT accessible by the clients directly (for security reason). This is where you keep your application- specific configuration files such as "web.xml" (which we will elaborate later). It's sub-directories contain program classes, source files, and libraries. • "$CATALINA_HOMEwebappshelloservletWEB-INFsrc": Keep the Java program source files. It is optional but a good practice to separate the source files and classes to facilitate deployment. • "$CATALINA_HOMEwebappshelloservletWEB-INFclasses": Keep the Java classes (compiled from the source codes). Classes defined in packages must be kept according to the package directory structure. • "$CATALINA_HOMEwebappshelloservletWEB-INFlib": keep the libraries (JAR-files), which are provided by other packages, available to this webapp only.
  • 11. <HTML> <HEAD> <TITLE>Introductions</TITLE> </HEAD> <BODY> <FORM METHOD=GET ACTION="/servlet/Hello"> If you don't mind me asking, what is your name? <INPUT TYPE=TEXT NAME="name"><P> <INPUT TYPE=SUBMIT> </FORM> </BODY> </HTML>
  • 12. import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Hello extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("text/html"); PrintWriter out = res.getWriter(); String name = req.getParameter("name"); out.println("<HTML>"); out.println("<HEAD><TITLE>Hello, " + name + "</TITLE></HEAD>"); out.println("<BODY>"); out.println("Hello, " + name); out.println("</BODY></HTML>"); } public String getServletInfo() { return "A servlet that knows the name of the person to whom it's" + "saying hello"; } }
  • 13. The web.xml file defines each servlet and JSP <?xml version="1.0" encoding="ISO-8859-1"?> page within a Web Application. <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">  The file goes into the WEB-INF <web-app> directory <servlet> <servlet-name> hi </servlet-name> <servlet-class> HelloWorld </servlet-class> </servlet> <servlet-mapping> <servlet-name> hi </servlet-name> <url-pattern> /hello.html </url-pattern> </servlet-mapping> </web-app>
  • 14. Compile the packages: "C:Program FilesJavajdk1.6.0_17binjavac" <Package Name>*.java -d .  If external (outside the current working directory) classes and libraries are used, we will need to explicitly define the CLASSPATH to list all the directories which contain used classes and libraries set CLASSPATH=C:libjarsclassifier.jar ;C:UserProfilingjarsprofiles.jar  -d (directory) ◦ Set the destination directory for class files. The destination directory must already exist. ◦ If a class is part of a package, javac puts the class file in a subdirectory reflecting the package name, creating directories as needed.  -classpath ◦ Set the user class path, overriding the user class path in the CLASSPATH environment variable. ◦ If neither CLASSPATH or -classpath is specified, the user class path consists of the current directory java -classpath C:javaMyClasses utility.myapp.Cool
  • 15. What does the following command do? Javac –classpath .;..classes;”D:Serversapache- tomcat-6.0.26-windows-x86apache-tomcat- 6.0.26libservlet-api.jar” src*.java –d ./test
  • 16.
  • 17. import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class SimpleCounter extends HttpServlet { int count = 0; public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("text/plain"); PrintWriter out = res.getWriter(); count++; out.println("Since loading, this servlet has been accessed " + count + " times."); } }
  • 18. JSP HTML <HTML> <HTML> <BODY> <BODY> Hello, world Hello! The time is now <%= new java.util.Date() %> </BODY> </BODY> </HTML> </HTML>  Same as HTML, but just save it with .jsp extension
  • 19. AUA – CoE Apr.11, Spring 2012
  • 20. 1. Hashtable is synchronized, whereas HashMap is not. 1. This makes HashMap better for non-threaded applications, as unsynchronized Objects typically perform better than synchronized ones. 2. Hashtable does not allow null keys or values. HashMap allows one null key and any number of null values.