昨天一个小问题搞了好久,在睡前还在想是啥原因,前几分钟才解决。必须得记录一下。
需求是这样的:后台注册时发一封邮件给客户邮箱,然后让客户在邮箱**。
逻辑:需要一个JavaMail的工具类,还需要自己手动发送信息开启STMP服务,获得授权码。(预期是点击**,跳转到一个简单页面,然后点登录的超链接跳转到登录页面)
问题:点击**之后不跳转,后台没一点反应!出现了下面的情况
解决:
①对照servlet的url有没有错,嗯,复制过去的没错
②看路径后面追加了一个code这也应该没啥问题的,美滋滋的去后台打断点,发现servlet都进不去,扑街;依稀记得<a href="xxxx.html"></a>
的这种提交方式,默认是get提交,然后去百度了一下果然是!
③你把代码写在doPost()方法中,然后又是调用的是doGet()方法,明显不行,所以在doGet()中加上一行代码:doPost(request, response);
④然后再次测试发现还是不行,拒绝访问,后台没啥问题,那肯定是路径有问题了,检查发现是绝对路径啊,老铁没毛病。绝对路径+servlet名字+字符串……先不跑项目试出来再说……
难道是没加端口号?加上!发现跳转成功了。
⑤然后赶紧去后台发送**邮件那里加上端口号。去邮箱点击**不行,鼠标悬停上去没端口号,一看是昨天的邮件,新发了一封**邮件,嗯,**成功。
总结:人不经常敲着代码真的会变笨,这也要卡我!
跑代码前自问:
汤姆猫起了吗?
后台代码有没有问题?比如说url?左斜杠有没有?
href默认是get哦?你写在post你的servlet有没有在get调用post???
别人用户要点进你的项目是要绝对路径的!端口、项目名、具体Servlet什么乱七八糟的全都要加上。