Sie sind auf Seite 1von 12

FP612 WEB PROGRAMMING II

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)

1 / 12

FP612 WEB PROGRAMMING II

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

2 / 12

FP612 WEB PROGRAMMING II

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

3 / 12

FP612 WEB PROGRAMMING II

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("<html><head><title> 1st Servlet </title></head><body><h1>"+message+" </h1></body></html>"); } 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

<html> <head> <title>The servlet example </title> </head> <body> <h1>A simple web application</h1> <form method="POST" action="WelcomeServlet"> <label for="name">Enter your name </label> <input type="text" id="name" name="name"/><br><br> <input type="submit" value="Submit Form"/> <input type="reset" value="Reset Form"/> </form> </body> </html>

4 / 12

FP612 WEB PROGRAMMING II

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("<html>"); out.println("<head>"); out.println("<title> A very simple servlet example</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>"+welcomeMessage+"</h1>"); out.println("<a href='Simple_form.html'>"+"Click here to go back to input page "+"</a>"); out.println("</body>"); out.println("</html>"); out.close(); } }
iii. Save the codes, run it and write your findings.

5 / 12

FP612 WEB PROGRAMMING II

Activity 3
Activity Outcome: Student knows how to use JDBC from a Servlets (MS Access). i. ii. iii. Create new database in Microsoft Access called Lab7, a table called student with the following data. (name,matric,gender,kelas) Create a new ODBC connection called connLab7 Create new HTML document and type in the following codes

<html> <head> <title>The servlet example </title> </head> <body> <h1>Student Details Application</h1> <form method="POST" action="StudDetails"> <label for="name">Name : </label> <input type="text" id="name" name="name"/><br><br> <label for="name">Matric Number: </label> <input type="text" id="matric" name="matric"/><br><br> <label for="name">Class: </label> <input type="text" id="class" name="class"/><br><br> <label for="name">Department: </label> <input type="text" id="matric" name="matric"/><br><br> <label for="name">Gender: </label> <input name="gender" type="radio" value="Female" />Female <input name="gender" type="radio" value="Male" />Male <br><br> <input type="submit" value="Submit Form"/> <input type="reset" value="Reset Form"/> </form> </body> </html>

6 / 12

FP612 WEB PROGRAMMING II

iv.

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

import import import import

java.io.*; javax.servlet.*; javax.servlet.http.*; 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+"<br>"); out.println("Matric Number:"+matric+"<br>"); out.println("Class:"+kelas+"<br>"); out.println("Gender:"+gender+"<br>"); try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); out.println("Driver loaded <br>"); Connection con=DriverManager.getConnection("jdbc:odbc:connLab7"); out.println("Database connected <br>"); 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

7 / 12

FP612 WEB PROGRAMMING II

Activity 4
Activity Outcome: Student knows how to use JDBC from a Servlets (MySQL). i. ii. iii. Create new database in MySQL called car, a table called carDetails and with the following data (maker,model,year,transmission,engine) Include mysql connector in your libraries Create new HTML document and type in the following codes

<html> <head> <title>The servlet example MySQL </title> </head> <body> <h1>Car Inventory System</h1> <form method="POST" action="proInventory"> <label for="name">Maker: </label> <select name="maker"> <option value="ford">Ford</option> <option value="chevrolet">Chevrolet</option> <option value="pontiac" >Pontiac</option> <option value="audi">Audi</option> <option value="hummer">Hummer</option> </select><br><br> <label for="name">Model: </label> <input type="text" id="model" name="model"/><br><br> <label for="name">Year: </label> <input type="text" id="year" name="year"/><br><br> <label for="name">Transmission: </label> <input name="trans" type="radio" value="manual" />Manual <input name="trans" type="radio" value="auto" />Auto <br><br> <label for="name">Engine Type: </label> <input type="text" id="engine" name="engine"/><br><br> <input type="submit" value="Submit Form"/> <input type="reset" value="Reset Form"/> </form> </body> </html>

8 / 12

FP612 WEB PROGRAMMING II

iv.

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

import import import import

java.io.*; javax.servlet.*; javax.servlet.http.*; 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 <br>"); Connection con =DriverManager.getConnection ("jdbc:mysql://localhost/car","root",""); out.println("Database connected <br>"); 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

9 / 12

FP612 WEB PROGRAMMING II

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 import import import public

java.text.*; java.util.*; javax.servlet.*; javax.servlet.http.*; 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("<html>"); out.println("<body bgcolor=\"lightblue\">"); out.println("<head>"); out.println("<title> A session example </title>"); out.println("</head>"); out.println("<body>"); out.println("<h1> A session example page 1</h1>"); out.println("<P>"); out.print("<form action=\""); out.print(response.encodeURL("MySession1")); out.print("\" "); out.println("method=POST>"); out.println("What's your name?"); out.println("<br>"); out.println("<input type=text size=20 name=myname>"); out.println("<br>"); out.println("<input type=submit>"); out.println("</form>");

10 / 12

FP612 WEB PROGRAMMING II

out.println("Welcome " + (String) session.getAttribute("userName") + "!"); out.println("<P><A HREF = \"MySession2\">go to page 2</A>"); out.println("</body>"); out.println("</html>"); 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); } }

11 / 12

FP612 WEB PROGRAMMING II

ii.

Create another servlet document called MySession2 and type in the following codes

import import import import import

java.io.*; java.text.*; java.util.*; javax.servlet.*; 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("<html>"); out.println("<body bgcolor=\"lightblue\">"); out.println("<head>"); out.println("<title> A session example </title>"); out.println("</head>"); out.println("<body>"); out.println("<h1> A session example page 2</h1>"); out.println("Welcome " + (String) session.getAttribute("userName") + "!"); out.println("<P><A HREF = \"MySession1\">go to page 1</A>"); out.println("</body>"); out.println("</html>"); out.close(); } }
iii. Run the coding and write your findings

12 / 12

Das könnte Ihnen auch gefallen