为什么感觉视频里敲得代码上一节课并没有出现过,视频有点连不上的感觉
老师,我按照你的步骤走的,报的这个错误,不知道错在哪里了,请老师指点
servletdemo.rar
老师,包给你了,帮我看一下
问题1:为什么用servletContext.getAttribute对应获取value,再转成HttpSession。因为前者是可以从全局中获取吗。HttpSession中客户端浏览器换了,就没有对应的SessionID,就不行了吗?因此,我要判断重复登录,肯定要用不同的浏览器进行重复登录,所以我要从全局中获取value,然后再转成httpSession给到我当前对应的客户端浏览器?
问题2:。为什么要从全局中删除value,再销毁httpSession?我并不理解两者对应去除的分别是什么?
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>百度搜索案例</title> <style> *{margin: 0;padding: 0;} input{width: 295px;height: 30px;margin: 0 auto;display: block;border: 1px solid lightgray;margin-top: 100px;padding-left: 5px;} ul{list-style: none;width: 302px;margin: 0 auto;display: none;} ul li{border: 1px solid lightgray;} </style> </head> <body> <input type="text" id="inputSearch"> <ul id="ulList"> <li>123</li> </ul> <script> function callbackDemo(response){ var oUl = document.getElementById('ulList'); var html = ''; if(response.s.length != 0){ oUl.style.display = 'block'; for(var i=0; i<response.s.length; i++){ html += '<li>'+response.s[i]+'</li>' } } oUl.innerHTML = html; } window.onload = function(){ var oData = document.getElementById('inputSearch'); var oUl = document.getElementById('ulList'); oData.onkeyup = function(){ if(oData.value != ''){ var script = document.createElement('script'); script.scr = 'https://suggestion.baidu.com/su?wd='+this.value+'&cb=callbackDemo'; document.body.appendChild(script); }else{ oUl.style.display = 'none'; } } } </script> </body> </html>
老师,我这个也不报错,就是不出来
为什么在用缓冲区拷贝之后用文件append形式写入会和前面的内容有空行,怎么消除
二进制文件读取.png
老师,这里为什么是报的语法错误?
老师请问,这个rocketmq中发消息,我按顺序发1, 2, 3, 4,收到的消息顺序却是2,1,3,并且4还丢掉了。
请问戊戌是rocketmq的默认特性吗?
似乎我在rocketmq控制台中手点的快一些就一定会有数据丢失,这是由于硬件能力不足造成的吗?
有什么方式解决么?
谢谢!
老师,我29,32行怎么错了,是因为没有导入什么包吗?
老師這個問題我已經自己解決了,但是回覆不了,我只能在這裡跟你說下
flask_shop_st.zip
老师您帮我看一下吧,我自己改错误,改着改着就多出来一个.实在是解决不了
package com.bjsxt.shiro02; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.*; import org.apache.shiro.config.IniSecurityManagerFactory; import org.apache.shiro.mgt.SecurityManager; import org.apache.shiro.subject.Subject; public class TestB { public static void main(String[] args) { //[1]解析shiro.ini 文件 IniSecurityManagerFactory factory =new IniSecurityManagerFactory("classpath:shiro04-jdbc.ini "); //[2]通过SecurityManager 工厂获得SecurityManager 实例 SecurityManager securityManager = factory.getInstance(); //[3]用SecurityUtils把SecurityManager 对象设置到运行 SecurityUtils.setSecurityManager(securityManager); //[4]通过SecurityUtils 获得主体 subject Subject subject = SecurityUtils.getSubject(); //[5]书写自己输入的账号和密码---相当于用户自己输入的账号和密码 //我们拿着自己书写用户名密码去和shiro.ini 文件中的账号密码比较 UsernamePasswordToken token = new UsernamePasswordToken("root","root"); try { //[6]进行身份的验证 subject.login(token); //[7]通过方法判断是否登录成功 if (subject.isAuthenticated()) { System.out.println("登录成功"); } }catch (IncorrectCredentialsException e){ System.out.println("凭证(密码)不正确"); }catch (UnknownAccountException e1){ System.out.println("用户名不正确"); }catch (ExpiredCredentialsException e){ System.out.println("凭证过期"); }catch (ExcessiveAttemptsException e){ System.out.println("尝试次数过多"); e.printStackTrace(); }catch (ConcurrentAccessException e){ System.out.println("竞争次数过多"); } } }
自定义Realm文件
package com.bjsxt.shiro02; import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.authc.AuthenticationInfo; import org.apache.shiro.authc.AuthenticationToken; import org.apache.shiro.authc.SimpleAuthenticationInfo; import org.apache.shiro.authz.AuthorizationInfo; import org.apache.shiro.realm.AuthorizingRealm; import org.apache.shiro.subject.PrincipalCollection; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; /** * 自定义Realm */ /** * 授权 */ public class UserRealm extends AuthorizingRealm { @Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) { return null; } /** * 认证 * @param authenticationToken * @return * @throws AuthenticationException */ @Override protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException { try{ Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/shiro","root","zjx666888"); PreparedStatement preparedStatement = conn.prepareStatement("select uname,pwd from user"); ResultSet rs = preparedStatement.executeQuery(); while (rs.next()){ //把查到的数据集合给这个对象 SimpleAuthenticationInfo info = new SimpleAuthenticationInfo(rs.getString("uname"),rs.getString("pwd"),"real"); return info; } }catch (Exception e){ } return null; } }
ini配置文件
数据库内容
老师为什么我输入sxt和123就可以登录成功,输入其他的就是密码错误??????????????
老师:
视频里面说通过Map传递参数,map.put("username","shangxuetang"); xml文件里面是${key} = #{value};
这个时候因为数据库的字段也是username 所以可以这么写;那如果是user_name 那要怎么处理,是不是map就
要改成map.put("user_name","shangxuetang")? 有咩有其他的处理方法呢?
用户登录后添加购物车那好像有一个小buff:
当用户将一个商品加入购物车,又在购物车中删除这个商品时 -- redis中缓存购物车中的key有这个用户的购物车key,但 这个key在redis中缓存的数据是null的 ,这时老师源码中的代码执行 时会报 空指针异常。
找不到settings.xml文件。。
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637