求助高手!java如何截获控制台输出内容并保存到文件中?

linuxer5 2011-06-03 10:15:00
本人变了一个java web工程,使用一个servlet控制客户端的请求,在控制台Console中可以输出结果,但是如何在这个servlet中将控制台中的输出内容回传到jsp页面中,或者保存到相应的文本文件中也可以,迷惑中,求解?!!
...全文
1185 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Bannings 2011-06-03
  • 打赏
  • 举报
回复
你的out可以先指向System.out,然后构建一个StringBuffer,把要写给浏览器的数据添加到StringBuffer中,再通过out写出去;再将out指向的response.getWriter()或者文件系统,把StringBuffer中的数据再一次写出去就行了
Bannings 2011-06-03
  • 打赏
  • 举报
回复
先写在一个StringBuffer里面,之后就任你写到哪去了,写多少次也没关系
anran1026 2011-06-03
  • 打赏
  • 举报
回复
各种迷惑中 不晓得楼主的代码是哪里来的
linuxer5 2011-06-03
  • 打赏
  • 举报
回复

这个是dopost()中的代码:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String file1="E:\\TestPolicy.xml";
String file2="E:\\TestRequest.xml";

PDP pdp; //存放策略结果
//首先从文件系统中得到相应的策略文件
FilePolicyModule filePolicy=new FilePolicyModule();
filePolicy.addPolicy(file1); //加入策略文件TestPolicy. xml

//通过文件,建立策略寻找点—PolicyFinder
PolicyFinder policyF=new PolicyFinder();
Set policyModules=new HashSet();
policyModules.add(filePolicy);
policyF.setModules(policyModules);

//建立属性查找点—AttributeFinder
CurrentEnvModule envAttr=new CurrentEnvModule();
SelectorModule selectorAttr=new SelectorModule();
AttributeFinder attrFinder=new AttributeFinder();
List attributeModules=new ArrayList();
attributeModules.add(envAttr);
attributeModules.add(selectorAttr);
attrFinder.setModules(attributeModules);

//最后建立我们的PDP,即策略库信息
pdp = new PDP(new PDPConfig(attrFinder, policyF, null));

//下面接收请求信息,该请求信息存放在文件TestRequest.xml中
try
{
RequestCtx request1=RequestCtx.getInstance(new FileInputStream (file2));
ResponseCtx responsec=pdp.evaluate(request1);
Indenter idt=new Indenter();
OutputStream opt=System.out;
responsec.encode(opt,idt);
//System.setOut(new PrintStream(new FileOutputStream( "D:\\abc.txt "), true));



PrintWriter out=new PrintWriter(opt);
out=response.getWriter();
response.setContentType("text/html");
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println(", using the POST method");
out.println(opt);
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();


}
catch(Exception e){System.out.println(e.getMessage());}



}
anran1026 2011-06-03
  • 打赏
  • 举报
回复
建议把servlet代码贴出来
anran1026 2011-06-03
  • 打赏
  • 举报
回复
可以用JSP的内置对象request或者session
你可以把想传会JSP页面的东西保存在request里面,比如你想传一个user,你就可以用request.setAttribute("user",user);
你就可以在页面获取user的所有东西
linuxer5 2011-06-03
  • 打赏
  • 举报
回复
本人初学,麻烦能说的详细点儿吗,具体怎么StringBuffer存储System.out内容?,谢谢了。。。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧