• 简单后台登录逻辑实现Controller


    package com.fei.controller.admin;
    
    import javax.servlet.http.HttpSession;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.PostMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.servlet.mvc.support.RedirectAttributes;
    
    import com.fei.po.User;
    import com.fei.service.UserService;
    
    /**
     * Created by zxf on 2019年9月30日
     */
    @Controller
    @RequestMapping("/admin")
    public class LoginController {
    
    	@Autowired
    	private UserService userService;
    
    	/**
    	 * 登录方法
    	 * 
    	 * @param username
    	 * @param password
    	 * @param session
    	 * @param attributes
    	 * @return
    	 */
    	@PostMapping("/login")
    	public String login(@RequestParam String username, @RequestParam String password, HttpSession session,
    			RedirectAttributes attributes) {
    
    		User user = userService.login(username, password);
    
    		if (user != null) {
    			user.setPassword(null);
    			session.setAttribute("user", user);
    
    			return "redirect:/admin/index";
    		} else {
    			attributes.addFlashAttribute("message", "用户名或密码错误!");
    			return "redirect:/admin";
    		}
    	}
    
    	/**
    	 * 注销方法
    	 * 
    	 * @param session
    	 * @return
    	 */
    	@PostMapping("/logout")
    	public String logout(HttpSession session) {
    		session.removeAttribute("user");
    		return "redirect:/admin";
    	}
    
    	/**
    	 * 去登录页
    	 * 
    	 * @return
    	 */
    	@GetMapping
    	public String toLogin() {
    		return "admin/login";
    	}
    
    	/**
    	 * 去后台首页
    	 * 
    	 * @return
    	 */
    	@GetMapping("/index")
    	public String toIndex() {
    		return "admin/index";
    	}
    
    }
    

    错误描述

    org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'GET' not supported
    	at org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping.handleNoMatch(RequestMappingInfoHandlerMapping.java:200) ~[spring-webmvc-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    

    错误分析

    错误原因:可能是表单的提交方式为默认的get请求,而后台处理该请求的Controller处理的是PostMapping,两者不一致就会报该错误。

  • 相关阅读:
    (转载)VS2010/MFC编程入门之四十六(MFC常用类:MFC异常处理)
    (转载)VS2010/MFC编程入门之四十五(MFC常用类:CFile文件操作类)
    (转载)VS2010/MFC编程入门之四十四(MFC常用类:定时器Timer)
    (转载)VS2010/MFC编程入门之四十三(MFC常用类:CTime类和CTimeSpan类)
    Android笔记之ImageView
    Activity的四种launchMode
    Eclipse使用技巧
    ubuntu下使用MyEclipse以及MyEclipse Tomcat
    Android笔记之Json数据解析
    【转】[Android_机制]_Http和Socket连接区别
  • 原文地址:https://www.cnblogs.com/zxfei/p/11614363.html
Copyright © 2020-2023  润新知