为什么这里loginUser==""可以 而loginUser==null却不可以
package filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ContextFilter implements Filter {
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest hrequest=(HttpServletRequest)request;
HttpServletResponse hresponse=(HttpServletResponse)response;
String loginUser=(String)hrequest.getServletContext().getAttribute("loginUser");
if(loginUser=="") {
hresponse.sendRedirect(hrequest.getContextPath()+"/index.jsp?flag=1");
return;
}else {
chain.doFilter(hrequest, hresponse);
}
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}我这里不是用session存入 而是用context存入 课上的老师用的是loginUser==null来判断条件
可是我loginUser==null却无法判断 只能用loginUser==""来判断
0
收起
正在回答
3回答
你好同学,如下图所示,你再判断loginUser是否为空字符串就可以了,祝学习愉快~

chrismorgen
2019-02-18 10:07:28
你好同学,你理解的是没有问题的,也可以判断String是否为null,不过要先将变量赋值为null就可以了哦,不过比较字符串是是否为空时,还是推荐使用空字符串,同时也可以判断这个变量是否为null,祝学习愉快~

chrismorgen
2019-02-17 13:25:08
你好同学,loginUser是String类型的变量,而不是对象哦,这里比较对象用null来比较,而比较String类型的变量用""(也就是空字符串来比较),祝学习愉快~
从网页搭建入门Java Web2018版
- 参与学习 人
- 提交作业 1088 份
- 解答问题 10204 个
如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星