控制層功能實現
fkbookapp/src/org/fkit/controller/FormController.java
package org.fkit.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* 動態頁面跳轉控制器
* @author Yikong
*
*/
@Controller
public class FormController {
@RequestMapping(value="/{formName}")
public String loginForm(@PathVariable String formName){
//動態跳轉頁面
return formName;
}
}
fkbookapp/src/org/fkit/controller/UserController.java
package org.fkit.controller;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.RedirectView;
import org.fkit.domain.User;
import org.fkit.service.UserService;
/**
* 處理用戶請求控制器
* @author Yikong
*
*/
@Controller
public class UserController {
/**
* 自動注入UserService
*/
@Autowired
@Qualifier("userService")
private UserService userService;
/**
* 處理login請求
*/
@RequestMapping(value="/login")
public ModelAndView login(String loginname,String password,ModelAndView mv,HttpSession session){
//根據登錄名和密碼查找用戶,判斷用戶登錄
User user=userService.login(loginname, password);
if(user!=null){
//登錄成功,將user對象設置到HttpSession作用範圍域
session.setAttribute("user", user);
//轉發到main請求
mv.setView(new RedirectView("/fkbookapp/main"));
}else{
//登錄失敗,設置失敗提示信息,並跳轉到登錄頁面
mv.addObject("message", "登錄名或密碼錯誤,請重新輸入!");
mv.setViewName("loginForm");
}
return mv;
}
}
fkbookapp/src/org/fkit/controller/BookController.java
package org.fkit.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.fkit.domain.Book;
import org.fkit.service.BookService;
/**
* 處理圖書請求控制器
* @author Yikong
*
*/
@Controller
public class BookController {
/**
* 自動注入BookService
*/
@Autowired
@Qualifier("bookService")
private BookService bookService;
/**
* 處理/main請求
*/
@RequestMapping(value="/main")
public String main(Model model){
//獲得所有圖書集合
List<Book> book_list=bookService.getAll();
//將圖書集合添加到model當中
model.addAttribute("book_list", book_list);
//跳轉到main頁面
return "main";
}
}