项目结构
1.Controller
doorController
package cn.mine.testssm.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import cn.mine.testssm.pojo.Door;
import cn.mine.testssm.service.DoorService;
@Controller
@RequestMapping("/door")
public class DoorController {
@Autowired
private DoorService doorService;
@RequestMapping("/findAll")
@ResponseBody
public List<Door> findAll(Model model){
return doorService.findAll();
}
@RequestMapping("/find")
public String find(Model model){
List<Door> dataList = doorService.findAll();
model.addAttribute("doorList", dataList);
return "/door/doorList";
}
@RequestMapping("/delete")
public String delete(Integer id){
doorService.delete(id);
return "redirect:/login/main";
}
@RequestMapping("/toAdd")
public String toAdd(){
return "/door/doorAdd";
}
@RequestMapping("/toadd")
public String add(){
return "/door/doorAdd";
}
@RequestMapping("/insert")
public String insert(Door door){
doorService.insert(door);
return "redirect:/door/find";
}
@RequestMapping("/get")
@ResponseBody
public Door toupdate(Integer id){
Door door = doorService.get(id);
return door;
}
@RequestMapping("/update")
public String update(Door door){
doorService.update(door);
return "redirect:/door/find";
}
}
OrderController
package cn.mine.testssm.service;
import java.util.List;
import cn.mine.testssm.pojo.Order;
public interface OrderService {
public Order selectByPrimaryKey(Integer id);
public List<Order> findAll();
public List<Order> find();
public void deleteByPrimaryKey(Integer id);
public void insert(Order order);
public Order get(Integer id);
public void updateByPrimaryKey(Order order);
}
homeController
package cn.mine.testssm.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/home")
public class HomeController {
@RequestMapping("/login")
public String login(){
return "login/login";
}
@RequestMapping("/success")
public String success(){
return "login/success";
}
@RequestMapping("/fail")
public String fail(){
return "login/fail";
}
@RequestMapping("/main")
public String layout1(){
return "login/main";
}
}
LoginController
package cn.mine.testssm.controller;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import cn.mine.testssm.exception.AccountException;
import cn.mine.testssm.pojo.UserInfo;
import cn.mine.testssm.service.LoginService;
import cn.mine.testssm.until.EncryptKit;
import cn.mine.testssm.until.ResultModel;
@Controller
@RequestMapping("/Login")
public class LoginController {
@Autowired
private LoginService loginService;
@RequestMapping("/shirologin")
@ResponseBody
public ResultModel shirologin(String username, String password,Model model) {
try {
Subject currentUser = SecurityUtils.getSubject();
if(!currentUser.isAuthenticated()) {
UsernamePasswordToken usernamePasswordToken = new UsernamePasswordToken(username, EncryptKit.MD5(password));
currentUser.login(usernamePasswordToken);
}
} catch (AuthenticationException e) {
if(e instanceof AccountException) {
return new ResultModel(1,username, "账号或密码错误");
}
}
return new ResultModel(0,username,"登陆成功");
}
@RequestMapping("/shirologout")
public String shirologout() {
try {
Subject subject = SecurityUtils.getSubject();
if(subject.isAuthenticated()) {
subject.logout();
return "redirect:/home/login";
}
} catch (Exception e) {
e.printStackTrace();
}
return "redirect:/home/login";
}
@RequestMapping("/regist")
public String regist(){
return "login/regist";
}
@RequestMapping("/doRegist")
@ResponseBody
public ResultModel doRegist(UserInfo user){
UserInfo user1 = loginService.findUser(user.getUsername(), user.getPassword());
if(user1!=null){
return new ResultModel(1, "账号已存在");
}
else{
loginService.Regist(user);
return new ResultModel(0, "注册成功 ");
}
}
@RequestMapping("/test")
public String test(String username,Model model) {
UserInfo user = new UserInfo();
user.setUsername(username);
model.addAttribute("user",user);
return "login/success";
}
}
2.exception
AccountException
package cn.mine.testssm.exception;
import org.apache.shiro.authc.AuthenticationException;
public class AccountException extends AuthenticationException{
private static final long serialVersionUID = 6423461337343398987L;
public AccountException(String msg) {
super(msg);
}
}
3.mapper
doorMapper
package cn.mine.testssm.mapper;
import java.util.List;
import cn.mine.testssm.pojo.Door;
public interface DoorMapper {
public List<Door> findAll();
public void delete(Integer id);
public void insert(Door door);
public void update(Door door);
public Door get(Integer id);
}
userMapper
package cn.mine.testssm.mapper;
import org.apache.ibatis.annotations.Param;
import cn.mine.testssm.pojo.UserInfo;
public interface UserMapper {
UserInfo findByUsername(String username);
void registerByUsernameAndPassword(@Param("username")String username,
@Param("password")String password);
public Integer findUsername(String username);
}
orderMapper
package cn.mine.testssm.mapper;
import java.util.List;
import cn.mine.testssm.pojo.Order;
public interface OrderMapper {
public void deleteByPrimaryKey(Integer id);
public void insert(Order order);
int insertSelective(Order record);
public List<Order> find();
public List<Order> findAll();
public Order get(Integer id);
public void updateByPrimaryKey(Order order);
public Order selectByPrimaryKey(Integer id);
}