Java后台方法请求url浏览器打开一个窗口

在项目中,作者需要从系统A组装参数并利用系统B的部分URI创建一个URL,然后在浏览器中打开一个新的tab展示内容。由于GET请求的参数长度限制,重定向方法不可行。尝试使用HttpUrlConnection但遇到参数丢失问题,最后选择了HttpClient作为解决方案。代码中设置了contentType和characterEncoding以确保数据正确显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目中遇到一个这样的需求:在本系统A中组装参数,然后再根据系统B提供的部分uri,组装一个完整的url类似

"http://127.0.0.1:8090/test/index.jsp?userId=123&prjId=51011
通过http协议来访问系统B。当点击系统A中的链接,在浏览器中打开一个tab页展示系统B对应的内容。
就这么一个小小的需求,折腾了一天,不过问题总算解决了!在此记录!
第一反应使用重定向来说实现,但是重定向使用get方式提交,提交的参数长度是有限制的,大概256个字符吧
由于项目中组装的参数可能会超过256,则此种方法不能使用。

于是想到使用HttpClient,可是要使用HttpClient必须添加所依赖的jar,但是又不想添加jar,则此种方式作为

备用方案!

有同事说可以使用HttpUrlConnection,开发中遇到参数传递时,系统B中死活获取不到参数。于是查找原因,

步确定为servlet在forward的时候,把参数给搞丢了。至今这个问题还没有想出解决方法,如果你有好的解决方

法,还请指点。。。

无奈只好使用HttpClient,实现方法很简单,直接贴代码吧

 


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值