如何使用Java整合电子邮件?
实际上,在我的java应用程序中,注册是他们的,所以我向用户发送电子邮件如何使用Java整合电子邮件?,java,spring,hibernate,jsp,email,Java,Spring,Hibernate,Jsp,Email,实际上,在我的java应用程序中,注册是他们的,所以我向用户发送电子邮件 <bean id="activateAccountTemplate" class="org.springframework.mail.SimpleMailMessage"> <property name="subject" value="Account activation" /> <property name="text"> <value>
<bean id="activateAccountTemplate" class="org.springframework.mail.SimpleMailMessage">
<property name="subject" value="Account activation" />
<property name="text">
<value>
<![CDATA[
<html><body><p>Dear %s</p><p>Click <a href="http://localhost:8080/EClass/reset.jsp?a=%s">here</a> to activate your account.</p></body></html>
]]>
</value>
</property>
</bean>
听说我在使用加密机制
我的数据库有一列,如..suid、用户名、密码、活动(T/F)
我的要求是当ever registerActive
始终F(false)
时,但单击链接后Active
将true
(ever Active为true时,只允许登录)
那么如何在reset.jsp中执行呢?实际上我的想法是
Active
列为True
(但如何获取此列的sid)request.getParameter(?)
)reset.jsp上给出一些示例代码
编辑:实际上我遵循的是MVC原则,因此在没有reset.jsp的情况下,如何编写direct controller类。您的reset.jsp可能是这样的:
<%
String token = request.getParameter("a");
// Connection to DB executing this query :
// "UPDATE users SET active = true WHERE S_id = " + token
%>
没什么帮助,因为我以前从未做过Spring…您应该将活动和其他内容放在一个单独的表中
table user
id username password
table activation
id active expired_time token user_id
用户完成注册后,应在激活表中插入一条记录。活动字段为假,过期时间为现在之后2小时,以此类推
然后使用令牌查找表并执行活动工作。实际上我使用的是MVC,因此如果可能在不使用重置的情况下编写Direct Contrllor类。jspI已经更新了答案。当然,我也认为激活比重置更好!谢谢你的重播。。但我在Spring中使用,所以有可能创建一些控制器类并执行所有DB操作吗?。我在研究中添加了Spring控件示例代码,因为我从未在Spring中开发过,也没有测试过。谢谢,最后一个。。。有必要编写web.xml servelet标记吗?哦。。非常感谢你的这个想法。。我忘了这个。。。请帮助我如何使用请求url编写spring控制器?
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Reset extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String token = request.getParameter("a");
// Connection to DB executing this query :
// "UPDATE users SET active = true WHERE S_id = " + token
response.setContentType("text/html");
PrintWriter out = res.getWriter();
out.println("<HTML><BODY>Your response to the user depending on rows updated from SQL</BODY></HTML>");
}
}
<servlet>
<servlet-name>reset</servlet-name>
<servlet-class>myservlets.reset</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>reset</servlet-name>
<url-pattern>/reset</url-pattern>
</servlet-mapping>
<a href="http://localhost:8080/EClass/reset?a=%s">here</a>
@Controller
@RequestMapping(value = "/activation"
public class AccountActivationController
{
@RequestMapping(method = RequestMethod.GET)
public String setupForm(@RequestParam("a") String token, ModelMap model) {
// Connection to DB executing this query :
// "UPDATE users SET active = true WHERE S_id = " + token
return successful ? "activationSuccessful" : "activationError";
}
}
table user
id username password
table activation
id active expired_time token user_id