springboot 学习笔记(五)

(五)springboot整合thymeleaf模板,实现简单的登录

    一、修改上一节笔记中的user表,新增一个password字段,同时要求username为UNIQUE,以实现登录校验,表结构以下。javascript

 

CREATE TABLE `user` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(128) NOT NULL COMMENT '名称', `phone` varchar(16) DEFAULT NULL COMMENT '用户手机号', `create_time` datetime DEFAULT NULL COMMENT '建立时间', `age` int(4) DEFAULT NULL COMMENT '年龄', `password` varchar(45) NOT NULL COMMENT '密码', PRIMARY KEY (`id`), UNIQUE KEY `name_UNIQUE` (`name`) ) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8

 

    二、新增一个经过name查询user的方法,具体代码就不写了css

    三、pom文件中增长thymeleaf依赖html

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

        四、index.html页面放在templates文件夹下,为了页面美化,我使用了一个模板,css文件和image文件放在了static目录下的新建文件夹中,代码就不上传了。java

<!DOCTYPE html>
<html>
<head>
    <title>Login</title>
        <meta charset="utf-8">
        <link href="/css/style.css" rel='stylesheet' type='text/css' />
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <script type="application/x-javascript"> addEventListener("load", function() { setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
</head>
<body>
     <div class="main">
        <div class="login-form">
            <h1>用户登录</h1>
                    <div class="head">
                        <img src="/images/user.png" alt=""/>
                    </div>
                <form enctype="multipart/form-data" method="post" action="/user/login">
                        <input type="text" class="text" name="username" value="用户名"  >
                        <input type="password" name="password" value="password" >
                        <div class="submit">
                            <input type="submit" value="登录">
                         </div>    
                    <p><a href="#">忘记密码 ?</a></p>
                </form>
            </div>
        </div>
                
</body>
</html>

        五、为了保证静态文件加载,须要在application.properties进行配置web

 

#加载静态文件,不然css、image等文件加载可能出现问题 spring.mvc.static-path-pattern=/** #开发过程当中建议关闭cache,方便调试 spring.thymeleaf.cache=false 

 

     六、写一个Controller来实现登录及用户校验spring

 

/** * */
package com.zc.mybatis.controller; import java.util.Date; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.zc.mybatis.domain.User; import com.zc.mybatis.service.UserService; /** * @author zhangchao * */ @Controller public class LoginController { //登录页面
    @RequestMapping(value = "/") public Object hello() { return "index"; } @Autowired private UserService userService; //增长测试用户
    @RequestMapping(value="/user/add") @ResponseBody public Object addUsers() { User user = new User(); for(int i = 1;i<6;i++) { user.setName("用户"+i); user.setPassword("123456"); user.setPhone("124514144411"); user.setAge(19); user.setCreateTime(new Date()); userService.add(user); } return "新增测试用户"; } //用户校验
    @RequestMapping(value = "/user/login") @ResponseBody public Object login(HttpServletRequest request) { String username = request.getParameter("username"); String password = request.getParameter("password"); password = password.trim(); User user = userService.getUserByName(username); if (null != user && password.equals(user.getPassword())) { return "登录成功"; } else { return "登录失败"; } } }

 

 

      七、先运行localhost:8080/user/add来新增测试用户,而后经过localhost:8080访问登录页面,输入用户名:用户1,密码:123456,页面返回 登录成功。springboot

相关文章
相关标签/搜索