开发者社区 问答 正文

tomcat HttpServletRequest getParameter 偶?400报错

tomcat HttpServletRequest getParameter 偶尔不能获取到值? 400 报错 tomcat部署运行时getParameter偶尔出现不能获取到值,但是getQueryString可以获取到参数数据,测试的时候是同一个请求,输入参数也一样,查看日记没有任何报错信息

展开
收起
爱吃鱼的程序员 2020-06-01 14:51:16 456 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    不会吧.你要把测试数据一起发出来看看.版本什么的.描述这么一个场景,用脑子计算不出来吧..######tomcat换了最新版本的######GET?POST?######回复 @bodala : 硬件:Red Hat Enterprise Linux Server release 6.4 (Santiago) 软件:tomcat servlet代码: String val= req.getParameter("test"); val的值有时候会出现null 同一个请求链接例如:http://test?test=tttttttt######回复 @hzyu : 建议你具体点,太笼统了,别人也无法帮到。你肯定哪个细节出问题了!程序是死的,只要规范,就不可能出错,如若不然,银行的钱就一上一下的,有危险了。######get跟post都一样会出现######

    可参考我之前写的一篇博文,详细的介绍了getParameter和getQueryString,也许会有所帮助,谢谢!

    http://my.oschina.net/gschen/blog/120553

    ######我已经从头到尾看过了 但是没有找到解决的办法###### getQueryString 可以获取到的话,就自己取出queryString自己解析
    Map<String, Object> params = new HashMap<String, Object>(); if (StringUtils.isNotEmpty(queryString)) {

    		Pattern ptn = Pattern.compile("([^=]+)=([^&]+)&?");
    		Matcher mtc = ptn.matcher(queryString);
    		while (mtc.find()) {
    			String key = mtc.group(1);
    			String value = mtc.group(2);
    			try {
    				value = URLDecoder.decode(value, "UTF-8");
    			} catch (UnsupportedEncodingException e) {
    				e.printStackTrace();
    			}
    			params.put(key, value);
    		}
    	}</pre> <p> <br /> </p> <p> <br /> </p> </span>######我这边已经是这样暂时处理了######我这边现在也出现这个问题了。你哪里解决了没有???还是通过request.getQueryString()么?
    
    2020-06-01 14:51:34 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论