Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 在SPRING MVC中从生成OTP_Hibernate_Spring Mvc_One Time Password - Fatal编程技术网

Hibernate 在SPRING MVC中从生成OTP

Hibernate 在SPRING MVC中从生成OTP,hibernate,spring-mvc,one-time-password,Hibernate,Spring Mvc,One Time Password,我正在开发一个银行应用程序,如果用户忘记了ID,我想生成OTP。我曾尝试在OTP成功的控制器类中进行设置请求映射,但它显示了错误。这是我的代码,我想以某种随机方式生成 @RequestMapping(value = "/otpSuccess", method = RequestMethod.GET) public void send(HttpServletRequest req) throws Exception { String numbers = "012345678

我正在开发一个银行应用程序,如果用户忘记了ID,我想生成OTP。我曾尝试在OTP成功的控制器类中进行设置请求映射,但它显示了错误。这是我的代码,我想以某种随机方式生成

@RequestMapping(value = "/otpSuccess", method = RequestMethod.GET)
    public void send(HttpServletRequest req) throws Exception {
        String numbers = "0123456789";
        String acn=req.getParameter("acc");
        Random rndm_method = new Random(); 
          char[] otp = new char[6];
            for (int i = 0; i < 6; i++) 
            { 
               otp[i]=numbers.charAt(rndm_method.nextInt(numbers.length()));
            }
            Session session=this.sessionFactory.openSession();
            Query q=session.createQuery("select email from Student where accno=:n");
            q.setParameter("n", acn);
            List<String>  l=q.list();
            String  body=otp.toString();
            String host="smtp.gmail.com";  
           final String user="codingbloke90@gmail.com";  
           final String password="XXXXXXXX";  //My mail's password

      String to=l.get(0);

       //Get the session object  
       Properties props = new Properties();  
       props.put("mail.smtp.host",host);  
       props.put("mail.smtp.auth", "true");  
       //below is mycom.infotech.controller.FundController.send(FundController.java:111) actual line which is showing error 
       javax.mail.Session session1 =  javax.mail.Session.getDefaultInstance(props,  
        new javax.mail.Authenticator() {  
          protected PasswordAuthentication getPasswordAuthentication() {  
        return new PasswordAuthentication(user,password);  
          }  
        });  

       //Compose the message  
        try {  

         MimeMessage message = new MimeMessage(session1);  
         message.setFrom(new InternetAddress(user));  
         message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));  
         message.setSubject("Verification");  
         message.setText(body);  

        //send the message  
         Transport.send(message);  

         System.out.println("message sent successfully...");  

         } catch (Exception e) {e.printStackTrace();}  


 }  
}
有人能建议我对OTP格式做些什么改变吗?或者应该在其他地方使用OTP的生成。它在第111行显示了错误,我在评论中也提到了错误(第111行)代码部分

javax.mail.Session session = javax.mail.Session.getInstance(props,
          new javax.mail.Authenticator() {
             protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(username, password);
             }
          }); 

这与检察官办公室无关。仔细阅读错误堆栈跟踪,而不是试图猜测问题可能是什么。问题是您试图访问FundController.java第111行的空列表的第一个元素。那么,从这里开始修正你的逻辑。生成OTP的逻辑的哪一部分@你还没看过我的评论。我重复一遍。问题是您试图访问FundController.java第111行的空列表的第一个元素。因此,您必须做的第一件事是查找文件的第111行。然后想知道您在该行访问的是什么列表,该列表为空是否正常,以及您应该如何修复或规避该问题。那么,第111行是什么?什么是空列表?它来自哪里?为什么是空的?这是否正常?@JBNizet请检查编辑行,该行不是导致异常的行。自引发此异常后,您可能已经修改了代码。再次阅读错误消息。当您尝试访问列表的索引0处的元素时会发生这种情况:
String to=l.get(0)与OTP无关。仔细阅读错误堆栈跟踪,而不是试图猜测问题可能是什么。问题是您试图访问FundController.java第111行的空列表的第一个元素。那么,从这里开始修正你的逻辑。生成OTP的逻辑的哪一部分@你还没看过我的评论。我重复一遍。问题是您试图访问FundController.java第111行的空列表的第一个元素。因此,您必须做的第一件事是查找文件的第111行。然后想知道您在该行访问的是什么列表,该列表为空是否正常,以及您应该如何修复或规避该问题。那么,第111行是什么?什么是空列表?它来自哪里?为什么是空的?这是否正常?@JBNizet请检查编辑行,该行不是导致异常的行。自引发此异常后,您可能已经修改了代码。再次阅读错误消息。当您尝试访问列表的索引0处的元素时会发生这种情况:
String to=l.get(0)
javax.mail.Session session = javax.mail.Session.getInstance(props,
          new javax.mail.Authenticator() {
             protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(username, password);
             }
          });