From 73b35b1c6bde2fe3e7be6d4620b698e164e2acc2 Mon Sep 17 00:00:00 2001 From: sajan-ahlawat <61238606+sajan-ahlawat@users.noreply.github.com> Date: Mon, 20 Apr 2020 21:08:35 +0530 Subject: [PATCH] Sajan1710991701 --- .../WEB-INF/classes/obs/Cart.class | Bin 0 -> 3214 bytes .../WEB-INF/classes/obs/Cart.java | 171 ++++++++++++++ .../WEB-INF/classes/obs/Customer.java | 200 +++++++++++++++++ .../WEB-INF/classes/obs/Item.class | Bin 0 -> 783 bytes .../WEB-INF/classes/obs/Item.java | 43 ++++ .../WEB-INF/classes/obs/User.class | Bin 0 -> 4055 bytes .../WEB-INF/classes/obs/User.java | 210 ++++++++++++++++++ .../WEB-INF/classes/obs/home.jsp | 7 + .../WEB-INF/classes/obs/s.bat | 3 + .../WEB-INF/lib/order_client.jar | Bin 0 -> 1493 bytes .../Online Book Store/WEB-INF/web.xml | 13 ++ .../Online Book Store/addbook.jsp | 21 ++ .../Online Book Store/browsebooks.jsp | 42 ++++ .../Online Book Store/changeprofile.html | 68 ++++++ .../Online Book Store/changeprofile.jsp | 94 ++++++++ .../Online Book Store/deleteorder.jsp | 30 +++ .../Online Book Store/gohome.jsp | 8 + .../Online Book Store/home.jsp | 159 +++++++++++++ .../Online Book Store/image.gif | Bin 0 -> 9558 bytes .../Online Book Store/listbooks.jsp | 58 +++++ .../Online Book Store/login.html | 54 +++++ .../Online Book Store/login.jsp | 25 +++ .../Online Book Store/logout.jsp | 4 + .../Online Book Store/order/Client.java | 34 +++ .../Online Book Store/order/Item.java | 45 ++++ .../Online Book Store/order/Order.java | 13 ++ .../Online Book Store/order/OrderBean.java | 153 +++++++++++++ .../Online Book Store/order/OrderHome.java | 9 + .../Online Book Store/order/Se.bat | 4 + .../Online Book Store/order/application.xml | 14 ++ .../Online Book Store/order/build.xml | 74 ++++++ .../order/build/META-INF/ejb-jar.xml | 19 ++ .../order/build/META-INF/weblogic-ejb-jar.xml | 13 ++ .../order/build/obs/Item.class | Bin 0 -> 783 bytes .../order/build/obs/order/Order.class | Bin 0 -> 284 bytes .../order/build/obs/order/OrderBean.class | Bin 0 -> 2726 bytes .../order/build/obs/order/OrderHome.class | Bin 0 -> 259 bytes .../Online Book Store/order/ejb-jar.xml | 19 ++ .../order/examples.properties | 24 ++ .../Online Book Store/order/setclientenv.bat | 4 + .../order/weblogic-ejb-jar.xml | 13 ++ .../Online Book Store/orderitems.jsp | 91 ++++++++ .../Online Book Store/ordershistory.jsp | 107 +++++++++ .../Online Book Store/querybooks.jsp | 87 ++++++++ .../Online Book Store/register.html | 68 ++++++ .../Online Book Store/register.jsp | 29 +++ .../Online Book Store/tables.txt | 79 +++++++ .../Project Abstract_Instructions.doc | Bin 0 -> 38400 bytes Online Book Store Project in JAVA/Readme.docx | Bin 0 -> 4508 bytes 49 files changed, 2109 insertions(+) create mode 100644 Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/Cart.class create mode 100644 Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/Cart.java create mode 100644 Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/Customer.java create mode 100644 Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/Item.class create mode 100644 Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/Item.java create mode 100644 Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/User.class create mode 100644 Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/User.java create mode 100644 Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/home.jsp create mode 100644 Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/s.bat create mode 100644 Online Book Store Project in JAVA/Online Book Store/WEB-INF/lib/order_client.jar create mode 100644 Online Book Store Project in JAVA/Online Book Store/WEB-INF/web.xml create mode 100644 Online Book Store Project in JAVA/Online Book Store/addbook.jsp create mode 100644 Online Book Store Project in JAVA/Online Book Store/browsebooks.jsp create mode 100644 Online Book Store Project in JAVA/Online Book Store/changeprofile.html create mode 100644 Online Book Store Project in JAVA/Online Book Store/changeprofile.jsp create mode 100644 Online Book Store Project in JAVA/Online Book Store/deleteorder.jsp create mode 100644 Online Book Store Project in JAVA/Online Book Store/gohome.jsp create mode 100644 Online Book Store Project in JAVA/Online Book Store/home.jsp create mode 100644 Online Book Store Project in JAVA/Online Book Store/image.gif create mode 100644 Online Book Store Project in JAVA/Online Book Store/listbooks.jsp create mode 100644 Online Book Store Project in JAVA/Online Book Store/login.html create mode 100644 Online Book Store Project in JAVA/Online Book Store/login.jsp create mode 100644 Online Book Store Project in JAVA/Online Book Store/logout.jsp create mode 100644 Online Book Store Project in JAVA/Online Book Store/order/Client.java create mode 100644 Online Book Store Project in JAVA/Online Book Store/order/Item.java create mode 100644 Online Book Store Project in JAVA/Online Book Store/order/Order.java create mode 100644 Online Book Store Project in JAVA/Online Book Store/order/OrderBean.java create mode 100644 Online Book Store Project in JAVA/Online Book Store/order/OrderHome.java create mode 100644 Online Book Store Project in JAVA/Online Book Store/order/Se.bat create mode 100644 Online Book Store Project in JAVA/Online Book Store/order/application.xml create mode 100644 Online Book Store Project in JAVA/Online Book Store/order/build.xml create mode 100644 Online Book Store Project in JAVA/Online Book Store/order/build/META-INF/ejb-jar.xml create mode 100644 Online Book Store Project in JAVA/Online Book Store/order/build/META-INF/weblogic-ejb-jar.xml create mode 100644 Online Book Store Project in JAVA/Online Book Store/order/build/obs/Item.class create mode 100644 Online Book Store Project in JAVA/Online Book Store/order/build/obs/order/Order.class create mode 100644 Online Book Store Project in JAVA/Online Book Store/order/build/obs/order/OrderBean.class create mode 100644 Online Book Store Project in JAVA/Online Book Store/order/build/obs/order/OrderHome.class create mode 100644 Online Book Store Project in JAVA/Online Book Store/order/ejb-jar.xml create mode 100644 Online Book Store Project in JAVA/Online Book Store/order/examples.properties create mode 100644 Online Book Store Project in JAVA/Online Book Store/order/setclientenv.bat create mode 100644 Online Book Store Project in JAVA/Online Book Store/order/weblogic-ejb-jar.xml create mode 100644 Online Book Store Project in JAVA/Online Book Store/orderitems.jsp create mode 100644 Online Book Store Project in JAVA/Online Book Store/ordershistory.jsp create mode 100644 Online Book Store Project in JAVA/Online Book Store/querybooks.jsp create mode 100644 Online Book Store Project in JAVA/Online Book Store/register.html create mode 100644 Online Book Store Project in JAVA/Online Book Store/register.jsp create mode 100644 Online Book Store Project in JAVA/Online Book Store/tables.txt create mode 100644 Online Book Store Project in JAVA/Project Synopsis/Project Abstract_Instructions.doc create mode 100644 Online Book Store Project in JAVA/Readme.docx diff --git a/Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/Cart.class b/Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/Cart.class new file mode 100644 index 0000000000000000000000000000000000000000..2cbf66d455ee3c0df834a88fc28dd8a694473454 GIT binary patch literal 3214 zcmaJ@`+FQ!8Ga{wna%F>woNaawsBi%o1}Y5TcEh%VvW>BlWp2SLy>~ByQj${lb!9% zY?~lj6vPWv6a}Od6%^BA)fQpnlIKx>;s^f?{}1&&Gqamb2|oMmnVECG^S$5Y{l0Vl z^`B4v4j_k>IF4aL#pyV@Fwu<%a7MmOCh$0(P;oX66;p9MiF0!1sW=6`A?Kb}aXyX> zn2^IWF+7{VH=!p`LRk)#1OzU~VOkC|a*H7q&&tm^DKe+R?8ZE*aqNN>M-3OHjyWl1 z%fXSGT!~nZ;Zg#Zv7llxfdhChfp6h?Z=Zbow)YmpcT`-7Ba4X`UXai4#_+uuUR3c? z97pkePfEqhDt@3KVz^@7QLt@nR==d@>#kwukK4AsIA%ERu!87AM%8d1Q4s1MIIAE$ zVpW8KO=Ct?6zlUPVLz^yOwNQa7}bh`zJ6bisaL1-ldf%4r-ui|tdf%-B@XqedZi*? ziMXC9A!5_Ql@c^+NB_X*m=(9hymd+Vnqp;B==O2bRM1_oRdiRJb{7?FUk6}RIZb9WIAvFaEiD-ha5~LakSOcbvM>XwFr}VSutl23kQll-VpUzS;40V|*tw9e>hp9t zAFR;d_@q_0%i@F~gVa5u+ip$DH@Cyx(;86{~#Os0B6OOPoyn#0rWF29OvYU1d*A$tWZIng&f^E&GOO`d~ zq%Y41Tci!AR82peel)G(R~p{JH5G4bxQ=%;{2ISe@mpyFVcx~4hWGG0Y5MOqyf5+p zuty2lpEqUIV_RmGBq8@Q?A18MIcHQd5+4S$lG{)}M_f5Gb-#xTyH(6^i=Goj+P zhCBF>agqLdb9pcNC#`v*;jj2e#m5>NSk~}0d|ko*%c5jj(?&TrTdf$msj;=0IiZ(b z%O({%;(StfW?Y}MyJYlpe#&weeA%3&J9DeyZ)h^Jogy{cx@6GKT-_$swz@|P`MhbB zb#umY+`_S;p~DJ1ooybhHAhD7lORiy2?{oQ`S(J1sx-?~an*2zt)t$R zlU$`uYnByQ^|;v6+SH*{)}5p+Gp%5)Kv1J=O!4Pf`{H6B(A=g+@@8LY0n@6CL&JTr_2k1Pkp#SUXLdYPP89wwQET)AORr@C
b zO*WKzO~HY69O~??0ePsgOv7Ah3;B9iwbR^9cTKS_=zq|O2U~f%>$K_w3aG(zt0u$p zV5ePy5gmbUar(1Uvbp=S9$3433=f>eULMKEczaOzXV2ys=Q|ra$A|begpjwkd2kuZ z;0n6VEhF?X!gstq4|Ci|3Gm_&#wPwYP@2s=*nOTyf0(P;!H*DbATqv$-b@ow1^0Giv8@ZKC2X25foMwoM=f-qQ}X7K9`{waSa6 zm-z`Adz!|cq3M&<@>rW$_wq{u#(ZwN4fV1>g*5;99 zW^4snRzQwE=c#pQDw8~%JR)CKaP(Ye8TYjuy}#vX2>bbKVfv1~L4DU)if=QU*RdP# RP~u(oi1&zCBvKbn{STv5_g?@2 literal 0 HcmV?d00001 diff --git a/Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/Cart.java b/Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/Cart.java new file mode 100644 index 0000000..8032eca --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/Cart.java @@ -0,0 +1,171 @@ +// Cart +package obs; +import java.util.*; +import java.sql.*; +import obs.*; +import javax.ejb.*; +import javax.naming.*; +import obs.order.*; + + + + +public class Cart +{ + ArrayList items = new ArrayList(); + + public Item find(String isbn) + { + Iterator itr = items.iterator(); + Item itm; + while ( itr.hasNext()) + { + itm = (Item) itr.next(); + if ( itm.getIsbn().equals(isbn)) + { + return itm; + } + } // end of while + + return null; + } + + // adds an item if not already existing + // otherwise add 1 to qty + public void addItem(String isbn ) + { + //check whether isbn is already present + Item item = find(isbn); + if ( item != null) + item.addQty(1); + else + { + // get detais from Books tables + + Connection con =null; + obs.User user = new obs.User(); + try + { + con = user.getConnection(); + PreparedStatement ps = con.prepareStatement("select title,price from books where isbn = ? "); + ps.setString(1,isbn); + + ResultSet rs = ps.executeQuery(); + if ( rs.next()) + { + item = new Item(isbn, rs.getString(1), rs.getInt(2) ); + items.add(item); + } + + rs.close(); + ps.close(); + + } + catch(Exception ex) + { + System.out.println(ex.getMessage()); + } + finally + { + try {con.close();} catch(Exception ex) {} + } + } // end of else + } + + public ArrayList getItems() + { return items; } + + public void removeItem(String isbn) + { + Item item = find(isbn); + if ( item != null) + items.remove(item); + } // end or removeItem + + public void clearAll() + { + items.clear(); + } + + public void updateQty(String isbn, int qty) + { + Item item = find(isbn); + if ( item != null) + item.setQty(qty); + } // end of updateQty() + + + public String finalizeOrder(int userid) + { + + try + { + Context ctx = getInitialContext(); + // get access to bean + + OrderHome home = (OrderHome) ctx.lookup("obs.order"); + Order order = home.create(); + + String id= order.addOrder(userid,items); + return id; + } + catch(Exception ex) + { + System.out.println( ex.getMessage()); + return null; + + } + + } // end of finalizeOrder + + + + public boolean cancelOrder(int ordid) + { + + try + { + Context ctx = getInitialContext(); + // get access to bean + + OrderHome home = (OrderHome) ctx.lookup("obs.order"); + Order order = home.create(); + + return order.cancelOrder(ordid); + + } + catch(Exception ex) + { + System.out.println( ex.getMessage()); + return false; + + } + + + } // end of finalizeOrder + + public Context getInitialContext() + { + + String JNDI_FACTORY="weblogic.jndi.WLInitialContextFactory"; + + try + { + Hashtable env = new Hashtable(); + env.put(Context.INITIAL_CONTEXT_FACTORY, JNDI_FACTORY); + env.put(Context.PROVIDER_URL,"t3://localhost:7001"); + return new InitialContext(env); + } + catch(Exception ex) + { + System.out.println(ex.getMessage()); + return null; + } + + } + +} + + + + diff --git a/Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/Customer.java b/Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/Customer.java new file mode 100644 index 0000000..8751448 --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/Customer.java @@ -0,0 +1,200 @@ +// User Bean + +package cs; +import java.sql.*; +import java.util.*; +import javax.naming.*; +import javax.rmi.*; + + + +public class Customer +{ + + + private String custname; + private String password; + private String email; + private String phoneno; + + private Context ctx; + + public Context getJNDIContext() + { + return ctx; + } + + public Customer() + { + ctx = getInitialContext(); + } + + public void setCustname(String custname) + { this.custname = custname; } + + public String getCustname() + { return custname; } + + + public void setPhoneno (String phoneno) + { this.phoneno = phoneno; } + + public String getPhoneno() + { return phoneno; } + + public void setPassword(String password) + { this.password= password; } + + public String getPassword() + { return password; } + + public void setEmail (String email) + { this.email = email; } + + public String getEmail() + { return email; } + + // returns true if uname and pwd are valid + public boolean isValid() + { + Connection con = null; + PreparedStatement ps = null; + try + { + con = getConnection(); + ps = con.prepareStatement("select phoneno, email from customers where custname = ? and pwd= ?"); + ps.setString(1,custname); + ps.setString(2,password); + + ResultSet rs = ps.executeQuery(); + boolean found = false; + + if ( rs.next()) + { phoneno = rs.getString("phoneno"); + email = rs.getString("email"); + found = true; + } + return found; + } + catch(Exception ex) + { + System.out.println( ex.getMessage()); + return false; + } + finally + { + clean(con,ps); + } + + } // end of isValid + + public String updatePassword(String newpassword) + { + Connection con = null; + PreparedStatement ps= null; + + try + { + con = getConnection(); + ps = con.prepareStatement("update customers set pwd = ? where custname = ?"); + ps.setString(1,newpassword); + ps.setString(2,custname); + + int cnt = ps.executeUpdate(); + if ( cnt==1 ) + return null; + else + return "Invalid Username!"; + + } + catch(Exception ex) + { + System.out.println( ex.getMessage()); + return ex.getMessage(); + } + finally + { + clean(con,ps); + } + + } // end of updatePassword + + public String registerUser() + { + Connection con = null; + PreparedStatement ps = null; + + try + { + con = getConnection(); + ps = con.prepareStatement("insert into customers values (?,?,?,?)"); + ps.setString(1,custname); + ps.setString(2,password); + ps.setString(3,email); + ps.setString(4,phoneno); + ps.executeUpdate(); + return null; + + } + catch(Exception ex) + { + return ex.getMessage(); + } + finally + { clean(con,ps); } + } + + + + + public void clean(Connection con, PreparedStatement ps) + { + try + { if ( ps != null ) ps.close(); + if ( con != null) con.close(); + } + catch(Exception ex) + { System.out.println(ex.getMessage()); } + } + + public Connection getConnection() throws Exception + { + Class.forName("oracle.jdbc.driver.OracleDriver"); + // connect using Thin driver + Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:oracle8i", + "custsup","custsup"); + + return con; + } + + + public Context getInitialContext() + { + + String JNDI_FACTORY="weblogic.jndi.WLInitialContextFactory"; + + try + { + Hashtable env = new Hashtable(); + env.put(Context.INITIAL_CONTEXT_FACTORY, JNDI_FACTORY); + env.put(Context.PROVIDER_URL,"t3://localhost:7001"); + return new InitialContext(env); + } + catch(Exception ex) + { + System.out.println(ex.getMessage()); + return null; + } + + } + + +} // end of bean + + + + + + + + diff --git a/Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/Item.class b/Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/Item.class new file mode 100644 index 0000000000000000000000000000000000000000..70dec1c13167b2c40928b98e9b68f2c51819d849 GIT binary patch literal 783 zcmZuu-AWrl7(KJUCa%Vs)JD@-qgFR-F%Qtvo6FP2M*-iTZk*m}){p4) zso$YU;Xo$w*VB_IP7lLK$-CV+Yw8pwzdqe8Fh|1SD2l`1A1Z1^rjmzMN21hh?mesq37{Aj1hN{|zuoP$O&YnY#s3bLWGf aH?S+eW;ATGp)xavHJQUF^);OhRG$D}Xmuk1 literal 0 HcmV?d00001 diff --git a/Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/Item.java b/Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/Item.java new file mode 100644 index 0000000..286839f --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/Item.java @@ -0,0 +1,43 @@ +// Item class +package obs; +public class Item implements java.io.Serializable +{ + + private String isbn,title; + private int price; + private int qty; + + public Item(String isbn,String title, int price) + { + this.isbn = isbn; + this.title = title; + this.price = price; + this.qty = 1; + } + public String getIsbn() + { + return isbn; + } + + public String getTitle() + { + return title; + } + + public int getQty() + { + return qty; + } + + public void setQty(int qty) + { this.qty = qty; } + + public void addQty(int qty) + { this.qty += qty; } + + public int getPrice() + { + return price; + } +} // end of class + \ No newline at end of file diff --git a/Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/User.class b/Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/User.class new file mode 100644 index 0000000000000000000000000000000000000000..abc3b3176ecd1dbd062055a1a2bcb7e0b82278e7 GIT binary patch literal 4055 zcmai1{d*ME6@Dj~-I*){;zGcnzz7vKyPE_M5H>)N4{K}^q7kUrYA4xAvamb5><5He zX{)UjwTd4V`DnGYNT^f-l|X<;e&|#C*dO{2^ndBo_uQFH!m>Vn^5onzcg{Wc-1ofa z+}VHq_tw_{+Hog>O-MK43AiGLMU03T6_F8fP{g4KMb<=a4m{-Npn$_7igQpx*~DfU zD<-zdc*I1PiR}iCHen3MB51}>BX|Wr6CbadIBw$S5&QzbH1JvkOOY1wx`|(z__e5S znD~u2e^bN>6K@3`l$$5;wuyJtjEUdMcJGRKPi!eXycfJX8NvJbz{H0pK8oOX_}IWH z1D|LJS4wU%lh&YhYY0_5C+BL2_8fGMI2~EX8|fG*7c<^Sr-sJDQJRI^oRi6FFr0L{ z=$1;HDU9YlE(&M!BO|VOI>3i5881`b##OP_eH!$g`7}))=*f6)UnMu_7N2(pvz%!f zam#yy2x!U}%o1n(Fq&ic$06QKS>&56jJ4ix!|my$U&0O3R4L+iw;#GJ57Y=}pR67v z!ujb3vG4Z}Cia0E;u$lZhPjnO+9|vJ#r$wajIqQe z>51E1?$zgxO=I#<;J9=++p#n6dG1g-llM9WsL1ZIA-5opl7ykG>oBnO_3iyo#7TeA zEjUFtJy2%+IoB(93Zk;@jC&1>tFYGW%UuWZmEw^5lsa~koT6R0VqqtCS$GmVENn)~ zLMOIZ*eYV1h%OP^Mf?PghVPf$ERSOQlP-lOT+Sf(IMyB52go)+SA3%5fWjKn%bov4BW7A6I1jr zCMn-MRUXZFsqNYPkdqzFm&&QN8`iB2-fhmXTjU2z25t#UZnHZ0)FG$UFnQn7C7g=~NMl3Xw| zG})PT@By;F^BpK4?WRU`W>#|6-&?NaXMQ=IGBgAj?|fEI7Oj)tpz z((n}JJTy|8(D5LeII;ud>0sSbj1SJJk>uG?^}+f_7u zw!T}V)@>_opR4QEsCAp9=|FwAX06*bw0*v=TeH^f<22n{Wrg+#Gan}U=d>QJH$I7` zo_<<5+$XtNN~CQQIUIPvW6*%)5x@ls=Adi+(p1iYJnjXt~6U>-;P7 z^SGH~1t%Eq7~W9h3B0RDpT~XVJXkeSF*<9ZiJurzeqk)-2S$uvA04cR^`z=nvc8)f z-%FM|)N+KmNXCsZ<*zfBCkW?czDlq9*eLqw{H-v6WZYJGxKZ*)mYPedP{#3N_0 z;x?APa0AO)^hqp_+7t;<9;KMXij;oO>y_2nWDD^n)_rY)byxx1CRm%k8m4OaszJ4J z3g2r4QGZOs#!z!e{|rm20hm&AAuSai$GVpAM0AyCF={ED2uoP239*c^RES8ogeFpk zAZ^@Dneil3&~nK{h_GGZp8$Ox-}1N@a9NF4@QoV3#lO|)1HO-zz>f*|OI$HXfQB#^ zE*4=J8!*axKS(GK;bmm0<(NE=zh(Gq1&5iq5>BCvbDX_E=&#^a+`(~re~rNZu*zml zC-4S$IXO+yc%0z2l52@*d=^)IcobIy+6sOFZ3RCc;G{W?YI43<_+Td$tos!;wZ3sI zX`ARHDhc7^ycT^zPz$$&?xxt?6feU(vCeZGR%qoJIjFy)#^a=sJo_l^zrF&?L{->+3H#N%zl~V6HDII8=XT!K`i#S63imJQ;xgv& z!!?R8(ZW2fzy! + + +
+Welcome +
+ diff --git a/Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/s.bat b/Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/s.bat new file mode 100644 index 0000000..c3d2acd --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/WEB-INF/classes/obs/s.bat @@ -0,0 +1,3 @@ +path c:\jdk1.4\bin;c:\windows\system32 +set classpath=.;c:\jdk1.4\lib\tools.jar;c:\tomcat\common\lib\servlet.jar;c:\tomcat\common\lib\xerces.jar;d:\tomcat\common\lib\activation.jar;c:\tomcat\common\lib\mail.jar;c:\tomcat\webapps\obs\web-inf\classes;c:\tomcat\webapps\obs\web-inf\lib\order_client.jar;c:\weblogic\weblogic700\server\lib\weblogic.jar + diff --git a/Online Book Store Project in JAVA/Online Book Store/WEB-INF/lib/order_client.jar b/Online Book Store Project in JAVA/Online Book Store/WEB-INF/lib/order_client.jar new file mode 100644 index 0000000000000000000000000000000000000000..e3910cd5c20331732ace47092cd3aab759d35eff GIT binary patch literal 1493 zcmWIWW@Zs#-~hs)oi+vxNI;ZTiz?#xR)tP~ zeO)rN=i=0gX&K&oIIfgVT2t#3mtYdHCg|_NtA;mx_ExR858uXd`62(=l6~Q~ALQ|_y60!)87CFa_C2N3*w@Yd)N8>z?YsMx zUt6dOvs9^CX?i7_M(?xD_@DNLeYIIhL1Uf#N=}ZD9jh3$1nV2s!%V{j%TF%pJ63<_ zs?OewTIK+6c82mjZpjl%d>pXe(#(FE zv%-@lpBPp+Xe`ip!eO~cdrHeGC(DpHPykGL!Ctis=sjk<0U!cY;p-aWsO#zHrk|RX zq??skq*sxflN)H8f5<@K?!+JbdfeWRy(P89RXmmiZDr-OD(UjE=v;8bZJXoM``_p6 z(3{ft{_(qc^N&7Rz49h!@7gU@QZ^q-3?#o-|DCtvwAkja&yCV|+*hg2yzwddm(~1@ zb@?+G*7SAl4PAQiTaK*Rw|QqnPcm*QJy!Jef{ah<#Jwjb&sh{Qt+#?}!hZh0f6nbZ ztbAaeOJ0B1^j(c>Z#(S>>FJsxELY~pyqxo8@6%h>6|bw+{2W%h%s=S1TY7oJf%sUR?98|EtMwOfUpQH))Z%yNXT#&E zlliifSYke2e9N;pe43t?@!C0SrkpQY+#2;@k$BgK_)5ic*QDrT={+wv{Eqm4%2=S^ zc;Egf8#t8f{L@u{A?(P6FPX_AhjMvpQciw)X0k3)aM$+vXCHD9IQqV^rv0L~URrv! zkVKTurrP>F_ zq|2=drz{>%*mtz!rP&Lo^lW`&m*+CVQ#Qt!W_XkfU$~lf%2I6Gf#YG<4kbi<)7UEV zfPd<=FRs(u4t?AI=4#mcGe+4N`!2J- + + + + + + + login.html + + + diff --git a/Online Book Store Project in JAVA/Online Book Store/addbook.jsp b/Online Book Store Project in JAVA/Online Book Store/addbook.jsp new file mode 100644 index 0000000..bccca63 --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/addbook.jsp @@ -0,0 +1,21 @@ + + + +<% + // check whether user has logged in, otherwise send user to login page + out.println( user.isLogged()); + + if (!user.isLogged()) + response.sendRedirect("login.html"); + + // read data about item + + String isbn = request.getParameter("isbn"); + + cart.addItem(isbn); + + response.sendRedirect("home.jsp"); + +%> + + \ No newline at end of file diff --git a/Online Book Store Project in JAVA/Online Book Store/browsebooks.jsp b/Online Book Store Project in JAVA/Online Book Store/browsebooks.jsp new file mode 100644 index 0000000..b2b04ee --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/browsebooks.jsp @@ -0,0 +1,42 @@ + + + + + +

Browse Available Books

+ +
+Select Category : + + + +Query Books   Home + +
+ +<% + String cat = request.getParameter("cat"); + if ( cat == null) + request.setAttribute("cond","1=1"); +else + if (!cat.equals("all") ) + request.setAttribute("cond", "cat='" + cat + "'"); + +%> + + + + + + \ No newline at end of file diff --git a/Online Book Store Project in JAVA/Online Book Store/changeprofile.html b/Online Book Store Project in JAVA/Online Book Store/changeprofile.html new file mode 100644 index 0000000..78912ba --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/changeprofile.html @@ -0,0 +1,68 @@ + + + + + +

Change Profile

+
+
+ + + + + + + + + + + + + + + + + + + +
+User Name + +* +
+Password + +* +
+Confirm Password + +* +
+Email Address + +* +
Mailing Address + +* +
+Phone Number + + +
+

+ + + +

+Go Back +

+ + + + \ No newline at end of file diff --git a/Online Book Store Project in JAVA/Online Book Store/changeprofile.jsp b/Online Book Store Project in JAVA/Online Book Store/changeprofile.jsp new file mode 100644 index 0000000..d242d7a --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/changeprofile.jsp @@ -0,0 +1,94 @@ + + + + +<% + if (!user.isLogged()) + response.sendRedirect("login.html"); + +%> + + + + + + +

Change Profile

+
+

Personal Details

+ + + + + + + + + + +
+Email Address + +> +
Mailing Address + + +
+Phone Number + + +
+ +

Password

+ + + + + + + +
+New Password + + +
+Confirm Password + + +
+ +

+ + + + Home Page +

+ + +<% + + // do it if any invoked by itself + if ( request.getParameter("email") == null) + return; + + String res = user.updateProfile( request.getParameter("pwd") ); + + if ( res == null) + out.println("Profile Updated Successfully."); + else + out.println("Error : " + res); + + out.println("Click here to continue..."); + +%> + + + + \ No newline at end of file diff --git a/Online Book Store Project in JAVA/Online Book Store/deleteorder.jsp b/Online Book Store Project in JAVA/Online Book Store/deleteorder.jsp new file mode 100644 index 0000000..3b29606 --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/deleteorder.jsp @@ -0,0 +1,30 @@ + + + +<% + // check whether user has logged in, otherwise send user to login page + + if (!user.isLogged()) + response.sendRedirect("login.html"); + + // read data about item + + String ordid = request.getParameter("ordid"); + + boolean result = cart.cancelOrder( Integer.parseInt(ordid)); + if ( result ) + out.println("

Order Has Been Cancelled.

"); + else + out.println("

Order could not be cancelled.

"); + + + +%> + +

+Orders History +   +Home Page + + + \ No newline at end of file diff --git a/Online Book Store Project in JAVA/Online Book Store/gohome.jsp b/Online Book Store Project in JAVA/Online Book Store/gohome.jsp new file mode 100644 index 0000000..f3e9a9d --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/gohome.jsp @@ -0,0 +1,8 @@ + + +<% + if ( user.isLogged() ) + response.sendRedirect("home.jsp"); + else + response.sendRedirect("login.html"); +%> diff --git a/Online Book Store Project in JAVA/Online Book Store/home.jsp b/Online Book Store Project in JAVA/Online Book Store/home.jsp new file mode 100644 index 0000000..166eb8c --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/home.jsp @@ -0,0 +1,159 @@ + + + + + +<%@ page import="java.util.*"%> + + + +<% + String act = request.getParameter("act"); + + if ( act != null ) + { + if( act.equals("Finalize Order")) + { + String orderid; + + orderid = cart.finalizeOrder( user.getUserid()); + if ( orderid == null) + { + out.println("Sorry! Order Cannot be finalized."); + return; + } + else + { + out.println("Order Has Been Finalized. Order id : " + orderid ); + out.println("Continue..."); + cart.clearAll(); + return; + } + + + } + + if ( act.equals("remove")) + { + cart.removeItem( request.getParameter("isbn")); + } + else + if ( act.equals("Update Cart")) + { + + String isbn[] = (String []) request.getParameterValues("isbn"); + String qty[] = (String []) request.getParameterValues("qty"); + + for (int i = 0 ;i < isbn.length ;i ++) + cart.updateQty(isbn[i], Integer.parseInt( qty[i])); + + } + else + if ( act.equals("Clear Cart")) + cart.clearAll(); + } // end of outer if + + +%> + + + + + + + + + + + + + + + + + + + +
+Welcome +
+

Shopping Cart

+ + + + + + +
+ +
+ + + + +<% + obs.Item item; + + ArrayList items = cart.getItems(); + Iterator itr = items.iterator(); + int total = 0; + + while ( itr.hasNext()) + { + item = (obs.Item) itr.next(); + total += item.getQty() * item.getPrice(); +%> + + + + +<% + } +%> + + + + +
Book Title +Price +Quantity +Amount +  +
+ name=isbn> +<%= item.getTitle()%> +<%= item.getPrice()%> +> +<%=item.getQty() * item.getPrice()%> +>Remove +
+Total Amount : <%=total%> +
+ +
+ + +

+ +

+ + +

+ + + +
+[Change User Details]    +[Browse Books]    +[Query Books]    +[Orders History]    +[ Logout ] +
+ + + diff --git a/Online Book Store Project in JAVA/Online Book Store/image.gif b/Online Book Store Project in JAVA/Online Book Store/image.gif new file mode 100644 index 0000000000000000000000000000000000000000..87dd41caefecb9ccf88b6888de2e8d5473605e7e GIT binary patch literal 9558 zcmai(RaDdu6z6|4Lku|#-3*-~-QY0P&_hZ~NJu$^l!#MwICMyZG)RYv4h@P3f`p2K zgxE+3C_4M!-G|+WJ!kLZJ@?`Ja?knP&owhQ)zbDU0yKdW0H9K-=cnhVr~gh)PJSFy zPxept_s@U)__6z)y7`TIuzRqx_h)x^_ubyVm5=|vzW%zhdGu=Y-@AA3UcdkR;@!W= zb?WZ(-KWbxmY0{umZ{5Y8^bHq{zdBe%P(_tbMGnd`{$^C=LK75sni$n<5_X)EI^%u zwoX!apW6I-#<$kH_GMaSbaZrZbhTlOIzKSKH?4m#3Hvq8P%%#ZJRw!{gt|WltWq!) z!_=1}KKYOTEjBFvcmli`R^EBS|LHN)^9N3^AM5n?_Ez+5cl12Y@BcT|F_k&=Z~lSF zZ0T%I<4#@o{MwMzc(46HFX2h=wRZ#T!+lZs9_sTRmG^x>PWx|CJ9V(lp}!-bt(}zL z`tE*fWK28tNgHyug{Qo^W-@#7W&?GqNvORkWVk`Oye_-;-mQYF-kt`l#)jw@4M21) zHK%4Oq=8DoQ?Axhqwk)jmUrB%ax19J4k)E&SJvg-#kZAT>b@&`v*cB2X+ToN`jfjr zQt_ZqAvLv-{2=;)>s>0TxIC1+npD`f%jY68&i-X4G}b-PVbAyEx)Q|%L9 z_}?zW-o&~l_LbiTbZ=5a;$!R+M%)taImfsA1;6)+&v%ILmr0_UM^B({%#ovjpr~Mn zs5*4yW3dFPMMPhNO+%*rpi(r|2s>eT{kfUfmTmAIWY~nvb*goEt!ro^GIW^l230q7 z&MdT}8dZ%80(67N4TJi{La1ti&*9jAIDbIfugBtQIxO_BYQQY}wKEmJ2^F7VlwUdD zRjQo#GcBJEXb4ruyZ(mJK)G7EvR5Dc%0DHqVXPYfb)y1yr+~vhz;@rq8UQSJ0rPi& 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 literal 0 HcmV?d00001 diff --git a/Online Book Store Project in JAVA/Online Book Store/listbooks.jsp b/Online Book Store Project in JAVA/Online Book Store/listbooks.jsp new file mode 100644 index 0000000..f821e64 --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/listbooks.jsp @@ -0,0 +1,58 @@ + +<%@ page import="java.sql.*"%> + +

List Of Books

+ + + + +<% + + String cond = (String) request.getAttribute("cond"); + if ( cond == null) + cond = "1 = 1"; + + Connection con = user.getConnection(); + Statement st= con.createStatement(); + + ResultSet rs = st.executeQuery("select rownum,isbn,title,author,price,cat,pub from books where " + cond); + + while (rs.next()) + { + +%> + + + +<% + } + rs.close(); + st.close(); + con.close(); +%> + +
  +Serial No +ISBN +Title +Price +Author +Cateogry +Publisher +
+>Add TO Cart +<%=rs.getInt(1)%> +<%=rs.getString(2)%> +<%=rs.getString(3)%> +<%=rs.getString(4)%> +<%=rs.getInt(5)%> +<%=rs.getString(6)%> +<%=rs.getString(7)%> +
+ + + + + + + \ No newline at end of file diff --git a/Online Book Store Project in JAVA/Online Book Store/login.html b/Online Book Store Project in JAVA/Online Book Store/login.html new file mode 100644 index 0000000..e249f8e --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/login.html @@ -0,0 +1,54 @@ + + + +
Online Book Store
+ + + + +
+
+

Login

+Username +
+ +
+Password +
+ +

+ +

+I Am New User +

+
+

Introduction

+This site allows you to purchase books online. All that you have to do is add selected books to shopping cart and finalize the order. Books selected by you will be delivered to your door steps. You can pay only after books are delivered. + +

+The following are the required steps : +

    +
  • Login if already registered. Otherwise register as a user. Registration is free. +
  • Browser books and add books to shopping cart. Browsing is allowed to everyone, but only registed users can place order. +
  • You can modify shopping cart at your will +
  • Finalize the order. +
  • Pay for books when they are deliverd to your door steps. +
+ +

+

+Browse Available Books +

+ +

+
+ + + diff --git a/Online Book Store Project in JAVA/Online Book Store/login.jsp b/Online Book Store Project in JAVA/Online Book Store/login.jsp new file mode 100644 index 0000000..5416ff9 --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/login.jsp @@ -0,0 +1,25 @@ + + + +
+ + + + + +<% + user.login(); + if (! user.isLogged()) +%> +

Invalid Login. Click here to try again!

+<% + else + response.sendRedirect("home.jsp"); +%> + +
+ + + + + diff --git a/Online Book Store Project in JAVA/Online Book Store/logout.jsp b/Online Book Store Project in JAVA/Online Book Store/logout.jsp new file mode 100644 index 0000000..3841647 --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/logout.jsp @@ -0,0 +1,4 @@ +<% + session.invalidate(); + response.sendRedirect("login.html"); +%> diff --git a/Online Book Store Project in JAVA/Online Book Store/order/Client.java b/Online Book Store Project in JAVA/Online Book Store/order/Client.java new file mode 100644 index 0000000..7102a60 --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/order/Client.java @@ -0,0 +1,34 @@ +package st.hello; + +import java.rmi.RemoteException; +import java.util.Properties; +import javax.naming.*; +import javax.ejb.*; +import javax.rmi.PortableRemoteObject; + +public class Client { + private static final String JNDI_NAME = "st.hello"; + + public static void main(String[] args) throws Exception + { + String url = "t3://localhost:7001"; + + Properties h = new Properties(); + h.put(Context.INITIAL_CONTEXT_FACTORY, + "weblogic.jndi.WLInitialContextFactory"); + h.put(Context.PROVIDER_URL, url); + Context ctx = new InitialContext(h); + + // Lookup the beans home using JNDI + + Object home = ctx.lookup(JNDI_NAME); + HelloHome hellohome = (HelloHome) PortableRemoteObject.narrow(home,HelloHome.class); + + Hello hello = hellohome.create(); + + System.out.println(hello.sayHello("Srikanth")); + + } + + +} diff --git a/Online Book Store Project in JAVA/Online Book Store/order/Item.java b/Online Book Store Project in JAVA/Online Book Store/order/Item.java new file mode 100644 index 0000000..7f6210b --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/order/Item.java @@ -0,0 +1,45 @@ +// Item class +package obs; + +public class Item + implements java.io.Serializable +{ + + private String isbn,title; + private int price; + private int qty; + + public Item(String isbn,String title, int price) + { + this.isbn = isbn; + this.title = title; + this.price = price; + this.qty = 1; + } + public String getIsbn() + { + return isbn; + } + + public String getTitle() + { + return title; + } + + public int getQty() + { + return qty; + } + + public void setQty(int qty) + { this.qty = qty; } + + public void addQty(int qty) + { this.qty += qty; } + + public int getPrice() + { + return price; + } +} // end of class + \ No newline at end of file diff --git a/Online Book Store Project in JAVA/Online Book Store/order/Order.java b/Online Book Store Project in JAVA/Online Book Store/order/Order.java new file mode 100644 index 0000000..3398c6f --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/order/Order.java @@ -0,0 +1,13 @@ +package obs.order; + +import java.rmi.RemoteException; +import javax.ejb.EJBObject; +import java.util.*; + +public interface Order extends EJBObject +{ + + public String addOrder(int userid, ArrayList items) + throws RemoteException; + public boolean cancelOrder(int ordid) throws RemoteException; +} diff --git a/Online Book Store Project in JAVA/Online Book Store/order/OrderBean.java b/Online Book Store Project in JAVA/Online Book Store/order/OrderBean.java new file mode 100644 index 0000000..6b223e0 --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/order/OrderBean.java @@ -0,0 +1,153 @@ +package obs.order; + +import javax.ejb.*; +import javax.naming.*; +import javax.sql.*; +import java.sql.*; +import java.util.*; +import obs.*; + + + +public class OrderBean implements SessionBean { + + public void ejbActivate() {} + public void ejbRemove() {} // end of remove + + public void ejbPassivate() {} + public void setSessionContext(SessionContext ctx) {} + + public void ejbCreate () throws CreateException {} + + + public String addOrder(int userid, ArrayList items) + { + Connection con=null; + String ordid; + PreparedStatement ps=null; + + try + { + + Context ctx = new InitialContext(); + DataSource ds = (DataSource) ctx.lookup("oracle"); + con =ds.getConnection(); + + // get highest order id + 1 for this order + ps= con.prepareStatement("select ordid.nextval from dual"); + ResultSet rs= ps.executeQuery(); + rs.next(); + + ordid = rs.getString(1); + + rs.close(); + + // get total amount + + int totamt =0; + Item item; + + Iterator itr = items.iterator(); + while ( itr.hasNext()) + { + item = (Item) itr.next(); + totamt += item.getPrice() * item.getQty(); + } + + + ps = con.prepareStatement("insert into orders values(?,?,sysdate,?,'n')"); + ps.setString(1,ordid); + ps.setInt(2,userid); + ps.setInt(3,totamt); + + ps.executeUpdate(); + ps.close(); + + // insert into orderitems + + ps = con.prepareStatement("insert into orderitem values(?,?,?,?)"); + + itr = items.iterator(); + while ( itr.hasNext()) + { + item = (Item) itr.next(); + ps.setString(1,ordid); + ps.setString(2, item.getIsbn()); + ps.setInt(3,item.getPrice()); + ps.setInt(4,item.getQty()); + + ps.executeUpdate(); + } + + + return ordid; + + } + catch(Exception ex) + { + ex.printStackTrace(); + } + finally + { + try + { if (ps != null ) ps.close(); + if (con != null) con.close(); + } + catch(Exception ex) {} + } + return null; + + } // end of addOrder + + + + public boolean cancelOrder(int ordid) + { + Connection con=null; + PreparedStatement ps=null; + + try + { + + Context ctx = new InitialContext(); + DataSource ds = (DataSource) ctx.lookup("oracle"); + con =ds.getConnection(); + + // delete from ORDERITEM table + + ps = con.prepareStatement("delete from orderitem where ordid = ?"); + ps.setInt(1,ordid); + + ps.executeUpdate(); + ps.close(); + + // delete from ORDERS table + + ps = con.prepareStatement("delete from orders where ordid = ?"); + ps.setInt(1,ordid); + + int cnt = ps.executeUpdate(); + ps.close(); + + if (cnt == 1) return true; + else return false; + + + } + catch(Exception ex) + { + ex.printStackTrace(); + } + finally + { + try + { if (ps != null ) ps.close(); + if (con != null) con.close(); + } + catch(Exception ex) {} + } + return false; + + } // end of cancelOrder + +} // end of OrderBean diff --git a/Online Book Store Project in JAVA/Online Book Store/order/OrderHome.java b/Online Book Store Project in JAVA/Online Book Store/order/OrderHome.java new file mode 100644 index 0000000..e5f5a69 --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/order/OrderHome.java @@ -0,0 +1,9 @@ +package obs.order; + +import java.rmi.RemoteException; +import javax.ejb.CreateException; +import javax.ejb.EJBHome; + +public interface OrderHome extends EJBHome { + Order create() throws CreateException, RemoteException; +} diff --git a/Online Book Store Project in JAVA/Online Book Store/order/Se.bat b/Online Book Store Project in JAVA/Online Book Store/order/Se.bat new file mode 100644 index 0000000..e7d0227 --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/order/Se.bat @@ -0,0 +1,4 @@ +set classpath=.;c:\jdk1.4\lib\tools.jar;c:\weblogic\weblogic700\server\lib\weblogic.jar;d:\weblogic7\weblogic700 + +path=c:\weblogic\weblogic700\server\bin;c:\jdk1.4\bin;c:\windows\system32 + diff --git a/Online Book Store Project in JAVA/Online Book Store/order/application.xml b/Online Book Store Project in JAVA/Online Book Store/order/application.xml new file mode 100644 index 0000000..e6d89dc --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/order/application.xml @@ -0,0 +1,14 @@ + + + + + + Order Bean + Online Book Store - Order Bean + + + order.jar + + + + diff --git a/Online Book Store Project in JAVA/Online Book Store/order/build.xml b/Online Book Store Project in JAVA/Online Book Store/order/build.xml new file mode 100644 index 0000000..8e1cb1e --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/order/build.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Online Book Store Project in JAVA/Online Book Store/order/build/META-INF/ejb-jar.xml b/Online Book Store Project in JAVA/Online Book Store/order/build/META-INF/ejb-jar.xml new file mode 100644 index 0000000..361b73d --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/order/build/META-INF/ejb-jar.xml @@ -0,0 +1,19 @@ + + + + + + + + Order + obs.order.OrderHome + obs.order.Order + obs.order.OrderBean + Stateless + Container + + + order_client.jar + diff --git a/Online Book Store Project in JAVA/Online Book Store/order/build/META-INF/weblogic-ejb-jar.xml b/Online Book Store Project in JAVA/Online Book Store/order/build/META-INF/weblogic-ejb-jar.xml new file mode 100644 index 0000000..0b7242f --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/order/build/META-INF/weblogic-ejb-jar.xml @@ -0,0 +1,13 @@ + + + + + + + Order + obs.order + + + diff --git a/Online Book Store Project in JAVA/Online Book Store/order/build/obs/Item.class b/Online Book Store Project in JAVA/Online Book Store/order/build/obs/Item.class new file mode 100644 index 0000000000000000000000000000000000000000..72b9006b62ec7624dd454191d8e165ab0dce3e41 GIT binary patch literal 783 zcmZuv+fLg+6rA<735Gx$3M37;0Cl!4`G6u`P%A}3g(?V%H|)fU76k_!Q>lCt53NL0 zsSo`CKC0@h69G-~GP9RCbLOo5@b~v0nD~IVdAL~3!NHn_bqyODHeFO*Y`NGLuv9;c z1zsLr1mA*sH;6m+W}2wD^HIP~RoacnSBYwoMMJ>6PQME{dn#7xzJTvf7EYctYNzaU z&}-AAaH!(w%gtpNB_~0s?cGk4HnJ2&zcyJc@PdMqVHAhUuR4M0*OBiA zJG<5;$HUb5X746xMW2=Km20HY<*uI9LjgM;a>#p_(cod$!yIPWuNU^~S|~98^eji= zMbt_KirJCs)tgbGg08w9PQgH@*x>8BpaU!z+8ZF#K4W&sm`%u9SHL`RfxA!CS>zS@ z3qrmdz>x0;FlA)`OIiciKY7XTL@cohXkjsJjuvw?c}0_D-U_aYBg+a|P-)A17(X7% zo$PRtxHwg6j!R3FzQz(!2Yv2p-;KGhQM8Pek#v1XZd^kJ>7KS*@Ls aXZNtn=Ti!HSWupt!y3;aDSbmX1C@Vxs&zd8 literal 0 HcmV?d00001 diff --git a/Online Book Store Project in JAVA/Online Book Store/order/build/obs/order/Order.class b/Online Book Store Project in JAVA/Online Book Store/order/build/obs/order/Order.class new file mode 100644 index 0000000000000000000000000000000000000000..63031e63a73c44bad914ebc9ad1ed60cc5c65d7b GIT binary patch literal 284 zcmYk0O==})? zXsX{=ujl~gr-W8wM*C$#>2%bRXua(j5jQr%C^?X01K_Jw^s{^P-ga}VTHG+yl6@fI- MdL-fBF1_en08m6kQ~&?~ literal 0 HcmV?d00001 diff --git a/Online Book Store Project in JAVA/Online Book Store/order/build/obs/order/OrderBean.class b/Online Book Store Project in JAVA/Online Book Store/order/build/obs/order/OrderBean.class new file mode 100644 index 0000000000000000000000000000000000000000..1bfbed611a1c1236ec0c32059a6952beb3e5923c GIT binary patch literal 2726 zcmai0U2has7=F%ncV|DQA1o9cK36QV#cdY^if)1O4GX0$ZTYHzo!vdqE!*8PGh13z z5F=NbpfQ^0g_@WM7%m_&U^Nlr1u^;qyz;_7;2$tipEI-FwiH7)duHZ6?|I(mec$Jt znP30;{zufI4c8-h9$PhZMBu~L5Vl3}3SQNajv|Q85Vl9L13RPW!mcQGV~-m4s$pLQ z`*9$OgE*ui6G0OWtKo>Ubcb+ME$LB1uNwNIIEH;8^edkM4TBLJ#|ec^`o!PzNLmuNj9;NM%$OM%AjLP_>i#% zJ6vvSI3o};^Z8yYFD-!$iHwVrsyKyWYPV&XQ{4sI>1_3^MYD7vHQ-o<(uGbE&Y7j0 zELNBL6PeZ_fyh9)V&&w4f=a2uo!cYLQoCZO;{~(`tniqY%rWAmGAvHPEY>m!mMt?^ zlp46jkAj$xPrt8H17IVWDW@`ZeRiKUn@i}CYTc`TlKLBoiS0!DRQL{Y~WS~Qe&lrgU1lA2)&LglQT$~baNhYd$ZMGX@e6-X9J zwzQmhq2!cRL}}S^hO0`0t zR<$)(ZeDE4t^R^^xV%Irl&-+CMAc0xV|Id`Ug_qWna{W-$4yHPIPB7xEHR&r{~uee z?(-JpYb%Jo+^xz}XVpfXl(~u{k5!~KC9rfZ!+vR3irlvjL1HzKnw1BGlCOJ8a2ti0 ztXB+HojdDk`!A3ymTm5`r7oJcW3#ry?c=CTODR(mmg$tK>KYZ-jq-NwH7fJ0?AZ)) zSAMk)gh;B-D&!cGXIX|v8x6-CW~z;tc8^OxtPUslgit{<3wf*4C`hM_YCs^7$tXj8 zwQ$GB)fSptpjz!2gwZl~maU)9uPU0EzPp?UN38N??_6yh=Xpg=X71u3Ya{uBi1W|A z0U*RH4<(N4__T^w!E0c{Lx}slp*%STU8Bx%ea+QyXX){zTLaw^&vt91TkEsk7SU}3 zUgD_ush~a;_{pF#IwXnatGTH(7Pu|p8xru-xt;$MHhQ?ewS0Fr(SJzvh;-lw_)b4W zT{>t4WBzFbeE12$v}S12&;)wgVxeh-eMkq4z%(KP>5xH7RN$l$qQA~5zp~U*CLQ7A z12m+gx3I>DPNPu}t0^664jYjNSfqy7$Z$tk%`F!A?B74yVoPf1euHq$bua>f71LO% zZi3C>>fJP!sfeWToIqR5sIHm`cW7=nBQOU_1zldn4Z1X{h?+}hKKu-?Zw-H1zl{}! zeoxiq0ao5d!!2w`*WX6asDG4hFanPenW6I-;kIe461asxy75kfxW@_yM2l#_3SKvf zO{{jOI3@=9?1}7iic59ar#z_825NLAHQK_Kwo``NINwFdWT=Kd_HF<#<1{wo47Oqf z9hl_(J4oYwbm9|i#~1t zThr6#_nOGUsLt`i#wBBGo;KSN^roAG{x6~XJG9$qY1Z!6b%fZ1=FnXV%s1h4Ojov^PItOs4C?bNOCunPsme!H6if41-0X&qLR#0$}!1rGA zlIQFGKoKLf6>17~g$BV1EPE*vx`W}`_-AeGo~_rr`Wfs0v|0Yv_d21M kN7y9PTTV>MU&|p73Q|P?R3em67IK6f(G@B}RiOghH=K__oB#j- literal 0 HcmV?d00001 diff --git a/Online Book Store Project in JAVA/Online Book Store/order/ejb-jar.xml b/Online Book Store Project in JAVA/Online Book Store/order/ejb-jar.xml new file mode 100644 index 0000000..361b73d --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/order/ejb-jar.xml @@ -0,0 +1,19 @@ + + + + + + + + Order + obs.order.OrderHome + obs.order.Order + obs.order.OrderBean + Stateless + Container + + + order_client.jar + diff --git a/Online Book Store Project in JAVA/Online Book Store/order/examples.properties b/Online Book Store Project in JAVA/Online Book Store/order/examples.properties new file mode 100644 index 0000000..8acef14 --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/order/examples.properties @@ -0,0 +1,24 @@ +#choose classic, modern, jikes, or jvc +JAVAC=modern +BEA_HOME=C:/weblogic +WL_HOME=C:/weblogic/weblogic700 +SAMPLES_HOME=C:/weblogic/weblogic700/samples +CLIENT_CLASSES=C:/weblogic/weblogic700/samples/server/stage/examples/clientclasses +SERVER_CLASSES=C:/weblogic/weblogic700/samples/server/stage/examples/serverclasses +EX_WEBAPP_CLASSES=C:/weblogic/weblogic700/samples/server/stage/examples/examplesWebApp/WEB-INF/classes +EX_WEBAPP=C:/weblogic/weblogic700/samples/server/stage/examples/examplesWebApp +APPLICATIONS=C:/weblogic/weblogic700/samples/server/config/examples/applications +CLASSPATH=${java.class.path} +XMLRegistry=C:/weblogic/weblogic700/samples/server/config/examples/xml/registries/examplesXMLRegistry +PORT=7001 +WINDOWS="Windows XP,Windows 2000,Windows NT,Windows 98,Windows 95" +UNIX="HP-UX,Solaris,SunOS,AIX,Linux" + +# Database properties +# These user defined properties are available to automate +# table setup for those examples that use an Oracle database. +DBSERVER= +DBPORT= +SID= +USER= +PASSWORD= diff --git a/Online Book Store Project in JAVA/Online Book Store/order/setclientenv.bat b/Online Book Store Project in JAVA/Online Book Store/order/setclientenv.bat new file mode 100644 index 0000000..3f583cc --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/order/setclientenv.bat @@ -0,0 +1,4 @@ +set classpath=.;d:\jdk1.4\lib\tools.jar;d:\weblogic7\weblogic700\server\lib\weblogic.jar;d:\weblogic7\weblogic700\samples\server\stage\examples\clientclasses;d:\weblogic7\weblogic700\samples\server\stage\examples\clientclasses\hello_client.jar + +path=d:\weblogic7\weblogic700\server\bin;d:\jdk1.4\bin;c:\windows\system32 + diff --git a/Online Book Store Project in JAVA/Online Book Store/order/weblogic-ejb-jar.xml b/Online Book Store Project in JAVA/Online Book Store/order/weblogic-ejb-jar.xml new file mode 100644 index 0000000..0b7242f --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/order/weblogic-ejb-jar.xml @@ -0,0 +1,13 @@ + + + + + + + Order + obs.order + + + diff --git a/Online Book Store Project in JAVA/Online Book Store/orderitems.jsp b/Online Book Store Project in JAVA/Online Book Store/orderitems.jsp new file mode 100644 index 0000000..c4fa632 --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/orderitems.jsp @@ -0,0 +1,91 @@ + +<%@page import="java.sql.*"%> + + + + + +

Order Items

+ + + +<% + String ordid = request.getParameter("ordid"); + String status = request.getParameter("status"); + + String cmd = "select oi.isbn,title, oi.price,qty, oi.price * qty amount from orderitem oi, books b where b.isbn = oi.isbn and ordid = " + ordid; + + + Connection con = user.getConnection(); + Statement st = con.createStatement(); + + ResultSet rs = st.executeQuery(cmd); + +%> + +

+ + + + + + +<% + while ( rs.next()) + { +%> + + + + +<% + } + + rs.close(); + st.close(); + con.close(); + +%> + + +
ISBN + Title + Price + Quantity + Amount +
<%=rs.getInt(1)%> + <%= rs.getString(2)%> + <%= rs.getInt(3)%> + <%= rs.getString(4)%> + <%= rs.getString(5)%> +
+ +

+<% + if ( status.equals("n")) + { +%> + +Cancel This Order +  +  +<% + + + } +%> + + + +Back + + + + + + + \ No newline at end of file diff --git a/Online Book Store Project in JAVA/Online Book Store/ordershistory.jsp b/Online Book Store Project in JAVA/Online Book Store/ordershistory.jsp new file mode 100644 index 0000000..50db2e2 --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/ordershistory.jsp @@ -0,0 +1,107 @@ + +<%@page import="java.sql.*"%> + + + + + +

Orders History

+ + + + + + + +<% + String type = request.getParameter("type"); + String cmd = "select ordid, orddate, totamt,decode(status,'n','New','p','Processed','d','Dispatched','Completed') textstatus,status from orders where userid = " + user.getUserid(); + + if ( type != null) + { + + if ( type.equals("n")) + cmd += " and status = 'n'"; + else + if ( type.equals("p")) + cmd += " and status = 'p'"; + else + if ( type.equals("d")) + cmd += " and status = 'd'"; + else + if ( type.equals("c")) + cmd += " and status = 'c'"; + + } + + + Connection con = user.getConnection(); + Statement st = con.createStatement(); + + ResultSet rs = st.executeQuery(cmd); + +%> + +

+ + + + + + +<% + while ( rs.next()) + { +%> + + + + +<% + } + + rs.close(); + st.close(); + con.close(); + +%> + + +
Order Id + Order Date + Total Amount + Status +
<%=rs.getInt(1)%> + <%= rs.getString(2)%> + <%= rs.getInt(3)%> + <%= rs.getString(4)%> +
+ + + + + + + + \ No newline at end of file diff --git a/Online Book Store Project in JAVA/Online Book Store/querybooks.jsp b/Online Book Store Project in JAVA/Online Book Store/querybooks.jsp new file mode 100644 index 0000000..d464e66 --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/querybooks.jsp @@ -0,0 +1,87 @@ + + + + + + +

Query Books

+
+ + + + + + +
+Category + + +Title Contains + +
+Author Name Contains + + +Price From + +To + + +
+

+ +Home Page + +

+ +<% + String cat = request.getParameter("cat"); + if ( cat == null) + return; + + String cond = "1=1"; + + if (!cat.equals("all") ) + cond = cond + " and cat = '" + cat + "'"; + + String title = request.getParameter("title"); + + if ( !title.equals("")) + cond = cond + " and title like '%" + title + "%'"; + + + String author = request.getParameter("author"); + + if ( !author.equals("")) + cond = cond + " and author like '%" + author + "%'"; + + + String fromprice = request.getParameter("fromprice"); + + if ( !fromprice.equals("")) + cond = cond + " and price >= " + fromprice; + + String toprice = request.getParameter("toprice"); + + if ( !toprice.equals("")) + cond = cond + " and price <= " + toprice; + + request.setAttribute("cond", cond); + +%> + + + + + \ No newline at end of file diff --git a/Online Book Store Project in JAVA/Online Book Store/register.html b/Online Book Store Project in JAVA/Online Book Store/register.html new file mode 100644 index 0000000..709895c --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/register.html @@ -0,0 +1,68 @@ + + + + + +

New User Registration

+
+
+ + + + + + + + + + + + + + + + + + + +
+User Name + +* +
+Password + +* +
+Confirm Password + +* +
+Email Address + +* +
Mailing Address + +* +
+Phone Number + + +
+

+ + + +

+Go Back +

+ + + + \ No newline at end of file diff --git a/Online Book Store Project in JAVA/Online Book Store/register.jsp b/Online Book Store Project in JAVA/Online Book Store/register.jsp new file mode 100644 index 0000000..f0e0002 --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/register.jsp @@ -0,0 +1,29 @@ + + + + +
+ + + + + +<% + String result = user.registerUser(); + + if ( result == null) + response.sendRedirect("home.jsp"); + else + out.println("

Sorry! Registration Failed With Error :

" + result + "

Try Again "); + +%> + +

+ + + + + diff --git a/Online Book Store Project in JAVA/Online Book Store/tables.txt b/Online Book Store Project in JAVA/Online Book Store/tables.txt new file mode 100644 index 0000000..2097b05 --- /dev/null +++ b/Online Book Store Project in JAVA/Online Book Store/tables.txt @@ -0,0 +1,79 @@ +create user obs identified by obs; +grant connect, resource to obs; + +connect obs/obs + +create table users +( userid number(5) primary key, + uname varchar2(20) not null unique, + pwd varchar2(10), + email varchar2(30) unique, + address varchar2(100), + phone varchar2(20) +); + + + +create table books +( isbn number(10) primary key, + title varchar2(30), + author varchar2(50), + pub varchar2(10), + cat varchar2(5), + price number(5) +); + + +create table orders +( ordid number(5) primary key, + userid number(5) references users(userid), + orddate date, + totamt number(6), + status char(1) +); + +create table orderitem +( ordid number(5) references orders(ordid), + isbn number(10) references books(isbn), + price number(5), + qty number(3), + primary key(ordid,isbn) +); + + +insert into users +values(1,'scott','tiger','scott@hotmail.com','12-2-23,Dwarakanagar,VSP-16', +'3434343'); + + +insert into users +values(2,'mike','tyson','tyson@hotmail.com','12-5-23,MVP Colony,VSP-43', +'2234343'); + +insert into books + values('1001','Prof. JSP','Wrox Team', +'Wrox','java',500); + +insert into books + values('5007','Prof. ASP.NET', +'Wrox Team', +'Wrox','.net',675); + +insert into books + values('2045','VB.NET Black Book', 'Steven Holtzner','DreamTech' +,'.net',450); + + +commit; + + + +create sequence ordid start with 1001; + + + + + + + + diff --git a/Online Book Store Project in JAVA/Project Synopsis/Project Abstract_Instructions.doc b/Online Book Store Project in JAVA/Project Synopsis/Project Abstract_Instructions.doc new file mode 100644 index 0000000000000000000000000000000000000000..31a3e2415917d6a246db0d0ef43667585197ced2 GIT binary patch literal 38400 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

uk30Ngym4HZjrDBc@(OQ03d8t?(y0BwPG zfG^+&_yYj|%}3A)f7%t(0SE?&Pbb*4_pb{;7ch4NUI4lS6yFneFCYX61;T)EAOfKH zhd^(WoBV|5)zF?mE%vN&EE2omjM)D(0X46=amVfvQ8qO1Vpoe=6JtC1UtD=$W&&5X z>QDP2q7jyD3XkA-%qh%LJ)6@3Hw}pSlU);PoE5Iv=@?{o=R!?rEz`Ile+dGq&(t*k z7D$^&jUHw&q_4+rs|eW1*#Ag-HpM$4gcN`N+X(rS#HrubG=Jh4Oq~VB7CSsCSK1d! zx{pTg=64{dP%hdpTAlIv3-YIZHR4WF+b3%NY~|^K{At{xx|6A{oaW&@$U_s6FcS29 z+7+u~aoEQ>S_piG-#QpQg`9=onvyPQH?C`EKb-69z(r`2Gc#~jkAFpoO`tt-2;%z|x&6g>|1Rv;uAh$;8=cku IuaUt20Uk0Yhj(kY1$=Ql&@@O+>l^O0h)RrAmnu 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