Bikin database pake MYSQL
· Create database pizza2; use pizza2;
· Create table pizzaorder(name varchar(25), type varchar(20), num varchar(4), size varchar(15), cheeze varchar(4), abc1 varchar(4), abc2 varchar(4), abc3 varchar(4), rate varchar(10), total varchar(10),d varchar(32));
· Untuk melihat isi database ketik select * from pizzaorder;
Koneksi antara MySQL, Tomcat 4.1 dan WTK25
· Cari file Servlet.jar yang ada pada C:\Tomcat 4.1\common\lib\
· Kemudian copy file Servlet.jar tersebut pada C:\Program Files\Java|jdk.5.0_10\bin\
· Copy file mysql-connector-java-5.0.7-bin.jar kepada C:\Tomcat 4.1\common\lib\
· Daftarkan file tersebut pada classpath yang ada pada Control Panel – System – Advanced – Environment Variables – System variables
Ø Bikin variable classpath dan isi value dengan C:\Program Files\Java\jdk1.5.0_10\bin\servlet.jar;C:\Tomcat 4.1\common\lib\mysql-connector-java-5.0.7-bin.jar
Ø Pada variable Path isi pada value dengan C:\Program Files\Java\jdk1.5.0_10\bin
Ø Kemudian OK
Bikin Servlet pada Tomcat 4.1
Pada folder C:\Tomcat 4.1\webapps Bikin file Pservlet dengan extensi XML, isinya
· Kemudian bikin folder PServlet, didalamnya bikin lagi folder WEB-INF, dan didalam folder WEB-INF bikin lagi folder classes
· Pada folder WEB-INF bikin file web yang berextensi XML, isinya
· Kemudian pada folder classes bikin sourcekode java untuk servlet pizza, simpan dengan nama Dummy.java
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class Dummy extends HttpServlet
{
private Connection con;
private PrintWriter out;
public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException
{
response.setContentType("text/plain");
PrintWriter out = response.getWriter();
java.util.Date d = new java.util.Date();
d.setMinutes(d.getMinutes() + 30);
out.println(d);
String name = request.getParameter("name");
String size = request.getParameter("size");
String type = request.getParameter("type");
String num = request.getParameter("num");
String cheeze = request.getParameter("cheeze");
String abc1= request.getParameter("abc1");
String abc2= request.getParameter("abc2");
String abc3= request.getParameter("abc3");
String rate = request.getParameter("total");
String total = request.getParameter("total_amount");
System.out.println("Size : " + size);
System.out.println("Type : " + type);
System.out.println("Number of Pizzas : " + num);
if(type.compareTo("0")==0)
{
type="Vegetarian Pizza";
}
if(type.compareTo("1")==0)
{
type="Cheeze Pizza";
}
if(type.compareTo("2")==0)
{
type="Mashroom Pizza";
}
if(type.compareTo("3")==0)
{
type="Mexican Pizza";
}
if(size.compareTo("0")==0)
{
size="Small";
}
if(size.compareTo("1")==0)
{
size="Medium";
}
if(size.compareTo("2")==0)
{
size="Large";
}
if(size.compareTo("3")==0)
{
size="Extra Large";
}
out.println("Costumer : "+name);
out.println("Type :"+type);
out.println("Number of Pizza :"+num);
out.println("Size : "+size);
out.println("Total cost : "+total);
try{
Class.forName("com.mysql.jdbc.Driver");
con =DriverManager.getConnection("jdbc:mysql://localhost:3306/pizza2","root","firda5");
Statement stmt = con.createStatement();
stmt.executeUpdate("insert into pizzaorder values('"+name+"','"+type +"'," + num + ",'" + size + "'," + cheeze + "," + abc1 + "," + abc2 + "," + abc3 + "," + rate + "," + total + ",'" + d + "')");
stmt.close();
con.close();
}catch(Exception e) {
System.err.println(e);
}
}
}
· Compile pada command prompt dengan cara buka folder C:\Tomcat 4.1\webapps\Pservlet\WEB-INF\classes\> javac Dummy.java
Bikin Servlet pada WTK25
· Jalankan program Sun Java(TM) Wireless Toolkit 2.5 for CLDC
· Bikin projeck baru dengan nama Pizza2, midlet class name Pizza2,
· Isi pada folder src yang ada pada projec pizza2 dengan sourcecode java simpan dengan nama Pizza2.java
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.*;
import javax.microedition.io.*;
public class Pizza2 extends MIDlet implements CommandListener,ItemStateListener
{
private Display display;
private Form form;
private Command exit,select;
private Command confirm;
private TextBox tx;
private String menuitem[]= {"Vegetarian Pizza\nRp.7000","Cheeze Pizza\nRp.9000","Mushrum Pizza\nRp.12000","Mexican Pizza\nRp.15000"};
private String sizes[] = {"Small","Medium","Large","Extra Large"};
private String toppings_str[] = {"Cheeze (Rp.1000 pp)","ABC1 (Rp.500 pp)","ABC2 (Rp.300 pp)","ABC3 (Rp.1500 pp)"};
private List menu;
private int index,amount=0;
private ChoiceGroup size,toppings;
private TextField name,num,t1,t2,t3,t4,total,total_amount;
String url = "http://127.0.0.1/PServlet/Pizza2?";
public Pizza2()
{
display = Display.getDisplay(this);
form = new Form("WelCome to Pizza Hut");
menu = new List("Select Pizza",Choice.IMPLICIT,menuitem,null);
exit = new Command("QUIT",Command.EXIT,0);
select = new Command("SELECT",Command.ITEM,0);
menu.addCommand(exit);
menu.addCommand(select);
menu.setCommandListener(this);
display.setCurrent(menu);
}
public void startApp()
{
}
public void destroyApp(boolean a)
{
notifyDestroyed();
}
public void pauseApp()
{
}
public void commandAction(Command c, Displayable d)
{
if(c==exit)
{
destroyApp(true);
}
if(c==select)
{
index = menu.getSelectedIndex();
showChoice();
}
if(c==confirm)
{
try{
Thread t = new InvokeServlet(url, name.getString(),index, size.getSelectedIndex(),Integer.parseInt(num.getString()),Integer.parseInt(t1.getString()),Integer.parseInt(t2.getString()),Integer.parseInt(t3.getString()),Integer.parseInt(t4.getString()),Integer.parseInt(total.getString()),Integer.parseInt(total_amount.getString()));
t.start();
display.setCurrent(tx);
}catch(Exception e){System.out.println(e);};
}
}
public void itemStateChanged(Item m)
{
if(m==size||m==t1||m==t2||m==t3||m==t4||m==num)
{
int at1 = Integer.parseInt(t1.getString());
int at2 = Integer.parseInt(t2.getString());
int at3 = Integer.parseInt(t3.getString());
int at4 = Integer.parseInt(t4.getString());
int amount1 = amount + (size.getSelectedIndex()*1000);
amount1 = amount1 + (at1*1000) + (at2*500) + (at3*300) + (at4*1500);
total.setString(amount1 + "");
if(num.getString()!="")
{
total_amount.setString((amount1*Integer.parseInt(num.getString())) + "");
}
}
}
public void showChoice()
{
form = new Form("Enter Details");
name = new TextField("Costumer : ","",20,TextField.ANY);
form.append(name);
form.append("---------------------------------\n");
num = new TextField("No. Of Pizzas : ","",2,TextField.NUMERIC);
form.append(num);
form.append("---------------------------------\n");
size = new ChoiceGroup("Select Size : ",Choice.EXCLUSIVE,sizes,null);
form.append(size);
form.append("---------------------------------\n");
form.append("Toppings : \n");
t1 = new TextField(toppings_str[0]+" ","0",2,TextField.NUMERIC);
t2 = new TextField(toppings_str[1]+" ","0",2,TextField.NUMERIC);
t3 = new TextField(toppings_str[2]+" ","0",2,TextField.NUMERIC);
t4 = new TextField(toppings_str[3]+" ","0",2,TextField.NUMERIC);
form.append(t1);
form.append(t2);
form.append(t3);
form.append(t4);
switch(index)
{
case 0:
amount = 7000;
break;
case 1:
amount = 9000;
break;
case 2:
amount = 12000;
break;
case 3:
amount = 15000;
break;
}
form.append("---------------------------------\n");
total = new TextField("Cost of 1 Pizza : ",amount+"",10,TextField.NUMERIC);
form.append(total);
total_amount = new TextField("Total Cost : ","",10,TextField.NUMERIC);
form.append(total_amount);
confirm = new Command("Confirm Order",Command.ITEM,0);
form.addCommand(confirm);
form.setCommandListener(this);
form.setItemStateListener(this);
display.setCurrent(form);
}
public class InvokeServlet extends Thread
{
private String url;
private String name;
private int type;
private int size;
private int num;
private int cheeze;
private int abc1;
private int abc2;
private int abc3;
private int total;
private int total_amount;
public InvokeServlet(String str,String name1,int type1,int size1,int num1,int cheeze,int abc1,int abc2,int abc3,int total,int total_amount)
{
url = str;
name= name1;
type=type1;
size=size1;
num=num1;
this.cheeze=cheeze;
this.abc1=abc1;
this.abc2=abc2;
this.abc3=abc3;
this.total=total;
this.total_amount=total_amount;
}
public void perform() throws Exception
{
HttpConnection c = null;
InputStream is = null;
StringBuffer b = new StringBuffer();
TextBox t = null;
OutputStream os = null;
try {
System.out.println("1");
url = url + "name=" + name;
url = url + "&type=" + type;
url = url + "&num=" + num;
url = url + "&size=" + size;
url = url + "&cheeze="+cheeze;
url = url + "&abc1="+abc1;
url = url + "&abc2="+abc2;
url = url + "&abc3="+abc3;
url = url + "&total="+total;
url = url + "&total_amount="+total_amount;
c = (HttpConnection)Connector.open(url);
c.setRequestMethod(HttpConnection.GET);
c.setRequestProperty("IF-Modified-Since","20 Jan 2001 16:19:14 GMT");
c.setRequestProperty("User-Agent","Profile/MIDP-1.0 Configuration/CLDC-1.0");
c.setRequestProperty("Content-Language", "en-CA");
System.out.println("2");
is = c.openDataInputStream();
int ch=amount;
// receive response and display it in a textbox.
while ((ch = is.read()) != -1)
{
b.append((char) ch);
}
System.out.println(b);
tx = new TextBox("First Servlet", b.toString(), 1024, 0);
os = c.openOutputStream();
System.out.println("costumer : "+ name);
os.write(("name=").getBytes());
os.flush();
}finally
{
if(is!= null)
{
is.close();
}
if(c != null)
{
c.close();
}
}
}
public void run()
{
try
{
perform();
}catch(Exception e){}
}
}
}
· Jalankan Program dan lihat hasil pemesanan pizzanya pada database di MySQL
·
Keterangan Tambahan
1. Untuk pengisian database juga bisa melaui brows di Internet Explorer, contoh dengan memasukkan alamat
http://localhost/PServlet/Pizza2?name=firman&size=3&type=4&num=3&cheeze=1&abc1=0&abc2=1&abc3=1&total=20800&total_amount=62400
2. Pada file Dummy.java sesuaikan pengisian user dan password MySQL yang terinstal pada komputer yang digunakan, misalnya
con =DriverManager.getConnection("jdbc:mysql://localhost:3306/pizza2","root","firda5");