首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

JSP+SERVLET中使用JFREEREPORT有关问题

2012-03-13 
JSP+SERVLET中使用JFREEREPORT问题我的servlet是这样的:packagecom.testimportjava.io.IOExceptionimpor

JSP+SERVLET中使用JFREEREPORT问题
我的servlet是这样的:
package   com.test;

import   java.io.IOException;
import   java.io.OutputStream;
import   javax.servlet.ServletException;
import   javax.servlet.http.HttpServlet;
import   javax.servlet.http.HttpServletRequest;
import   javax.servlet.http.HttpServletResponse;
import   org.jfree.report.JFreeReport;
import   org.jfree.report.modules.output.table.base.TableProcessor;
import   org.jfree.report.modules.output.table.html.HtmlProcessor;
import   org.jfree.report.modules.output.table.html.StreamHtmlFilesystem;
import   org.jfree.report.util.Log;

/**
  *   HtmlExampleServlet演示如何通过HTML表格在Web环境下展示JFreeReport定义的表格
  */
public   class   HtmlExampleServlet   extends   HttpServlet   {
public   void   doGet(final   HttpServletRequest   request,
final   HttpServletResponse   response)   throws   ServletException,
IOException   {
doPost(request,   response);
}

public   void   doPost(final   HttpServletRequest   request,
final   HttpServletResponse   response)   throws   ServletException,
IOException   {
TableProcessor   worker;
//   设置输出页面的Meta信息
response.setHeader( "Content-Disposition ",   "inline;   filename=\ " "
+   "unknown.html "   +   "\ " ");
//   设置页面的输出格式
response.setHeader( "Content-Type ",   "text/html ");

try   {
//   获取Servlet的输出流
OutputStream   out   =   response.getOutputStream();

//   获取HelloWorld中定义的报表
HelloWorld   helloWorld   =   new   HelloWorld();
JFreeReport   report   =   helloWorld.getReport();

//   将报表和Servlet的输出流作为参数传递给TableProcessor的实例
final   HtmlProcessor   processor   =   new   HtmlProcessor(report);
processor.setFilesystem(new   StreamHtmlFilesystem(out));
worker   =   processor;
}   catch   (Exception   e)   {
Log.debug( "无法解析报表定义 ",   e);
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
return;
}
try   {
//   输出结果
worker.processReport();

}   catch   (Exception   e)   {
Log.debug( "输出结果产生错误 ",   e);
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
return;
}
}
}


web.xml是这样的:
<?xml   version= "1.0 "   encoding= "UTF-8 "?>
<web-app   version= "2.4 "   xmlns= "http://java.sun.com/xml/ns/j2ee "   xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance "   xsi:schemaLocation= "http://java.sun.com/xml/ns/j2ee  
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd ">
<servlet>
<servlet-name> Rtest </servlet-name>
<servlet-class> com.test.HtmlExampleServlet </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> Rtest </servlet-name>
<url-pattern> /Rtest </url-pattern>
</servlet-mapping>
<session-config>
<session-timeout> 30 </session-timeout>
</session-config>
<welcome-file-list>
<welcome-file> MyJsp.jsp </welcome-file>


</welcome-file-list>
</web-app>


调用的HTML页面:
<html>
<head>
<base   href= " <%=basePath%> ">

<title> My   JSP   'MyJsp.jsp '   starting   page </title>

<meta   http-equiv= "pragma "   content= "no-cache ">
<meta   http-equiv= "cache-control "   content= "no-cache ">
<meta   http-equiv= "expires "   content= "0 ">
<meta   http-equiv= "keywords "   content= "keyword1,keyword2,keyword3 ">
<meta   http-equiv= "description "   content= "This   is   my   page ">

<!--
        <link   rel= "stylesheet "   type= "text/css "   href= "styles.css ">
        -->
</head>

<body>
<FORM   action= "/Rtest "   method= "post ">
<INPUT   type= "Submit "   value= "确认 "   />
</FORM>
</body>
</html>

但是在运行的时候就老是出现这样的错误信息:
HTTP   Status   404   -   /Rtest

--------------------------------------------

type   Status   report

message   /Rtest

description   The   requested   resource   (/Rtest)   is   not   available.


--------------------------------------------

Apache   Tomcat/5.5.17

请各位大侠告诉小弟下.谢谢

[解决办法]
找不到serverlet

<FORM action= "Rtest " method= "post ">
<INPUT type= "Submit " value= "确认 " />
</FORM>

去掉/看看

热点排行