aspose file tools*
The moose likes Servlets and the fly likes accessing applets from servlets Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Servlets
Bookmark "accessing applets from servlets" Watch "accessing applets from servlets" New topic
Author

accessing applets from servlets

prabhu kasi
Greenhorn

Joined: Aug 06, 2003
Posts: 10
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

Joined: Jul 31, 2003
Posts: 263
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.


Tom Blough<br /> <blockquote><font size="1" face="Verdana, Arial">quote:</font><hr>Cum catapultae proscriptae erunt tum soli proscripti catapultas habebunt.<hr></blockquote>
Andrey Orekhov
Greenhorn

Joined: Nov 29, 2001
Posts: 14
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 ]
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: accessing applets from servlets