这是客户提的问题,帮忙解答了一下:
1:服务端维护 cognos报表 seachPath 与ID的映射表,服务端保存cognos的服务器信息。
2:给客户端的列表只给报表ID。
3:客户端要执行报表时,向服务端发出请求,服务端根据ID找到searchPath,根据cognos服务端配置,拼出访问的URL和参数。
这时需要注意,不要使用 response.sendRedirect()浏览器发送一个redirect通知,因为浏览器重定向到新的URL(地址栏的URL会改变)。客户可以看到完整的URL。
应该使用 Forward( ) ,这对于浏览器是透明的(地址栏的URL不会改变)。
使用方法:
Dispacher dispatch = request.getRequestDispatcher("cognos报表访问URL");
request.setAttribute("参数",值);
dispatch.forward(request, response)
这样就可以正确转向cognos报表,但又不暴露URL了。