1. 程式人生 > >SpringBoot實現簡單的註冊與登陸功能

SpringBoot實現簡單的註冊與登陸功能

  • 專案的結構目錄如下
    這裡寫圖片描述
  • 配置pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion
>
<groupId>com.loren</groupId> <artifactId>LAR</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name>LAR</name> <description>Demo project for Spring Boot</description> <parent
>
<groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.8.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties
>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.16</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
  • 編寫application.yml,使專案連線到MySql資料庫
server: 
    port: 8080
    context-path: /

spring: 
    datasource:
      driver-class-name: com.mysql.jdbc.Driver
      url: jdbc:mysql://localhost:3306/db_user
      username: root
      password: 123456
    jpa:
      hibernate:
        ddl-auto: update
      show-sql: true  
  • 建立實體物件Use
package com.loren.demo.entity;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity
public class User{
    @Id
    @GeneratedValue
    private Long id;
    private String username;
    private String password;
    private String tel;
    private String realname;


    public UserEntity() {}
    public UserEntity(String username,String password) {
        this.username=username;
        this.password=password;
    }
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getTel() {
        return tel;
    }
    public void setTel(String tel) {
        this.tel = tel;
    }
    public String getRealname() {
        return realname;
    }
    public void setRealname(String realname) {
        this.realname = realname;
    }

}
  • 建立UserDao
package com.loren.demo.dao;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;

import com.loren.demo.entity.User;

@Repository
public interface UserDao extends JpaRepository<User, Long>{
    @Query("select s from User s where s.username=?1 and s.password=?2")
    public UserEntity findBynameAndPassword(String username,String password);
    @Query("select s from User s where s.username=?")
    public UserEntity findByName(String username);

}
  • 建立UserController
package com.loren.demo.controller;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.loren.demo.dao.UserDao;
import com.loren.demo.entity.UserEntity;

@Controller
@RequestMapping("/user/*")
public class IndexController {
    @Autowired
    private UserDao userdao;

    private User user=new User();

    @RequestMapping("/index")
    public String index(HttpSession httpSession) {
        httpSession.getAttribute("userLogin");
        return "index";
    }


    @RequestMapping("/register")
    public String register() {
        return "register";
    }

    @RequestMapping("/login")
    public String login() {
        String str="";
        String username=user.getUsername();
        if(username!=null) {
        str="index";
        }else {
            str="login";
        }
        return str;
    }


    @RequestMapping("/uregister")
    public String register(HttpServletRequest request) {
        String username=request.getParameter("username");
        String password=request.getParameter("password");
        String password2=request.getParameter("password2");
        String realname=request.getParameter("realname");
        String str="";
        if(password.equals(password2)) {
            user=userdao.findByName(username);
            if(user==null) {
            User user=new User();
            user.setUsername(username);
            user.setPassword(password);
            user.setRealname(realname);
            userdao.save(user);
            str="login";
            }else {
                str="register";
            }
        }else {
            str="register";
        }
            return str;
    }


    @RequestMapping("/ulogin")
    public String login(HttpServletRequest request,HttpSession session) {
        String username=request.getParameter("username");
        String password=request.getParameter("password");
        user=userdao.findBynameAndPassword(username, password);
        String str="";
        if(user!=null) {
            session.setAttribute("userLogin", user);
            str="index";
        }else {
            str="login";
        }
        return str;
    }
}
  • 建立login.ftl
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>登陸</title>
</head>
<body>
    <form action="/user/ulogin" method="post">
        <input type="text" name="username" /></br>
        <input type="password" name="password" /></br>
        <input type="submit" value="登陸" /></br>
        <a href="register.html" target="_blank">註冊</a>
    </form>
</body>
</html>
  • 建立register.ftl
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>註冊</title>
</head>
<body>
    <form action="/user/uregister" method="post">
        使用者名稱:<input type="text" name="username" /></br>
        密碼:<input type="password" name="password" /></br>
        確認密碼:<input type="password" name="password2" /></br>
        真實姓名:<input type="text" name="realname" /></br>
        <input type="submit" value="註冊">
    </form>
</body>
</html>
  • 建立index.ftl
    <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>登陸成功</title>
</head>
<body>
歡迎您${userLogin.realname }
</body>
</html>

相關推薦

SpringBoot實現簡單註冊登陸功能

專案的結構目錄如下 配置pom.xml: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"

Spring MVC使用註解實現賬戶註冊登陸

.post etl 對象 ble har 構造 get方法 port lis 涉及到的註解 @Controller 控制器類 @RequestMapping 映射路徑 @RequestParam 用於將指定的請求參數賦值給方法中的形參 定義域對象——User1 用來接受並封

利用ThinkPhp5來實現簡單註冊功能

利用ThinkPhp5來實現簡單註冊功能 1,首先在登入介面index.html上增加一個註冊buuton, Index.html介面: 2.註冊button按鈕跳轉到controller中Register.php檔案的register方法裡,利用fetch方法來渲染註冊介面。 R

9、ssm整合activeMQ、JAVAMail實現郵件非同步註冊登陸功能

1、前言 註冊某個網站的時候,往往要你用郵箱註冊,傳送郵件的功能很簡單,但是在點選註冊傳送郵件的時候,總不能等郵件傳送完畢之後才能跳轉頁面吧?或者說,我們應該將發郵件的這個過程異步出去,讓他自己慢慢去發郵件,我的主執行緒直接跳轉到其他頁面,等郵件到了,使用者點

springboot實現簡單登陸

完整的專案結構: 資原始檔application.properties #操作資料庫的完整配置 spring.datasource.url=jdbc:mysql://localhost:3306/springboot?serverTimezone=GMT%2B8 spring.da

JFinalbootstrap實現簡單的增刪改功能

本示例是在idea下實現的。 2、將必要的jar包拷貝到lib下面(WEB-INF下沒有lib目錄,自己新建一個lib目錄即可); 3、新建一個包,包名可以自己取,com.demo;然後在這個包下面新建一個DemoConfig類,在類中新增如下程式碼 packag

SpringBoot實現網站註冊,郵件激活碼激活功能

頁控制 lns 模板 int iba 屬性 data ger public 項目源碼:https://gitee.com/smfx1314/springbootemail 上一篇文章已經講到如何springboot如何實現郵件的發送,趁熱打鐵,這篇文章實現如下功能。 很多

php實現簡單的驗證碼功能

mage isset pat ech ace ring bcd ont es2017 1.根據php中的GD庫對圖片進行處理,繪制出驗證碼的圖片,code.php中2.表單界面,簡單的session保存及與用戶輸入對比,確定是否驗證正確,form.php中<?php

通過 JS 實現簡單的拖拽功能並且可以在特定元素上禁止拖拽

如何 alt targe 但是 mes 並且 mod closed demo 前言 關於講解 JS 的拖拽功能的文章數不勝數,我確實沒有必要大費周章再寫一篇重復的文章來吸引眼球。本文的重點是講解如何在某些特定的元素上禁止拖拽。這是我在編寫插件時遇到的問題,其實很多插件的拖

jQuery實現簡單前端搜索功能

量化 可靠性 可靠 標題 ava scrip 清空 sub 是否有效 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title&

Flask 【第四篇】使用Flask的擴展實現簡單頁面登錄功能

blog resp login sgd user flask password proc request from flask import Flask,render_template,request,redirect,session app = Flask(__name

實現簡單展開收起效果

日常 content ora borde androi oid 理解 sub 就會 body { margin: 0 auto; padding: 0; font-size: 9pt;

使用 Eureka 實現服務註冊發現

Eureka 是 Netflix 出品的用於實現服務註冊和發現的工具。 Spring Cloud 集成了 Eureka,並提供了開箱即用的支援。其中, Eureka 又可細分為 Eureka Server 和 Eureka Client。 本例子將演示如何通過 Spring Clou

python+openCV實現簡單的圖片搜尋功能(一)

一、圖片搜尋引擎有三種不同的模式  1.Search by Meta-Data:元資料搜尋模式,這種和傳統的文字搜尋類似,給索引資料新增文字註釋,上傳待查詢的圖片的時候,需要附加圖片的文字描述,實際在後臺搜尋對應的文字描述,典型的有 https://www.flickr.com/ 

SpringCloud(一) 用springboot實現簡單服務呼叫

分享一下我老師大神的人工智慧教程吧。零基礎,通俗易懂!風趣幽默!http://www.captainbed.net/ 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

mybatis免sql外掛之JpaMapper-以Jpa hibernate的風格寫mybatis(mybatis實現簡單分表-sharding功能

mybatis免sql外掛之JpaMapper-以Jpa hibernate的風格寫mybatis(mybatis實現簡單分表-sharding功能) 簡介 JpaMapper以Jpa hibernate的風格寫mybatis的程式碼,可以減少手動寫sql的煩惱。 優勢:

實現簡單的評論區功能

技術分享 view timestamp info \n css代碼 += back 客戶 題述: 使用Node.js實現評論區功能,效果如下圖。每條評論需要動態修改的部分為樓層號(如 #6),時間戳(如 2018-08-13 11:30),評論內容;昵稱和客戶端提示不必修改

JavaWeb實現登入註冊驗證碼。

寫JavaWeb的準備工作: 首先準備好資料庫和Myeclipse,這裡以mysql為例,再下載好SQL的圖形化操作介面SQLyog,在資料庫中建張表 。 詳細步驟: 在Myeclipse 中新建一個Web工程: 在src下建三個包ServletPackge,ModelPac

Taro開發微信小程式實現簡單的登入退出功能

Taro是由凹凸實驗室打造的一套遵循 React 語法規範的多端統一開發框架,還有我發現從某度上搜索的結果首頁居然看不到Taro框架的任何資訊,但是谷歌首頁就直接給出了結果,Taro使用文件。我是準備用它來開發微信小程式的,而且公司使用的前端架構正好是React

.NET Core微服務之基於Steeltoe使用Eureka實現服務註冊發現

一、關於Steeltoe與Spring Cloud    Steeltoe is an open source project that enables .NET developers to implement industry standard best practices when b