Hibernate 在SPRING MVC中从生成OTP
我正在开发一个银行应用程序,如果用户忘记了ID,我想生成OTP。我曾尝试在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
@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);
}
});