javaWeb中URLEncoder.encode空格问题

近期开发一个在线坐席的功能。发现推送的消息中空格变成了+ 。查询发现URLEncoder.encode的问题。曾经用的时候也没注意过,解决的方法网上是对URLEncoder.encode的之后的字符串进行替换+号,这样的方式假设真的有+号那也被替换了。所以应该在URLEncoder.encode方法之前对字符串进行替换。然后到了页面上在对其进行替换回来


代码:

java中URLEncoder.encode之前进行替换:

 //解决urlecode空格问题

message=message.replaceAll(" ", "%20");

event.setField("msg", URLEncoder.encode(message,"UTF-8"));


jsp页面对界面后的字符串进行替换:

context=decodeURIComponent(context);
f(null!=context&&"undefined"!=context){
//转化所有的空格 %20——空格

context=context.replace(/%20/g," ");

//....

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: session.getAttribute()是JavaWeb的一个方法,用于获取Session存储的属性值。它的作用是从Session获取指定名称的属性值,如果属性不存在,则返回null。在JavaWeb开发,Session是一种用于在服务器端存储用户信息的机制,可以通过Session来实现用户登录状态的维护、数据共享等功能。使用session.getAttribute()方法可以方便地获取Session存储的用户信息,从而实现相关的业务逻辑。 ### 回答2: 在Java Web,Session是指服务器端存储用户会话信息的一种机制。在客户端与服务器交互时,服务器为每个访问者创建一个Session对象,用于存储该访问者的会话信息。 很多时候,我们需要在Session存储一些变量或者对象,这时就可以使用Session的setAttribute()方法进行存储,具体实现方式如下: ```java HttpSession session = request.getSession(); session.setAttribute("key", "value"); ``` 其,"key"表示存储的变量或对象的名称,"value"表示存储的变量或对象。 在需要使用Session的变量或对象时,我们可以使用Session的getAttribute()方法进行获取,具体实现方式如下: ```java HttpSession session = request.getSession(); Object obj = session.getAttribute("key"); ``` 其,"key"表示需要获取的变量或对象的名称,obj表示获取到的变量或对象。 需要注意的是,Session的变量或对象需要在使用后进行删除,以避免不必要的内存占用。可以使用Session的removeAttribute()方法进行删除,具体实现方式如下: ```java HttpSession session = request.getSession(); session.removeAttribute("key"); ``` 其,"key"表示需要删除的变量或对象的名称。 总之,Session的getAttribute()方法是Java WebSession机制的重要组成部分之一,可以用于在Session存储和获取变量或对象,方便Web应用程序的设计和实现。 ### 回答3: 在Javaweb,Session是一种保存用户特定信息的机制。它允许在不同的HTTP请求之间共享数据,并且常用在用户登录身份验证、购物车等场景。 而其的session.getAttribute()方法则可用于获取已设置的Session值。其语法如下: Object getAttribute(String name) 其,name参数是要获取的Session属性的名称。一般情况下,我们将Session属性名定义为常量,以便在代码使用。 例如,下面的代码演示了如何使用session.getAttribute()方法获取Session的值: HttpSession session = request.getSession(false); if(session != null){ String username = (String)session.getAttribute("USERNAME"); int age = (Integer)session.getAttribute("AGE"); } 此代码首先获取当前HTTP请求的Session对象。如果没有会话,则使用false作为参数,表示不创建新会话。然后,我们使用getAttribute()方法从会话检索存储在所有者为“USERNAME”和“AGE”的键下的对象,并将其转换为相应的数据类型。 需要注意的是,如果托管会话的服务器关闭或重新启动,所有存储在会话的数据都将丢失。因此,我们需要谨慎地使用Session,并且确保在合适的时候将它们清除。此外,在使用Session属性之前,我们还应该检查它是否为null。 综上所述,Session.getAttribute()方法是Javaweb非常重要和常用的方法之一,可用于在不同HTTP请求之间共享数据,实现用户身份验证和购物车等功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值