All pastes #994394 Raw Edit

Stuff

public text v1 · immutable
#994394 ·published 2008-04-23 11:38 UTC
rendered paste body
package 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"/>