📄 forgotcontroller.java
字号:
package onlyfun.caterpillar.web;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import onlyfun.caterpillar.model.IUserDAO;
import onlyfun.caterpillar.model.SimpleMail;
import onlyfun.caterpillar.model.User;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
//AbstractController实现了Controller接口,并继承了WebContentGenerator,提供了Session缓存与同步化的处理.
//在使用Controller或是AbstractController时遇到用户提供请求参数,则必须自行从HttpServletRequest对象中取得请求参数,
//如果打算将这些请求参数设置至某个对象,则必须自行编写相关逻辑或进行类型转换等动作...
public class ForgotController extends AbstractController {
private IUserDAO userDAO;
private SimpleMail simpleMail;
private String loginPage;
private String forgotPage;
public ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {
//getParameter("email")中的email与forgot.jsp中的email相对应...
String email = request.getParameter("email");
if (email != null && !"".equals(email)) {
//根据邮件地址查询使用者的资料
User user = getUserDAO().findByEmail(email);
//取得SimpleMail实例并设定相关数据以发送邮件(sendPasswdMail()方法是SimpleMail类中的一个方法...)
getSimpleMail().sendPasswdMail(user.getEmail(), user.getUsername(),user.getPasswd());
//构造ModelAndView的第一个参数为要呈现的目标网页(或资源)路径,第二个参数是设置用来取得Model对象的键(key),第三个参数是给View层呈现数据的Model对象
//这里只用到了第一个参数,getLoginPage()与定义文件web-config.xml中的forgotController实例中的"forgotPage"属性相对应...
return new ModelAndView(this.getLoginPage());
} else {
return new ModelAndView(this.getForgotPage());
}
}
public void setUserDAO(IUserDAO userDAO) {
this.userDAO = userDAO;
}
public IUserDAO getUserDAO() {
return userDAO;
}
public void setSimpleMail(SimpleMail simpleMail) {
this.simpleMail = simpleMail;
}
public SimpleMail getSimpleMail() {
return simpleMail;
}
public void setLoginPage(String loginPage) {
this.loginPage = loginPage;
}
public String getLoginPage() {
return loginPage;
}
public void setForgotPage(String forgotPage) {
this.forgotPage = forgotPage;
}
public String getForgotPage() {
return forgotPage;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -