小弟又遇到问题了,java的filter类可以做请求和响应拦截,请问怎样将修改里面的响应内容呢,可不可以在响应里加入流对象,让客户端读取呢?用struts的拦截器能做到也行?各位大神有没有知道的

解决方案 »

  1.   

    filter方法里不是可以拿到request和response对象的吗,你直接setAttr...的不行吗
      

  2.   

    这么说吧一个窗体应用程序,一个web项目,E:/mp3/a.mp3,tomcat在D:/server/tomcat...在窗体里面有一个web项目的连接就叫做http://192.168.0.105:8080/mymp3/a.mp3吧,但这个mp3文件不在web下,我的目的是拦截请求,在调用chain.doFilter(req,resp)之前获取连接中的mp3名字,然后根据mp3名字在e盘下找到这个mp3文件,得到它的流对象,把这个流给response,让窗体客服端播放这首歌。如果不做处理的话http://192.168.0.105:8080/mymp3/a.mp3连接会报错说资源文件不存在。。
      

  3.   

    如果用setAttribute的话在窗体客户端又怎么得到response的内容呢,关键是我这是一个窗体应用程序和web站点的通信,请赐教
      

  4.   

    response可以拿到输出流的,你直接getoutpXXX,重定向写出去
      

  5.   

    http://www.cnblogs.com/yqskj/articles/2226774.html 里面第四条你能用到,看看去吧
      

  6.   

    哈哈 ,可以 了,太高兴了。5楼的有用,就是通过outXXX写出去的,客户端用HttpURLConnection和BufferedInputStream。很感谢!