提交表单中空字符串""和Null的使用

在Java JSP应用中,遇到Session处理空字符串""和Null时引发的问题。当表单未填写内容提交时,原本期望的跳转并未发生。通过探究发现,NULL是一个空引用,不占内存,而""占内存但长度为0。这导致了判断逻辑上的差异。最终通过调整判断条件解决了问题,即检查字段是否为"",而非NULL。此博客分享了这一学习过程,提醒开发者注意此类细节。
摘要由CSDN通过智能技术生成

今天在练习Session的过程中,恰巧使用到了null和“”的使用,当时并不在意,最后发现表单没有东西时居然不能跳转回来,明明在另一个页面设置了跳转的。

为了配合session的使用,在一个会话内要是回到登录界面那么保留账户名,我给账户名
设置为了一个字符串为空,等下可以填充账户名,(因为一个页面负责删除会话,而另一个页面则负责显示和返回),因此

先来看下提交表单界面的部分代码:

判断是否不是新创建的会话,那么这样就可以保留原来给予的账户名的值,这样当我返回登录界面时候,账户名还是存在的。

<%String name="";
if(!session.isNew()){
 name=(String)session.getAttribute("username");
 if(name==null) name="";
}
%>

我在一个input中给放了name的值这样可以动态变化账户名。

<td width="309"><input type="text"name="username" value="<%=name %>" ></td>

这是表单提交页面,在这里获取刚刚设置账户名。但是问题就来了,我发现我账户名没有设置任何,就直接提交,居然不会跳转回原来的页面。真是让我头大,一度怀疑是不是JSP的缘故。后来仔细一琢磨null和“”字符串会不会存在区别

String name=null;
name=request.getParameter(
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值