有关一个路径的问题,求!!!!

<servlet><servlet-name>DisplayChart</servlet-name><servlet-class>org.jfree.chart.serv... <servlet>
<servlet-name>DisplayChart</servlet-name>
<servlet-class>
org.jfree.chart.servlet.DisplayChart
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DisplayChart</servlet-name>
<url-pattern>/DisplayChart</url-pattern>
</servlet-mapping>

JFreeChart chart = ChartFactory.createPieChart3D("某公司组织结构图",dpd, true, false, false);

String fileName = ServletUtilities.saveChartAsPNG(chart,800,600,session);

String url = request.getContextPath() + "/DisplayChart?filename=" + fileName;

这个url路径究竟是什么,求解决!!!!!!
<body>
<%
DefaultPieDataset dpd = new DefaultPieDataset();
dpd.setValue("管理人员", 25);
dpd.setValue("市场人员", 25);
dpd.setValue("开发人员", 45);
dpd.setValue("其他人员", 10);
JFreeChart chart = ChartFactory.createPieChart3D("某公司组织结构图",dpd, true, false, false);
String fileName = ServletUtilities.saveChartAsPNG(chart,800,600,session);
String url = request.getContextPath() + "/DisplayChart?filename=" + fileName;
%>
<img src="<%= url %>" width="800" height="600">
</body>
展开
 我来答
yuhaifei12
2012-07-11 · TA获得超过664个赞
知道小有建树答主
回答量:120
采纳率:0%
帮助的人:141万
展开全部
getContextPath() 函数 是获得当前文件的虚路径的。
该路径是你访问这个页面所要输入的URL地址(输入域名之后的那一串路径,形如 www.myweb.com/virtual-test/index.jsp)。但是它并不是服务器中的实际文件的存放地址(形如D:\webRoot\real-test)。
举个例子
当前index.jsp页面在服务器中的实际地址中是 D:\webRoot\real-test下,但是实际访问的URL是www.myweb.com/virtual-test/index.jsp 那么该函数返回结果就是/virtual-test,而不是\real-rest。
这个/virtual地址其实是 在 server.xml文件里设定的。
###########
看你的代码应该是jfreechart的组件调用,jfreechart框架帮你在某个路径下生成了一张图片,为了在页面上显示出这个图像,但是html不知道这个图的URL地址是多少, ,所以就出现了getContextPath() 这个函数的调用了。
不知道 你明白了么。
追问
哥们你再看看上面的问题补充,那个" width="800" height="600">图片引用的地址不可能是虚地址吧!!!
追答
这里是虚地址 没错。该标签 里面的额URL  是虚地址啊。。。。。。你不相信的话直接把URL地址 手动 填上去,你就知道了。记住 这里是绝对路径。而不是 实际地址的相对路径。
虽然实际地址(物理)也可以,但是一般实际地址我们都用相对路径的方式书写,方便移植。但是这里肯定不是实际地址了。因为地址前有/
打开Tomcat目录下的conf文件夹里面的serve.xml文件,最下面一行看看 有没有标签,有的话 这个标签中的path 属性 就是getContextPath() 函数 需要获得的内容了。它是一个URL地址的上级目录。没有的话,该path属性默认在Tomcat安装目录下的一个webroot中。
记住开发人员永远不会傻到 用“D:\myprogram\myweb\webroot”这样的实际路径写进程序中的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式