当前位置: 技术问答>java相关
jsp中线程输出。
来源: 互联网 发布时间:2015-08-16
本文导语: 下边是一个jsp程序,错在 out.println("OK"); 但我又想在线程中用 out.println("OK"); 不知道如何改。 —————————————————————— | 把out作为参数传进去,加个方法 setOut(PrintStream out) ...
下边是一个jsp程序,错在
out.println("OK");
但我又想在线程中用
out.println("OK");
不知道如何改。
——————————————————————
out.println("OK");
但我又想在线程中用
out.println("OK");
不知道如何改。
——————————————————————
|
把out作为参数传进去,加个方法 setOut(PrintStream out)
在ChatShow 中加个PrintStream 的类成员变量就可以了
在ChatShow 中加个PrintStream 的类成员变量就可以了
|
要用内建对象Response的getWriter或者getOutputStream方法获得PrintWriter或者ServletOutputStream,然后用他们向页面上输出信息
|
线程启动方式这样好吗?没试过这样做。
记得通常是不需要重载start方法吧?
同时从线程中取得数据输出到页面方式应该是不可行的。
jsp叶面接收到客户端请求后就需要马上给出响应,然后就把jsp解析成静态的页面了。而线程是不可预知合适结束、何时有返回值。
所以从理论上来说,这种方法是不可行的。
不知道你为什么需要在jsp中启动线程?
记得通常是不需要重载start方法吧?
同时从线程中取得数据输出到页面方式应该是不可行的。
jsp叶面接收到客户端请求后就需要马上给出响应,然后就把jsp解析成静态的页面了。而线程是不可预知合适结束、何时有返回值。
所以从理论上来说,这种方法是不可行的。
不知道你为什么需要在jsp中启动线程?
|
如果仅仅希望编译通过可以这样改:
pw.println("ok");
...
final javax.servlet.jsp.JspWriter pw=out;让内嵌类使用局部变量
ChatShow CS = new ChatShow();
CS.setOut(pw);
CS.start();
但我猜想这个结果不会然你满意,正如楼上所说的"..解析成静态的页面了"
你不会在一面上看看一个变动得数字,servlet在这里也帮不上忙,他和jsp本质上是一个东西.嵌入applet实现这个没有问题的.
pw.println("ok");
...
final javax.servlet.jsp.JspWriter pw=out;让内嵌类使用局部变量
ChatShow CS = new ChatShow();
CS.setOut(pw);
CS.start();
但我猜想这个结果不会然你满意,正如楼上所说的"..解析成静态的页面了"
你不会在一面上看看一个变动得数字,servlet在这里也帮不上忙,他和jsp本质上是一个东西.嵌入applet实现这个没有问题的.