ssm项目2

项目结构

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 "/door/doorList";
		return "redirect:/door/find";
	}

//	@RequestMapping("/insert/{name}/{tel}")
//	public String insertRest(
//			@PathVariable String name,
//			@PathVariable("tel") Integer tel
//			,Door door){
//		doorService.insert(door);
//		return "/door/doorList";
//	}

	@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;
/**
 * 主页控制器
 * @author https://blog.csdn.net/caiqing116
 */
@Controller
@RequestMapping("/home")
public class HomeController {

	 //正常访问login页面
    @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()) {
				//密码进行MD5加密
				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,"登陆成功");
	}

	/**
	 * 登出
	 * @return
	 */
	@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){
//	    	String username = user.getUsername();
//	    	System.out.println(username);
	    	UserInfo user1 = loginService.findUser(user.getUsername(), user.getPassword());
//	    	int ifHave = loginService.findUserName(username);
//	    	System.out.println(ifHave);

	    	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 {


    /**
     * 查找用户名和密码
     * @param username 登录用户名
     * @return
     */
    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);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值