servlet内部跳转if语句不执行,也不报错

问题描述

servlet内部跳转if语句不执行,也不报错

} else if ("shoppingCartBooks".equals(flag)) {

String username = req.getParameter("username");

System.out.println(username+"****");

if (username != null) {

List list = bs.getAllBooksInShoppingCart(username);

req.setAttribute("list", list);

req.getRequestDispatcher("jsp/shopping.jsp").forward(req, resp);

} else if(username==null) {

//req.setAttribute("errorMess", "请登录!");

System.out.println("跳转了!!");

req.getRequestDispatcher("BookServlet?flag=allBooks").forward(

req, resp);

}

一切正常,username也为空,打出来看了,也取到了,唯独,不进入if()条件句里面,怎么回事??也没有异常!!一切正常!!

解决方案

知道的回复我,到底怎么会是??这个username明明为null,我已经打出来看过了,在里面也取出来看了,就是进不去if(null)里面,知道的速度解答!!快要疯了!!

解决方案二:

你这里应该是null和“”的问题。

null表示还没new出对象,就是还没开辟空间 “”表示new除了对象,但是这个对象装的是空字符串。

对于username=request.getParameter("") 当前端没有为username输入时,它默认的应该是“” 而不是null。自然你这里的if就进不去了

解决方案三:

修改为 if("".equals(username)) 再试下看看

解决方案四:

真实太逗了,错误的逻辑

解决方案五:

请问楼主解决这个问题了吗,我也是碰到这个问题,if语句不能执行,验证过值都对,但是一到if语句就跳过。也不报错。
下边是部分代码:
sql=con.createStatement();
rs=sql.executeQuery(isActor);
int i=0;
while(rs.next()){
//if(log.getUser()==(rs.getString(1)).trim() && log.getPassword()==(rs.getString(2)).trim()) //这条语句不能执行
u[i]=(rs.getString(1)).trim();
p[i]=(rs.getString(2)).trim();
i++;
}
for(int m=0;m<i;m++){
if(log.getUser()==u[m] && log.getPassword()==p[m])
response.sendRedirect("loginSuccessS.jsp");
}
response.sendRedirect("loginError.jsp");


时间: 2024-09-01 06:19:46

servlet内部跳转if语句不执行,也不报错的相关文章

java 执行 sql 文件报错 求大神帮忙解决 急急急!!!!

问题描述 java 执行 sql 文件报错 求大神帮忙解决 急急急!!!! sql文件里边的内容 /* Navicat MySQL Data Transfer Source Server : localhost_3306 Source Server Version : 50096 Source Host : localhost:3306 Source Database : cemscenter1 Target Server Type : MYSQL Target Server Version :

链表的add不执行也不报错

问题描述 链表的add不执行也不报错 求大神解答,products是范型为Product的List,执行到products.add(product)的时候总是停下,也不报错,这是什么原因啊? 解决方案 Product product = new Product(); product = gDao.get(Product.class sql id); String attrnameids = product.getAttrname(); String []attrnameids2 = attrna

using-为什么ASP.NET程序运行时不执行,也不报错?急急,哪位大蚁帮我一把戏?

问题描述 为什么ASP.NET程序运行时不执行,也不报错?急急,哪位大蚁帮我一把戏? 点发布时,屏幕闪一下,没有任何提示,不进行验证,也没有加到SQL2005库中! 前台: <%@ Page Language="C#" validateRequest="false" CodeFile="kjxm_Edit.aspx.cs" Inherits="As_Tzxm_Edit" %> <%@ Register Tag

background-chrome扩展执行tabs.executeScript报错提示no main frame

问题描述 chrome扩展执行tabs.executeScript报错提示no main frame 在选项卡里打开www.baidu.com,然后在background里后台运行chrome.tabs.executeScript(cid, {code:"document.body.innerHTML +='< div >aa< /div >'",allFrames:false}); 提示no main frame:不知道怎么解决. 解决方案 是不是页面没有加载

数据库导入-sql脚本insert语句过长,导入报错

问题描述 sql脚本insert语句过长,导入报错 今天在用mysql导入sql脚本时,报错"MySQL server has gone away",经检测,是"insert...value..."里数据过多导致不能插入.后修改配置文件: 1.tmp_table_size 2.max_allowed_packet 仍旧报同样的错.来位大神解决了吧,真揪心. ps:最好是通过调整mysql配置参数,因为sql不是本人写的.

linux执行应用程序指令报错

问题描述 linux执行应用程序指令报错 linux执行应用程序指令报错Segmentation fault 跪求大神帮忙了 解决方案 是你编写的程序还是别的程序?如果是你写的程序,可能是内存没有正确分配,指针的问题.别人的程序,检查配置文件.依赖的库是否齐全. 解决方案二: 应用程序在Linux上的执行过程[Pthread] 应用程序在linux上的执行过程

quartz 不执行也不报错是怎么回事

问题描述 <!--调度任务--><beanid="task"class="org.springframework.scheduling.quartz.JobDetailBean"><propertyname="jobClass"value="com.sms.util.EveryWeekTask"></property></bean><!--按频率调度-->

框架-hql中执行COLLATE utf8_general_ci报错

问题描述 hql中执行COLLATE utf8_general_ci报错 ?我在mysql数据库中执行SELECT * FROM XXX WHERE NAME COLLATE utf8_general_ci LIKE '%e%',可以查询出不区分大小写的数据.但是在SSH框架中,hql却报如下错误:17:27:24,962 hql.PARSER ERROR -line 1:62: unexpected token: COLLATE 解决方案 http://www.cnblogs.com/thin

plugins-kettle直接执行hbase作业能成功,但通过java程序来执行时却报错

问题描述 kettle直接执行hbase作业能成功,但通过java程序来执行时却报错 ERROR 13-12 17:04:32,359 - 174_kettle - 一个数据库错误发生在从资源库文件读取转换时 org.pentaho.di.core.exception.KettleStepLoaderException: Unable to load class for step/plugin with id [HBaseOutput ]. Check if the plugin is avai