URL 参数为sql 有空格 的解决办法
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 有空格 的解决办法的更多相关文章
- The database could not be exclusively locked to perform the operation(SQL Server 5030错误解决办法)(转)
		
Microsoft SQL Server 5030错误解决办法 今天在使用SQL Server时,由于之前创建数据库忘记了设置Collocation,数据库中插入中文字符都是乱码,于是到DataBas ...
 - url参数中出现+、空格、=、%、&、#等字符的解决办法
		
url出现了有+,空格,/,?,%,#,&,=等特殊符号的时候,可能在服务器端无法获得正确的参数值,如何是好?解决办法将这些字符转化成服务器可以识别的字符,对应关系如下:URL字符转义 用其它 ...
 - Sql Server 孤立用户解决办法
		
Sql Server 孤立用户 是我们经常遇到的事情,今天详细的梳理了下,希望能帮到你 当把用户数据库从一台 Sql Server 使用备份和恢复的方式迁移到另一台服务器.数据库恢复以后,原先用户定义 ...
 - 用 pdf.js兼容部分安卓显示PDF在线预览 时,a标签直接链接参数文件不能含中文的解决办法
		
例子: 项目部署在 Tomcat 上的: <a href="../generic/web/viewer.html?file=doc/register/要显示的文件.pdf" ...
 - Java Web项目漏洞:检测到目标URL存在http host头攻击漏洞解决办法
		
检测到目标URL存在http host头攻击漏洞 详细描述 为了方便的获得网站域名,开发人员一般依赖于HTTP Host header.例如,在php里用_SERVER["HTTP_HOST ...
 - sql server存储特殊字符解决办法
		
好久没来院子了,最近在学java了,再加上项目比较紧,最近都没怎么上,其实这几天在项目中学到不少东西,都能写下来,但是久而久之就忘了,还是得养成及时总结的好习惯啊,还有有时间一定要把那个小项目整理下来 ...
 - sql developer 中文乱码解决办法
		
近日在fedora13中安装了oracle和sql developer,在英文环境下启动sql developer正常,可是切换到中文环境下就显示乱码.google了一下,确定是因为JDK不支持中文的 ...
 - 使用Hibernate+MySql+native SQL的BUG,以及解决办法
		
本来是mssql+hibernate+native SQL 应用的很和谐 但是到了把mssql换成mysql,就出了错(同样的数据结构和数据). 查询方法是: String sql = " ...
 - url 参数的加号变成空格处理
		
今天在调试客户端向服务器传递参数时,参数中的“+”全部变成了空格,原因是URL中默认的将“+”号转义了. 解决方法如下: 方法一.修改客户端 将客户端带“+”的参数中的“+”全部替换为“2B%”,这 ...
 
随机推荐
- apache jmeter下载与安装
			
JMeter是Apache软件基金会的产品,用于对静态的和动态的资源性能进行测试.jmeter可以运行在多个平台上,如Windows和Linux,本文讲的是在Windows安装jmeter. 工具/原 ...
 - .NET Core/.NET5/.NET6 开源项目汇总2:任务调度组件
			
系列目录 [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...
 - Spring事务管理详解
			
事务概念回顾 什么是事务? 事务是逻辑上的一组操作,要么都执行,要么都不执行. 事物的特性(ACID): 原子性: 事务是最小的执行单位,不允许分割.事务的原子性确保动作要么全部完成,要么完全不起作用 ...
 - Unity3D学习笔记1——绘制一个三角形
			
目录 1. 绪论 2. 概述 3. 详论 3.1. 准备 3.2. 实现 3.3. 解析 3.3.1. 场景树对象 3.3.2. 绘制方法 4. 结果 1. 绪论 最近想学习一下Unity3d,无奈发 ...
 - 『心善渊』Selenium3.0基础 — 9、使用Seleniun中的By类定位元素
			
目录 1.使用By定位的前提 2.By定位的方法 3.By定位的使用 4.复数形式的示例 我们还可以通过Seleniun测试框架中的By类,来实现页面中的元素定位. 1.使用By定位的前提 需要导入B ...
 - 整合Spring Cloud Stream Binder与GCP Pubsub进行消息发送与接收
			
我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 前言 之前的文章<整合Spring Cloud Stream Binder与RabbitMQ进行消息发送与接收& ...
 - ES6学习笔记之函数(一)
			
1.函数的默认参数 在ES6 之前,我们不能直接为函数的参数指定默认值,只能采用其他方法.如: function show (num, callback){ num = num || 6; callb ...
 - HDU 4292  Food   多源多汇入门题
			
Food 有F种食物和D种饮料,每种食物或饮料只能供有限次,且每个人只享用一种食物和一种饮料.现在有n个人,每个人都有自己喜欢的食物种类列表和饮料种类列表,问最多能使几个人同时享用到自己喜欢的食物和饮 ...
 - zset如何解决内部链表查找效率低下
			
zset作为有序集合,内部基于跳表或者说索引的方式实现了数据的快速查找.解决了链表查询效率低下的痛点 前言 紧接前文我们学习了Redis中Hash结构.在里面我们梳理了字典这个重要的内部结构并分析了h ...
 - Springboot:单元测试日志打印@Slf4j 注解的使用方法
			
当自己写日志的时候,肯定需要: private final Logger logger = LoggerFactory.getLogger(LoggerTest.class); 每次写新的类,就需要重 ...