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
JFinal與bootstrap實現簡單的增刪改功能
本示例是在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