Win a copy of Testing JavaScript Applications this week in the HTML Pages with CSS and JavaScript forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Bear Bibeault
  • Ron McLeod
  • Jeanne Boyarsky
  • Paul Clapham
Sheriffs:
  • Tim Cooke
  • Liutauras Vilda
  • Junilu Lacar
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • fred rosenberger
  • salvin francis
Bartenders:
  • Piet Souris
  • Frits Walraven
  • Carey Brown

accesing applets from servlets

 
Greenhorn
Posts: 10
  • 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 is 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
 
author and iconoclast
Posts: 24203
43
Mac OS X Eclipse IDE Chrome
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The security issues are complex and subtle, so I'm necessarily oversimplifying here, but every sensible Web browser refuses to load an applet using a local path this way -- at least when the HTML the applet is embedded in is coming from a remote server. If this were allowed, it would obviously be a huge security breach just waiting to happen.
The fact that you're using a servlet really doesn't matter; the question is just whether the web browser will load an applet this way or not.
The easiest solution to your immediate problem -- unless you've got some reason why the applet classes need to be on the local disk, in which case you really need to read up on applet security issues -- is to put PieChart.class on the web server, and modify the servlet to emit an http:// or relative link to it instead of an sbsolute file-system path. The browser wants to be able to download the classes from the web server.
 
    Bookmark Topic Watch Topic
  • New Topic