首页 > 数据库技术 > 详细

URL 参数为sql 有空格 的解决办法

时间:2020-07-20 14:52:03      阅读:72      评论:0      收藏:0      [点我收藏+]
			var strsql=" select e.* from es_doc_main e where 1=1"
  				+" and e.doccode=‘"+prtNo+"‘ and e.subtype <> ‘1022‘ and e.busstype=‘TB‘ order by subtype ";
			//strsql.replace(/\s+/g,"%20");
  	      	if(arrResult[0][0]==‘01‘)
  	      	{
  	      	easyScanWin = window.open( "./ProposalEasyScan.jsp?LoadFlag=5&QueryType=4&prtNo="+prtNo+"&MissionID="+tMissionID
                  +"&SubMissionID="+tSubMissionID+"&ProposalType=01" + "&ManageCom="+tManageCom+"&SqlStr="+encodeURI(strsql), "", ""); }

  这里 会显示无法找到页面404

开发web服务中,发现当url中含有空格时,会报 400 error: bad request sytanx,经分析,url中含有特殊字符时,服务端可能无法识别。

如+,空格,/,?,%,#,&,=等。该如何破呢?

应当使用字符转义,将特殊字符进行编码表示。编码格式是:% + 对应字符的ascii码。

 

+    URL 中+号表示空格                                 %2B   
空格 URL中的空格可以用+号或者编码           %20 
/   分隔目录和子目录                                     %2F     
?    分隔实际的URL和参数                             %3F     
%    指定特殊字符                                          %25     
#    表示书签                                                  %23     
&    URL 中指定的参数间的分隔符                  %26     
=    URL 中指定参数的值                                %3D

所以需要处理(sql)中的空格,在js中处理办法

..."&ManageCom="+tManageCom+"&SqlStr="+encodeURI(strsql)

 在JSP中的处理办法

<frame id="fraPic" name="fraPic" scrolling="auto"  src="../common/EasyScanQuery/EasyScanQuery.jsp?prtNo=<%=request.getParameter("prtNo")%>
&QueryType=<%=request.getParameter("QueryType")%>&SqlStr=<%=java.net.URLEncoder.encode(request.getParameter("SqlStr"))%>">

另外查看定义

技术分享图片 

atzhang

 

URL 参数为sql 有空格 的解决办法

原文:https://www.cnblogs.com/zytcomeon/p/13344411.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!