• SpringMVC 模拟登陆


    新建BackgroundController类:

    package cn.bdqn.mvc.controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @Controller
    @RequestMapping("/background/")
    public class BackgroundController {
    	@RequestMapping("home")
    	public String home(){
    		return "background/home";
    	}
    
    }
    
    package cn.bdqn.mvc.controller;
    
    import javax.servlet.http.HttpSession;
    import javax.validation.Valid;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.validation.BindingResult;
    import org.springframework.web.bind.annotation.ModelAttribute;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    
    import cn.bdqn.mvc.form.LoginForm;
    
    @Controller
    @RequestMapping("/")
    public class LoginController {
    	//方法的返回值返回一个对象
    	@ModelAttribute("form")
    	public LoginForm getForm(){
    		return new LoginForm();
    	}
    	
    	//我发送请求要访问login.html页面
    	
    	@RequestMapping(value="login",method=RequestMethod.GET)
    	public String showLogin(){
    		
    		return "login";
    	}
    
    	//建议不用实体类接受请求,建议单独定义一个表单类
    	@RequestMapping(value="login",method=RequestMethod.POST)
    	public String doLogin2(
    			@Valid@ModelAttribute("form")LoginForm loginForm,//这样转发回表单页面的时候会自动回填数据
    			BindingResult result,//服务器端验证用
    			HttpSession session
    			){
    		//是否发生服务器端验证错误,hasErrors()是管所有的错误
    		if(result.hasErrors()){
    			return "login";
    		}
    		
    		if(!loginForm.getLoginName().equals("admin")){
    			result.rejectValue("loginName","form", "用户名输入错误");  //reject是驳回的意思
    		}else if (!loginForm.getPassword().equals("123456")) {
    			result.rejectValue("password","form", "密码输入错误");
    		}
    		//如果添加了错误信息,则转发回登陆表单页面
    		if(result.hasErrors()){
    			return "login";
    		}
    		//将登陆成功的用户名存入session
    		session.setAttribute("loginName", loginForm.getLoginName());
    		//重定向到后台首页
    		return "redirect:background/home.html";
    	}
    }
    
  • 相关阅读:
    第三章:数据结构决定程序
    第二章:Rotate、变位词
    iOS常用宏定义
    去除重复的数据
    iOS开发者一些建设性的建议
    [iOS]应用内支付(内购)的个人开发过程及坑!
    UIDynamic(物理仿真)
    扇形进度
    iOS 之加密方式
    UIPresentationController
  • 原文地址:https://www.cnblogs.com/Angelinas/p/5638155.html
Copyright © 2020-2023  润新知