Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

accessing applets from servlets

 
prabhu kasi
Greenhorn
Posts: 10
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
hi
I am trying to access an applet from a servlet .Everytime i run the servlet , it just shows a blank image .The applet contains a pie chart and is compiling well.Can someone tell where i am going wrong .....???servlet resides on iplanet and applet on a local machine.
Applet CODE :
-------------------------------------------
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class PieChart extends Applet implements ActionListener
{
int red, blue, green, yellow;
Label instrutions= new Label("Enter 4 dollar amounts for your
investment portfolio and press ENTER in box 4. ");
Label highRisk = new Label("High Risk");
Label mediumRisk = new Label("Medium Risk");
Label lowRisk = new Label("Low Risk");
Label noRisk = new Label("No Risk");
TextField txtHighRisk = new TextField(" ", 10);
TextField txtMediumRisk = new TextField(" ", 10);
TextField txtLowRisk = new TextField(" ", 10);
TextField txtNoRisk = new TextField(" ", 10);
static private int CIRCLE= 360;
public void init()
{
add(instrutions);
add(highRisk);
add(txtHighRisk);
add(mediumRisk);
add(txtMediumRisk);
add(lowRisk);
add(txtLowRisk);
add(noRisk);
add(txtNoRisk);
txtNoRisk.addActionListener(this);
}
public void actionPerformed(ActionEvent thisEvent)
{

int intHighRisk = Integer.parseInt(txtHighRisk.getText ());
int intMediumRisk = Integer.parseInt
(txtMediumRisk.getText());
int intLowRisk = Integer.parseInt(txtLowRisk.getText());
int intNoRisk = Integer.parseInt(txtNoRisk.getText());
red = intHighRisk * CIRCLE;
blue = intMediumRisk * CIRCLE;
green = intLowRisk * CIRCLE;
yellow = intNoRisk * CIRCLE;
repaint();
}

public void paint(Graphics gr)
{
gr.setColor(Color.red);
gr.fillArc(200, 200, 100, 100, 360, red);
gr.setColor(Color.blue);
gr.fillArc(200, 200, 100, 100, red, blue);
gr.setColor(Color.yellow);
gr.fillArc(200, 200, 100, 100, blue, yellow);
gr.setColor(Color.green);
gr.fillArc(200, 200, 100, 100, yellow, green);
}
}
---------------------------------------------------
servlet CODE
---------------------------------------------------
import java.sql.*;
import java.lang.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class PieChartS extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
res.setContentType("text/html");
ServletOutputStream out = res.getOutputStream();
out.println("<html><head><title>pie</title></head><body>");
out.println("<APPLET CODE=\"/home/lnayar/baais/xmlServlet/PieChart.class\" HEIGHT=280 WIDTH=460>");
out.println("</APPLET>");
out.println("</body></html>");
}
}
---------------------------------------------------------
PLS help me ....
Thx
prabhu
 
Tom Blough
Ranch Hand
Posts: 263
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Your code looks fine, the problems exists on where you are hosting the components. The servlet is looking for your applet off of ITS root file system. It doesn't know that /home is on a different machine. You need to make the path to the applet the full URL.
In addtion, the servlet will not be able to access the applet on a file system. The applet will need to be hosted on a webserver so the applet can find it.
 
Andrey Orekhov
Greenhorn
Posts: 14
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Just try to use fully qualified class name of the applet as the value of code attribute: CODE="packagename.classname.class". Also applet class file should be placed within web application, e.g. web application name is 'test',
then you access servlet via http://hostname :port/test/servlet/Servletname.class
Applet class file should be placed in test/packagename/ folder within your web server. In this case you dont have to mess with CODEBASE attribute value and can leave it to be "."
[ August 11, 2003: Message edited by: Andrey Orekhov ]
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic