老师关于if (loginUser == null)的问题

老师关于if (loginUser == null)的问题

和视频中操作一样  登陆页面没有输入任何文字。直接转到了message页面。过滤器不起作用怎么回事?

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 SessionFilter 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.getSession().getAttribute("loginUser");

if(loginUser==null) {

hresponse.sendRedirect(hrequest.getContextPath()+"/index.jsp?flag=1");

return;

}else {

chain.doFilter(hrequest, hresponse);

return;

}

}


@Override

public void init(FilterConfig filterConfig) throws ServletException {

// TODO Auto-generated method stub


}


}





<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">

  <display-name>FilterDemo</display-name>

  <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

  </welcome-file-list>

 <!-- 字符集编码过滤器配置 -->

<filter>

<filter-name>characterEncodingFilter</filter-name>

<filter-class>filter.CharacterEncodingFilter</filter-class>


<init-param>

<param-name>charset</param-name>

<param-value>UTF-8</param-value>

</init-param>


</filter>



<filter-mapping>

<filter-name>characterEncodingFilter</filter-name>

<url-pattern>/*</url-pattern>


</filter-mapping>


<!-- 用户登录安全控制过滤器配置 -->

<filter>

<filter-name>sessionFilter</filter-name>

<filter-class>filter.SessionFilter</filter-class>

</filter>


<filter-mapping>

<filter-name>sessionFilter</filter-name>

<url-pattern>/message.jsp</url-pattern>

</filter-mapping>

</web-app>

麻烦老师帮我看一下


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕阿满 2019-10-21 11:37:11

同学你好,没有输入任何文字,默认为空字符串"",在过滤器中判断if(loginUser==null)成立,所以转发到message页面。这里建议同学修改一下判断条件,将if(loginUser==null)修改为if (loginUser == "" || loginUser == null) 再试试。如:

http://img1.sycdn.imooc.com//climg/5dad284209d5d43f10410202.jpg

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师