lab_7new
DESCRIPTION
Web Programming 2TRANSCRIPT
-
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