📄 membercontroller.java
字号:
package onlyfun.caterpillar.web;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import onlyfun.caterpillar.model.IBookmarkDAO;
import onlyfun.caterpillar.model.IUserDAO;
import onlyfun.caterpillar.model.User;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
import org.springframework.web.servlet.view.RedirectView;
//会员登录后,接下来可以进行个人书签的显示,加入或删除书签,更改密码,登出(注销)等动作,这些动作都属于会员才会拥有的功能,
//因为为了集合管理这些操作,可以继承MultiActionController类来编写这些操作的处理,而不用为每个操作编写一个Controller类...
//MultiActionController类是AbstractController类的一个子类,它可以在一个Controller类中定义多个方法,并根据用户的请求来执行当中的某个方法...
//它通常会搭配ParameterMethodNameResolver使用,是根据一个请求参数,以参数决定要执行Controller类中的哪一个方法,(搭配的类,在web-config.xml中有相关的配置)...
public class MemberController extends MultiActionController {
private String memberPage;
private String addBmPage;
private String passwdPage;
private String redirectPage;
//进行操作时,需要IUserDAO,IBookmarkDAO的实例,这可以使用Spring的依赖注入来进行设置(这在web-config.xml中会有相关的设置)...
private IBookmarkDAO bookmarkDAO;
private IUserDAO userDAO;
// 显示个人书签
public ModelAndView displayUrl(HttpServletRequest req,
HttpServletResponse res) {
//如果是登录用户,取得该用户的值...
String username = (String) req.getSession().getAttribute("valid_user");
if (username != null) {
// 根据使用者名称,查找书签
List urls = getBookmarkDAO().findUserUrl(username);
//构造ModelAndView的第一个参数为要呈现的目标网页(或资源)路径,第二个参数是设置用来取得Model对象的键(key),第三个参数是给View层呈现数据的Model对象
//第一个参数getMemberPage()与定义文件web-config.xml中的loginController实例中的"memberPage"属性相对应,
//第二个参数"urls"和member.jsp中的items="${urls}"中"url"相对应...
//我的理解就是第二个参数为键对象,第三个参数为值对象..
return new ModelAndView(this.getMemberPage(), "urls", urls);
} else {
//getRedirectPage()与web-config.xml定义文件中的redirectPage属性相对应...RedirectView为系统类...
return new ModelAndView(new RedirectView(getRedirectPage()));
}
}
// 加入新的书签
public ModelAndView addUrl(HttpServletRequest req, HttpServletResponse res) {
String username = (String) req.getSession().getAttribute("valid_user");
if (username != null) {
if (req.getParameter("new_url") != null) {
String url = (String) req.getParameter("new_url");
// 加入新的书签网址
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -