rendered paste bodypackage actions;
import java.util.ArrayList;
import javax.servlet.http.*;
import org.apache.struts.action.*;
import beans.*;
import managers.*;
public final class AddItemToCartActionServlet extends Action
{
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
{
ActionForward nextPage = null;
int id = Integer.parseInt(request.getParameter("itemId"));
HttpSession session= request.getSession();
int c;
boolean itemNotInCart = true;
ItemFormBean cartItemBean = null;
try
{
ItemManager manager = new ItemManager();
ItemFormBean bean = manager.getById(id);
ArrayList cart = (ArrayList) session.getAttribute("itemCart");
if (cart==null)
{
cart= new ArrayList();
bean.setItemQuantity(1);
cart.add(bean);
session.setAttribute("itemCart", cart);
nextPage = mapping.findForward("success");
}
else
{
c=0;
while((c<cart.size()) && itemNotInCart)
{
cartItemBean=(ItemFormBean) cart.get(c);
if (cartItemBean.getItemId()==id)
{
itemNotInCart=false;
}
c=c+1;
}
if (itemNotInCart)
{
bean.setItemQuantity(1);
cart.add(bean);
session.setAttribute("itemCart", cart);
nextPage = mapping.findForward("success");
}
else
{
if (cartItemBean.getItemQuantity()+1<=bean.getItemQuantity())
{
bean.setItemQuantity(cartItemBean.getItemQuantity()+1);
//update the cart
cart.set(c-1, bean);
session.setAttribute("itemCart", cart);
nextPage = mapping.findForward("success");
}
else
{
//Out of Stock
nextPage = mapping.findForward("failure");
}
}
}
}
catch(Exception e)
{
request.setAttribute("errorMessage","Error: "+e);
nextPage = mapping.findForward("error");
}
return (nextPage);
}
}
---------
package actions;
import java.io.PrintWriter;
import javax.servlet.http.*;
import managers.*;
import org.apache.struts.action.*;
import beans.*;
public class AddClientAction extends Action
{
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
{
ActionForward nextPage = null;
try
{
ClientManager manager = new ClientManager();
ClientBean bean = new ClientBean();
bean.setClientName( request.getParameter("clientName"));
bean.setClientEmail( request.getParameter("clientEmail"));
manager.addClient(bean);
response.setContentType("text/plain");
PrintWriter out = response.getWriter();
out.println("the applet sent me client name: " + request.getParameter("clientName"));
out.println("the client email is:" + request.getParameter("clientEmail"));
//out.println("returned from server:" + "line 3");
out.println("end");
}
catch(Exception e)
{
//PrintWriter out = null;
//request.setAttribute("errorMessage","Error: "+e);
//nextPage = mapping.findForward("error");
System.out.println("Error= "+e);
}
return (nextPage);
}
}
----
package applets;
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.util.*;
import java.net.*;
import java.io.*;
public class AddClientAppletForm extends Applet implements ActionListener
{
TextField clientName;
TextField clientEmail;
//TextField clientPassword;
Button submitButton;
TextArea textArea;
public void init()
{
setLayout(null);
submitButton = new Button("Send");
this.add(submitButton);
submitButton.addActionListener(this);
submitButton.setBounds(100, 150, 100, 20);
textArea = new TextArea();
textArea.setEditable(false);
this.add(textArea);
textArea.setBounds(400, 50, 400, 200);
clientName = new TextField();
clientName.setEditable(true);
this.add(clientName);
clientName.setBounds(100, 50, 200, 20);
clientEmail = new TextField();
clientEmail.setEditable(true);
this.add(clientEmail);
//clientEmail.setBounds(x, y, width, height)
clientEmail.setBounds(100, 100, 200, 20);
}
public void paint(Graphics g)
{
g.drawString("Add Client Form", 20, 20);
g.drawString("Client Name", 20, 70);
g.drawString("Client Email", 20,120);
}
public void actionPerformed(ActionEvent event)
{
if(event.getSource() == submitButton)
{
showStatus("Form Submitted");
submitForm();//here
}
else
{
showStatus("Some other event occurred");
}
}
private void submitForm()
{
try
{
URL url = new URL(getCodeBase(), "/Lab2/addClientAppletForm.do");
Properties props = new Properties();
props.put("clientName",clientName.getText());
props.put("clientEmail",clientEmail.getText());
String argString = "";
argString = toEncodedString(props);
URLConnection con = url.openConnection();
con.setDoInput(true);
con.setDoOutput(true);
con.setUseCaches(false);
con.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
DataOutputStream out = new DataOutputStream(con.getOutputStream());
out.writeBytes(argString);
out.flush();
out.close();
InputStream in = con.getInputStream();
BufferedReader data = new BufferedReader(new InputStreamReader(in));
String incoming = "";
while (!incoming.equals("end"))
{
incoming = data.readLine();
textArea.append(incoming + "\n");
}
showStatus(incoming);
data.close();
}
catch (MalformedURLException mue)
{
showStatus(mue.toString());
}
catch (IOException ioe)
{
showStatus(ioe.toString());
}
}
private String toEncodedString(Properties arguments)
{
StringBuffer buf = new StringBuffer();
Enumeration names = arguments.propertyNames();
while (names.hasMoreElements())
{
String name = (String)names.nextElement();
String value = arguments.getProperty(name);
buf.append(URLEncoder.encode(name) + "=" + URLEncoder.encode(value));
if (names.hasMoreElements())
{
buf.append("&");
}
}
return buf.toString();
}
}
----
MyClient.jsp
<jsp:plugin codebase="."
code="applets.AddClientAppletForm"
type="applet"
width="1000"
height="600"
jreversion="1.3"/>