get请求中的“+”为什么被忽略掉了?

olo721727175 2011-04-15 10:49:48
在get请求处理中,如果请求参数有“+”这个+就会被忽略,并用空格代替了。
如:
http://localhost:8080/Forum/AreaList.do?mainArea=C++
我的servlet里面就会得不到这2个“+”。
如:
开始从数据的piece表中查询Piece对象,查询条件是:”C “
请问,这是为什么?有什么解决方面没?
...全文
1030 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
olo721727175 2011-04-15
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 tubage408 的回复:]

1. + URL 中+号表示空格 %2B
2. 空格 URL中的空格可以用+号或者编码 %20
3. / 分隔目录和子目录 %2F
4. ……
[/Quote]
谢谢!!
olo721727175 2011-04-15
  • 打赏
  • 举报
回复
恩……,问题解决了。谢谢各位!!
强长黑粗硬 2011-04-15
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 tubage408 的回复:]
1. + URL 中+号表示空格 %2B
2. 空格 URL中的空格可以用+号或者编码 %20
3. / 分隔目录和子目录 %2F
4. ? 分隔实际的 URL 和参数 %3F
5. % 指定特殊字符 %25
6. # 表示书签 %23
7. & URL 中指定的参数间的分隔符 %26
8. = URL 中指定参数的值 ……
[/Quote]
受用了
tubage408 2011-04-15
  • 打赏
  • 举报
回复
1. + URL 中+号表示空格 %2B
2. 空格 URL中的空格可以用+号或者编码 %20
3. / 分隔目录和子目录 %2F
4. ? 分隔实际的 URL 和参数 %3F
5. % 指定特殊字符 %25
6. # 表示书签 %23
7. & URL 中指定的参数间的分隔符 %26
8. = URL 中指定参数的值 %3D
tubage408 2011-04-15
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 shine333 的回复:]
用%2B转义
GET中querystring的+号代表空格的含义
xxx?x=1+2的含义是参数x="1 2"
xxx?x=a%2Bb的含义是参数x="a+b"
[/Quote]+10
shine333 2011-04-15
  • 打赏
  • 举报
回复
用%2B转义
GET中querystring的+号代表空格的含义
xxx?x=1+2的含义是参数x="1 2"
xxx?x=a%2Bb的含义是参数x="a+b"
Coolfatman 2011-04-15
  • 打赏
  • 举报
回复
必须转义,get命令中不能传的参数多的是,你最好好好看看。
hzhj90 2011-04-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ylz2007 的回复:]

转义吧,try: %2B
[/Quote]正解。
  • 打赏
  • 举报
回复
转义吧,try: %2B
安特矮油 2011-04-15
  • 打赏
  • 举报
回复
这样的话你只有到后台取出来再转换成C++了,mainArea你就传代码值,到后台对应转换C++也好JAVA也好都无所谓了
olo721727175 2011-04-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dadong1713 的回复:]

呵呵,不知道可否用转义字符试试
[/Quote]
这个我也试过了,日志如下:
[DEBUG]-in[com.star7.forum.controller.AreaList]_2011-04-15 11:14:59 :开始处理子版块列表请求,请求:mainArea=C\ \
dadong1713 2011-04-15
  • 打赏
  • 举报
回复
呵呵,不知道可否用转义字符试试
olo721727175 2011-04-15
  • 打赏
  • 举报
回复
上面的日子信息考错了,这个是。
[DEBUG]-in[com.star7.forum.controller.AreaList]_2011-04-15 11:04:58 :开始处理子版块列表请求,请求:mainArea='C '
olo721727175 2011-04-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 abstruct 的回复:]

它会认为是加法运算,所以你可以把URL写成http://localhost:8080/Forum/AreaList.do?mainArea='C++'
[/Quote]
我按照您说的改了,可是还是没解决,显示如下:
[DEBUG]-in[com.star7.forum.dao.AreaListDAOImpl]_2011-04-15 11:04:58 :开始从数据的piece表中查询Piece对象,查询条件是:'C '
而且,我想问一下get请求支持算数运算吗?
安特矮油 2011-04-15
  • 打赏
  • 举报
回复
它会认为是加法运算,所以你可以把URL写成http://localhost:8080/Forum/AreaList.do?mainArea='C++'

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧