老师,在没有添加过滤器的时候,项目默认会执行index.jsp,但是当我添加了过滤器后就会默认执行登录页面,即使我再代码中对获得的URL中的index.jsp放行了,也还是不行,最后我发现在URL中根本就没有index.jsp,所以才会去执行请求转发。这是为什么?
package com.example.filter; import com.example.pojo.Users; import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import java.io.IOException; @WebFilter(urlPatterns = {"*.jsp","*.do"}) public class UserLoginFilter implements Filter { /** * * @param filterConfig * @throws ServletException * * 用于实现用户登录的过滤器 * 可以对所有得动态资源进行过滤,对静态资源进行放行,同时对用户的登录的.jsp或者.do资源进行放行 * */ @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { /** * 对象的转换 */ HttpServletRequest request = (HttpServletRequest) servletRequest; StringBuffer requestURL = request.getRequestURL(); /** * 对路径进行判断,如果是登录的请求,就去放行,否则,就是过滤 */ if (requestURL.indexOf("index.jsp") != -1 || requestURL.indexOf("UserLogin.jsp") != -1 || requestURL.indexOf("UserLogin.do") != -1) { filterChain.doFilter(servletRequest, servletResponse); } else { /** * 当走到else时,就表示,当前访问的不是这个登录的动态资源,那就要对你当前这个用户状态进行选择判断, * 如果,有sessionID就是登陆过的,否则,就是没有登陆过的。 */ HttpSession session = request.getSession(); Users users = (Users) session.getAttribute("users"); if (users != null) { /** * 登录了,就进行放行 */ filterChain.doFilter(servletRequest, servletResponse); } else { /** * 没有登录就提示 */ session.setAttribute("NotLoginMsg","您还没有登录请先进行登录..."); request.getRequestDispatcher("UserLogin.jsp").forward(servletRequest, servletResponse); } } } @Override public void destroy() { } }
我若是将Content-path写成:
/ProjectDemo_two/index.jsp
也不合适,
为什么不能调用,就是不管啥路径 其他的也是 都显示系统未找到
老师,通过构造方法对象调用newInstance()创建对象,这个newInstance()不是过期了吗?
老师,前面不是已经配置了视图解析器了吗,为什么这里还要写全login地址呢
请问一下老师,在前后端分离项目中怎么指定登录界面呢?
老师,这个配置设置已经更改,为什么在navicat 里面查询sql_mode还是加ONLY_FULL_GROUP_BY的,示例中的代码还是报错
老师我这里没有出来diagram的选项,怎么看那张图
笑死了,给同学们一个忠告(包括我自己)视频看一半的时候,有疑问先不要急,你所关心的问题老师最后会解决。
Fri Aug 27 22:37:06 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
老师这句是什么意思呀,我在网上搜了解决方案,但是没明白什么意思,SSL是什么
解决方案:
jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=true
// 把第n位设置为x void set_nth(unsigned char* data, int n, bool x) { int a = n / 8, b = n % 8; if(x) data[a] |= 0x80 >> b; //目标位为1,其它为0 else data[a] &= ~(0x80 >> b); //目标位为0,其它位为1 }
0x80是什么
|=以及&=的运算规则是什么
String showItemDesc(Long itemId);
为什么一定要写成Long itemId 写成id就报空指针异常。
老师我这个怎么左边是这样的
老师,Python能安装在D盘吗,有影响吗
pycham如何设置黑色界面。。。。。,,,,,,,
老师可以提个建议吗?看视频的页面还是恢复以前的样子吧。现在新页面都没法看每章节其他同学提问的问题了
都是这样的: 要不是图片看不出来是什么内容,要不就是代码全出去了看不清。想看看其他同学的问题相互学习一下,这下全看不了了。如果缩放页面比例,就都太小了,也看不了
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637