用的web服务器是resin服务器,在配置web.xml时需要注意,其实resin服务器的web.xml服务器配置和tomcat服务器的配置很像,
1. 我第一次按照自己的想法,想当然的在resin-pro-3.1.4a\webapps\resin-doc\WEB-INF下的resin-web.xml配置servelet,因为看见这个文件里面的很多语句很像配置servlet的。启动服务器,这样得到的结果当然是后台提示错误,
{resin-6} WEB-INF/resin-web.xml:22: ‘XXX‘ is not a known servlet. Servlets belong in the classpath,。。。。
2.意识到在resin-web.xml配置是错误的,然后就换一个位置,配置resin-pro-3.1.4a\webapps\ROOT\WEB-INF下的web.xml,
配置的内容为
<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>
启动服务器,后台同样提示{resin-6} WEB-INF/resin-web.xml:22: ‘XXX‘ is not a known servlet. Servlets belong in the classpath,错误
3.上网搜了一下,有博文http://blog.sina.com.cn/s/blog_48476d9b010001e3.html
提示应该配置resin-pro-3.1.4a\webapps\ROOT\WEB-INF该目录下的web.xml , servlet为
<servlet servlet-name=‘DisplayChart‘ servlet-class=‘org.jfree.chart.servlet.DisplayChart‘/>
<servlet-mapping url-pattern=‘/DisplayChart‘ servlet-name=‘DisplayChart‘/>
这样还是发现找不到org.jfree.chart.servlet.DisplayChart类
[17:51:33.688] {resin-7} WEB-INF/resin-web.xml:22: ‘org.jfree.chart.servlet.Disp
layChart‘ is not a known servlet. Servlets belong in the classpath, often in WE
B-INF/classes.
4,最后一招是,解压jfreechart-1.0.14.jar,将org文件夹复制到WEB-INF/classes目录下,这样类文件org.jfree.chart.servlet.DisplayChart就包含进去了,
启动服务器,可以打开网页,工作也正常,图片也显示出来了。
但是有个问题是后台一直在不断发出提示
[17:51:33.688] {resin-7} WEB-INF/resin-web.xml:22: ‘org.jfree.chart.servlet.DisplayChart‘ is not a known servlet. Servlets belong in the classpath, often in WEB-INF/classes.
这个问题需要解决。
4.后来检查发现是
resin-pro-3.1.4a\webapps\resin-doc\WEB-INF下的resin-web.xml配置servelet,没有改回原来的(即没有删除第一步配置的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>
删除以上内容以后,后台运行正常。