现遇到JSP调用applet的路径问题,在网上找了一个“JSP调用applet的路径问题”,其中有个地址是:http://topic.csdn.net/u/20080703/10/56303b73-9f97-4cc7-b4aa-8eab45a39ac4.html
我按照这里的做法,也试了一试,
<applet code="al_clock.class" codebase=" <%=path %>/common/applet/" width="235" height="185" align="BOTTOM">
结果还是报错。
大家帮个忙,让我能实现jsp对applte的调用。非常感谢
我的jsp代码为:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html
PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body> <jsp:plugin
code="BarCpuUsage.class"
codebase="/WEB-INF/classes/com/sundy/applet/"
type="applet"
name="BarCpuUsage">
</jsp:plugin> </BODY>
</HTML></body>
</html>
以下是我的一个applet,服务器是tomcat:package com.sundy.applet;import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JApplet;
import javax.swing.Timer;import org.jfree.chart.*;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.data.category.CategoryDataset;import org.jfree.chart.axis.NumberAxis;
import org.jfree.data.category.DefaultCategoryDataset;public class BarCpuUsage extends JApplet {
JFreeChart jfreechart; class DataGenerator extends Timer implements ActionListener {
private static final long serialVersionUID = 3977867288743720504L; public void actionPerformed(ActionEvent actionevent) { addTotalObservation(); } DataGenerator() {
super(1000, null);
addActionListener(this);
}
} private void addTotalObservation() {
CategoryPlot p = jfreechart.getCategoryPlot();
//设置新的数据集
jfreechart.getCategoryPlot().setDataset(createDataset());;
//通知Jfreechart 数据发生了改变,重新绘制柱状图
if (jfreechart != null) {
jfreechart.fireChartChanged();
}
} private static CategoryDataset createDataset() {
DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
String s = "System";
String s1 = "Nice";
String s2 = "User";
String s3 = "Total";
String s4 = "Cpu01";
String s5 = "Cpu02";
String s6 = "Cpu03";
String s7 = "Cpu04";
double d1 = (float)(10D * Math.random());
double d2 = (float)(10D * Math.random());
double d3 = (float)(10D * Math.random());
double d4 = (float)(10D * Math.random());
defaultcategorydataset.addValue(d1, s, s3);
defaultcategorydataset.addValue(d2, s, s4);
defaultcategorydataset.addValue(d3, s, s5);
defaultcategorydataset.addValue(d4, s, s6);
defaultcategorydataset.addValue(5D, s, s7);
defaultcategorydataset.addValue(5D, s1, s3);
defaultcategorydataset.addValue(7D, s1, s4);
defaultcategorydataset.addValue(6D, s1, s5);
defaultcategorydataset.addValue(8D, s1, s6);
defaultcategorydataset.addValue(4D, s1, s7);
defaultcategorydataset.addValue(4D, s2, s3);
defaultcategorydataset.addValue(3D, s2, s4);
defaultcategorydataset.addValue(2D, s2, s5);
defaultcategorydataset.addValue(3D, s2, s6);
defaultcategorydataset.addValue(6D, s2, s7);
return defaultcategorydataset;
} public void init() {
CategoryDataset categorydataset = createDataset();
jfreechart = ChartFactory.createBarChart("处理器利用率",
"节点名称", "Value", categorydataset, PlotOrientation.VERTICAL,
true, true, false);
jfreechart.setBackgroundPaint(Color.white);
CategoryPlot categoryplot = jfreechart.getCategoryPlot();
categoryplot.setBackgroundPaint(Color.lightGray);
categoryplot.setDomainGridlinePaint(Color.white);
categoryplot.setDomainGridlinesVisible(true);
categoryplot.setRangeGridlinePaint(Color.white);
NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();
numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
BarRenderer barrenderer = (BarRenderer) categoryplot.getRenderer();
barrenderer.setDrawBarOutline(false);
GradientPaint gradientpaint = new GradientPaint(0.0F, 0.0F, Color.blue,
0.0F, 0.0F, new Color(0, 0, 64));
GradientPaint gradientpaint1 = new GradientPaint(0.0F, 0.0F,
Color.green, 0.0F, 0.0F, new Color(0, 64, 0));
GradientPaint gradientpaint2 = new GradientPaint(0.0F, 0.0F, Color.red,
0.0F, 0.0F, new Color(164, 166, 0));
barrenderer.setSeriesPaint(0, gradientpaint);
barrenderer.setSeriesPaint(1, gradientpaint1);
barrenderer.setSeriesPaint(2, gradientpaint2);
barrenderer.setItemMargin(0.05);
CategoryAxis categoryaxis = categoryplot.getDomainAxis();
categoryaxis.setCategoryLabelPositions(CategoryLabelPositions
.createUpRotationLabelPositions(0.52359877559829882D)); ChartPanel chartpanel = new ChartPanel(jfreechart, false);
chartpanel.setPreferredSize(new Dimension(500, 270)); getContentPane().add(chartpanel);
(new DataGenerator()).start(); }
public void paint(Graphics g) { if (jfreechart != null) {
jfreechart.draw((Graphics2D) g, getBounds());
}
} public void destroy() {
}
}
我按照这里的做法,也试了一试,
<applet code="al_clock.class" codebase=" <%=path %>/common/applet/" width="235" height="185" align="BOTTOM">
结果还是报错。
大家帮个忙,让我能实现jsp对applte的调用。非常感谢
我的jsp代码为:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html
PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body> <jsp:plugin
code="BarCpuUsage.class"
codebase="/WEB-INF/classes/com/sundy/applet/"
type="applet"
name="BarCpuUsage">
</jsp:plugin> </BODY>
</HTML></body>
</html>
以下是我的一个applet,服务器是tomcat:package com.sundy.applet;import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JApplet;
import javax.swing.Timer;import org.jfree.chart.*;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.data.category.CategoryDataset;import org.jfree.chart.axis.NumberAxis;
import org.jfree.data.category.DefaultCategoryDataset;public class BarCpuUsage extends JApplet {
JFreeChart jfreechart; class DataGenerator extends Timer implements ActionListener {
private static final long serialVersionUID = 3977867288743720504L; public void actionPerformed(ActionEvent actionevent) { addTotalObservation(); } DataGenerator() {
super(1000, null);
addActionListener(this);
}
} private void addTotalObservation() {
CategoryPlot p = jfreechart.getCategoryPlot();
//设置新的数据集
jfreechart.getCategoryPlot().setDataset(createDataset());;
//通知Jfreechart 数据发生了改变,重新绘制柱状图
if (jfreechart != null) {
jfreechart.fireChartChanged();
}
} private static CategoryDataset createDataset() {
DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
String s = "System";
String s1 = "Nice";
String s2 = "User";
String s3 = "Total";
String s4 = "Cpu01";
String s5 = "Cpu02";
String s6 = "Cpu03";
String s7 = "Cpu04";
double d1 = (float)(10D * Math.random());
double d2 = (float)(10D * Math.random());
double d3 = (float)(10D * Math.random());
double d4 = (float)(10D * Math.random());
defaultcategorydataset.addValue(d1, s, s3);
defaultcategorydataset.addValue(d2, s, s4);
defaultcategorydataset.addValue(d3, s, s5);
defaultcategorydataset.addValue(d4, s, s6);
defaultcategorydataset.addValue(5D, s, s7);
defaultcategorydataset.addValue(5D, s1, s3);
defaultcategorydataset.addValue(7D, s1, s4);
defaultcategorydataset.addValue(6D, s1, s5);
defaultcategorydataset.addValue(8D, s1, s6);
defaultcategorydataset.addValue(4D, s1, s7);
defaultcategorydataset.addValue(4D, s2, s3);
defaultcategorydataset.addValue(3D, s2, s4);
defaultcategorydataset.addValue(2D, s2, s5);
defaultcategorydataset.addValue(3D, s2, s6);
defaultcategorydataset.addValue(6D, s2, s7);
return defaultcategorydataset;
} public void init() {
CategoryDataset categorydataset = createDataset();
jfreechart = ChartFactory.createBarChart("处理器利用率",
"节点名称", "Value", categorydataset, PlotOrientation.VERTICAL,
true, true, false);
jfreechart.setBackgroundPaint(Color.white);
CategoryPlot categoryplot = jfreechart.getCategoryPlot();
categoryplot.setBackgroundPaint(Color.lightGray);
categoryplot.setDomainGridlinePaint(Color.white);
categoryplot.setDomainGridlinesVisible(true);
categoryplot.setRangeGridlinePaint(Color.white);
NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();
numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
BarRenderer barrenderer = (BarRenderer) categoryplot.getRenderer();
barrenderer.setDrawBarOutline(false);
GradientPaint gradientpaint = new GradientPaint(0.0F, 0.0F, Color.blue,
0.0F, 0.0F, new Color(0, 0, 64));
GradientPaint gradientpaint1 = new GradientPaint(0.0F, 0.0F,
Color.green, 0.0F, 0.0F, new Color(0, 64, 0));
GradientPaint gradientpaint2 = new GradientPaint(0.0F, 0.0F, Color.red,
0.0F, 0.0F, new Color(164, 166, 0));
barrenderer.setSeriesPaint(0, gradientpaint);
barrenderer.setSeriesPaint(1, gradientpaint1);
barrenderer.setSeriesPaint(2, gradientpaint2);
barrenderer.setItemMargin(0.05);
CategoryAxis categoryaxis = categoryplot.getDomainAxis();
categoryaxis.setCategoryLabelPositions(CategoryLabelPositions
.createUpRotationLabelPositions(0.52359877559829882D)); ChartPanel chartpanel = new ChartPanel(jfreechart, false);
chartpanel.setPreferredSize(new Dimension(500, 270)); getContentPane().add(chartpanel);
(new DataGenerator()).start(); }
public void paint(Graphics g) { if (jfreechart != null) {
jfreechart.draw((Graphics2D) g, getBounds());
}
} public void destroy() {
}
}
解决方案 »
- description The requested resource (Servlet jsp is not available) is not availab
- 一个基于web的远程视频实时传输程序
- 这个socket程序有错误吗?
- java 调oracle存储过程传字符串数组
- 辞职.散分.走人.找工作
- 谁有免费的网站生成器软件,能否给我发一个!!!!!!!!!
- 求myeclipse6 for linux?不胜感激,我邮箱:[email protected]
- JSP论坛一问,急,小弟第一次写,在线等!!!
- 为什么有的时候tamcat要重启才能生效
- 高手求救!请问有没有专门的工具用来学习JSP?
- 测试连接sqlserver2000的问题
- 敢请问下各位高手,什么叫代码架构啊?
修改标签
<applet code="com.sundy.applet.BarCpuUsage" width="235" height="185" align="BOTTOM">
再试试。
action的请求方式:test.doSystem.out.println("获取工程名:"+request.getContextPath());
System.out.println("获取servlet请求路径:"+request.getServletPath());
System.out.println("获取工程绝对路径:"+request.getRealPath(""));
System.out.println("获取工程servlet路径:"+request.getRequestURI());
System.out.println("获取http请求路径:"+request.getRequestURL());===========================================================================
打印结果:
获取工程名:/test
获取servlet请求路径:/test.do
获取工程绝对路径:F:\Tomcat\Tomcat 6.0\webapps\test
获取工程servlet路径:/test/test.do
获取http请求路径:http://localhost:8080/test/test.do
上传WEB程序到TOMCAT目录下面后
新建一个appletplugin目录 专门放你的jsp,applet class文件以及jar包这样目录结构就包括你刚才新建的appletplugin和WEB-INF,META-INF都是你项目结构下的同一个级别的二级目录
appletplugin目录包括你的class文件你的jar包文件目录
appletplugin/com/applet/ky/Myapplet.class
appletplugin/lib/jcommon-1.0.10.jar,jfreechart-1.0.6.jar需要用到的jar包文件jsp中代码配置如下
用jsp:plugin标签方便不同浏览器的显示
<jsp:plugin type="applet" code="com.applet.ky.AppletTestJfree.class"
codebase="." width="500" height="400" archive="lib/jcommon-1.0.10.jar,lib/jfreechart-1.0.6.jar">
<jsp:params>
<jsp:param name="width" value="560" />
<jsp:param name="height" value="400" />
</jsp:params>
<jsp:fallback>
<p>无法载入 Applet</p>
</jsp:fallback>
</jsp:plugin>
不过我这里数据是要从数据库获取的,本机还是可以显示数据的。但是到了其他电脑上的浏览器上就,不行了。数据时空的。
好像是applet数据安全的问题,按照这里做了:http://www.7880.com/Info/Article-83e939e0.html
还是没有数据开始云里雾里了。。
help。
help。
help。