lab_7new

Upload: muhamad-al-imran

Post on 18-Oct-2015

26 views

Category:

Documents


3 download

DESCRIPTION

Web Programming 2

TRANSCRIPT

  • FP612 WEB PROGRAMMING II

    1 / 12

    LAB 7: Servlets Duration : 6 Hours Learning Outcomes By the end of this lab, students should be able to :

    Explain architecture of Servlets

    Write a Java program using Servlets

    Apply Cookies and Session using Servlets Hardware/ Software : Personal Computer, Java Development Kit version 1.6.x., NetBeans IDE 6.x.x, Apache Tomcat 6.x.x

    Activity 1 Activity Outcome: Student knows how to run Java Servlet in NetBeans and the basic structure of Java Servlet. 1. CREATING SERVLET DOCUMENT USING NET BEAN

    i. To create your first Java Servlet, open your Net Beans program go to File > New Project >

    Categories: Java Web > Projects: Web Application > Next (Figure 1.0)

    Figure 1.0

    ii. Named your project as Lab7 > Next (Figure 1.1)

  • FP612 WEB PROGRAMMING II

    2 / 12

    Figure 1.1

    iii. Choose Apache Tomcat as your server

    Note: Apache Tomcat (or simply Tomcat, formerly also Jakarta Tomcat) is an open source web server and servlet container developed by the Apache Software Foundation (ASF). Tomcat implements the Java Servlet and the JavaServer Pages (JSP) specifications from Oracle Corporation, and provides a "pure Java" HTTP web server environment for Java code to run.

    Figure 1.2

  • FP612 WEB PROGRAMMING II

    3 / 12

    iv. To create a new servlet document, in your projects panel right-click on source packages > new >

    servlet (figure 1.3)

    Figure 1.3

    vi. Named your class as HeloWWW > Finish

    Figure 1.4

  • FP612 WEB PROGRAMMING II

    4 / 12

    vii. Type in the following codes, run the codes and write your findings

    import java.io.*;

    import javax.servlet.*;

    import javax.servlet.http.*;

    // Extend HttpServlet class

    public class HelloWWW extends HttpServlet {

    private String message;

    public void init() throws ServletException

    {

    // Do required initialization

    message = "Hello WWW";

    }

    public void doGet(HttpServletRequest request,

    HttpServletResponse response)

    throws ServletException, IOException

    {

    // Set response content type

    response.setContentType("text/html");

    // Actual logic goes here.

    PrintWriter out = response.getWriter();

    out.println(" 1st Servlet

    "+message+" ");

    }

    public void destroy()

    {

    // releases all the resources.

    }

    }

    Activity 2 Activity Outcome: Student knows how to use HTTP servlet.

    i. To create html document in NetBeans, in your Projects panel right-click folder Web Pages > HTML > named your file as form.html and type in the following codes

    The servlet example

    A simple web application

    Enter your name

  • FP612 WEB PROGRAMMING II

    5 / 12

    ii. Create a new servlet document and type in the following codes

    import java.io.*;

    import javax.servlet.*;

    import javax.servlet.http.*;

    public class WelcomeServlet extends HttpServlet {

    protected void doPost(HttpServletRequest request, HttpServletResponse

    response) throws ServletException, IOException {

    //Get the value of form parameter

    String name = request.getParameter("name");

    String welcomeMessage = "Welcome "+name;

    //Set the content type(MIME Type) of the response.

    response.setContentType("text/html");

    PrintWriter out = response.getWriter();

    //Write the HTML to the response

    out.println("");

    out.println("");

    out.println(" A very simple servlet example");

    out.println("");

    out.println("");

    out.println(""+welcomeMessage+"");

    out.println(""+"Click here to go back to

    input page "+"");

    out.println("");

    out.println("");

    out.close();

    }

    }

    iii. Save the codes, run it and write your findings.

  • FP612 WEB PROGRAMMING II

    6 / 12

    Activity 3 Activity Outcome: Student knows how to use JDBC from a Servlets (MS Access).

    i. Create new database in Microsoft Access called Lab7, a table called student with the following data. (name,matric,gender,kelas)

    ii. Create a new ODBC connection called connLab7 iii. Create new HTML document and type in the following codes

    The servlet example

    Student Details Application

    Name :

    Matric Number:

    Class:

    Department:

    Gender:

    Female

    Male

  • FP612 WEB PROGRAMMING II

    7 / 12

    iv. Create a new servlet document called StudDetails and type in the following codes

    import java.io.*;

    import javax.servlet.*;

    import javax.servlet.http.*;

    import java.sql.*;

    public class StudDetails extends HttpServlet {

    public void doPost(HttpServletRequest req,HttpServletResponse res)

    throws ServletException,IOException {

    String name=req.getParameter("name");

    String matric=req.getParameter("matric");

    String kelas=req.getParameter("class");

    String gender=req.getParameter("gender");

    res.setContentType("text/html");

    PrintWriter out = res.getWriter();

    out.println("Name:"+name+"");

    out.println("Matric Number:"+matric+"");

    out.println("Class:"+kelas+"");

    out.println("Gender:"+gender+"");

    try {

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

    out.println("Driver loaded ");

    Connection con=DriverManager.getConnection("jdbc:odbc:connLab7");

    out.println("Database connected ");

    Statement stmt=con.createStatement();

    int i=stmt.executeUpdate("insert into

    student(name,matric,gender,kelas)

    values('"+name+"','"+matric+"','"+gender+"','"+kelas+"')");

    out.println("Data successfully added!");

    con.close();

    }

    catch(Exception e){

    System.out.println(e);

    }

    }

    }

    v. Run the coding and write your findings

  • FP612 WEB PROGRAMMING II

    8 / 12

    Activity 4

    Activity Outcome: Student knows how to use JDBC from a Servlets (MySQL).

    i. Create new database in MySQL called car, a table called carDetails and with the following data (maker,model,year,transmission,engine)

    ii. Include mysql connector in your libraries iii. Create new HTML document and type in the following codes

    The servlet example MySQL

    Car Inventory System

    Maker:

    Ford

    Chevrolet

    Pontiac

    Audi

    Hummer

    Model:

    Year:

    Transmission:

    Manual

    Auto

    Engine Type:

  • FP612 WEB PROGRAMMING II

    9 / 12

    iv. Create a new servlet document called proInventory and type in the following codes

    import java.io.*;

    import javax.servlet.*;

    import javax.servlet.http.*;

    import java.sql.*;

    public class proInventory extends HttpServlet {

    public void service(HttpServletRequest req,HttpServletResponse res)

    throws ServletException,IOException {

    String maker=req.getParameter("maker");

    String model=req.getParameter("model");

    String str=req.getParameter("year");

    int year=Integer.parseInt(str);

    String trans=req.getParameter("trans");

    String engine=req.getParameter("engine");

    res.setContentType("text/html");

    PrintWriter out = res.getWriter();

    try {

    Class.forName("com.mysql.jdbc.Driver");

    out.println("Driver loaded ");

    Connection con =DriverManager.getConnection

    ("jdbc:mysql://localhost/car","root","");

    out.println("Database connected ");

    Statement stmt = con.createStatement();

    stmt.executeUpdate("insert into

    car(maker,model,year,transmission,engine)

    values('"+maker+"','"+model+"','"+year+"','"+trans+"','"+engine+"')");

    out.println("Data successfully added!");

    con.close();

    }

    catch(Exception e){

    System.out.println(e);

    }

    }

    }

    v. Run the coding and write your findings

  • FP612 WEB PROGRAMMING II

    10 / 12

    Activity 5

    Activity Outcome: Student knows how to using Cookies and Session tracking using Servlets

    i. Create new servlet document called MySession1 and type in the following codes

    import java.io.*;

    import java.text.*;

    import java.util.*;

    import javax.servlet.*;

    import javax.servlet.http.*;

    public class MySession1 extends HttpServlet {

    HttpSession session;

    public void doGet(HttpServletRequest request,

    HttpServletResponse response)

    throws IOException, ServletException

    {

    response.setContentType("text/html");

    // session is retrieved before getting the writer

    session = request.getSession(true);

    if (session.getAttribute("userName") == null) {

    session.setAttribute("userName", "Stranger");

    }

    PrintWriter out = response.getWriter();

    out.println("");

    out.println("");

    out.println("");

    out.println(" A session example ");

    out.println("");

    out.println("");

    out.println(" A session example page 1");

    out.println("");

    out.print("");

    out.println("What's your name?");

    out.println("");

    out.println("");

    out.println("");

    out.println("");

    out.println("");

  • FP612 WEB PROGRAMMING II

    11 / 12

    out.println("Welcome " + (String) session.getAttribute("userName")

    + "!");

    out.println("go to page 2");

    out.println("");

    out.println("");

    out.close();

    }

    public void doPost(HttpServletRequest request,

    HttpServletResponse response)

    throws IOException, ServletException

    {

    session = request.getSession(true);

    session.setAttribute("userName", request.getParameter("myname"));

    doGet(request, response);

    }

    }

  • FP612 WEB PROGRAMMING II

    12 / 12

    ii. Create another servlet document called MySession2 and type in the following codes import java.io.*;

    import java.text.*;

    import java.util.*;

    import javax.servlet.*;

    import javax.servlet.http.*;

    public class MySession2 extends HttpServlet {

    public void doGet(HttpServletRequest request,

    HttpServletResponse response)

    throws IOException, ServletException

    {

    response.setContentType("text/html");

    HttpSession session = request.getSession(true);

    if (session.getAttribute("userName") == null) {

    session.setAttribute("userName", "Stranger");

    }

    PrintWriter out = response.getWriter();

    out.println("");

    out.println("");

    out.println("");

    out.println(" A session example ");

    out.println("");

    out.println("");

    out.println(" A session example page 2");

    out.println("Welcome " + (String) session.getAttribute("userName")

    + "!");

    out.println("go to page 1");

    out.println("");

    out.println("");

    out.close();

    }

    }

    iii. Run the coding and write your findings