搭建 SpringBoot 2.0 项目 (五) 搭建一个集成ssm的web项目

SpringBoot项目创建与第一个SSM项目示例 项目源码: 项目的源代码,可以从优快云的博客下载地址:SpringBoot整合SSM框架——最简单示例获取。注意resources文件夹下的umanager.sql建库建表文件要先执行一下。 也可以从我的GitHub仓库:SpringBootDemo上获取源代码。 前言 根据几位网友反馈的结果,重新编辑了这篇文章。此篇文章先从环境配置开始,然后到项目创建,最后讲述SSM框架整合,展现一个完整Sp... 阅读详情

SpringBoot 入门系列:

搭建 SpringBoot 2.0 项目 (一) 开发环境的搭建(安装开发工具STS)

搭建 SpringBoot 2.0 项目 (二) 简单项目的搭建

搭建 SpringBoot 2.0 项目 (三) 使用 JPA 访问MySQL数据库

搭建 SpringBoot 2.0 项目 (四) 使用 Mybatis 访问MySQL数据库

搭建 SpringBoot 2.0 项目 (五) 搭建一个集成ssm的web项目

 

简述:在框架搭好的基础上,实现一个用户登录功能,查询数据库并比对数据,输出相应的提示。

需求:页面登录 >> 表单数据提交 >> 对比数据库 >> 判断登录是否成功

                                                          

用户名及密码正确:

                                                   

否则:

                                                  

 

 

1、新建项目

    选择MySQL、MyBatis、Web、DevTools(开发web的工具),Thymeleaf(html模板引擎,根据需要自主选择)

 

  如图创建相关类。

      

2、StringUtil 工具类, 判断输入的用户名和密码是否为空

package com.example.demo.common;

public class StringUtil {
	public static boolean isNullOrZero (String str) {
		if(str == null || str.trim().length() == 0) {
			return true;
		}
		return false;
	}
}

3、LoginController  控制类

package com.example.demo.controller;

import org.mybatis.spring.annotation.MapperScan;
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.RequestMethod;

import com.example.demo.entity.Member;
import com.example.demo.service.IMember;

@Controller 
@MapperScan("com.example.demo.dao") //mapper扫描
public class LoginController{

	@Autowired
	IMember iMemberFunc;
	@RequestMapping(value = "/hello")
	public String hello(){
		System.out.println("Hello");
		return "Log";
	}

	@RequestMapping(value = "/login",method = RequestMethod.GET)
    public String addUser1(String name,String password) {
        System.out.println("loginName is:"+name);
        System.out.println("loginPassword is:"+password);
        try {
			 Member member = iMemberFunc.login(name, password);
			 if(member == null){
				System.out.println("登录失败");
				return "Log_fail";
			 }else {
				System.out.println("登录成功");
				return "Log_success";
			 }
		} catch (Exception e) {
			 // TODO Auto-generated catch block
			 e.printStackTrace();
			 System.out.println(e.getMessage());
			 System.out.println("登录异常");
		}
		return null;
        
	}

}

4、Entity 用户实体类

package com.example.demo.entity;

public class Member {
	private int id;
	private String name;
	private String password;
	public Member(){}
	public Member(int id, String name, String password) {
		super();
		this.id = id;
		this.name = name;
		this.password = password;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	@Override
	public String toString() {
		return "Member [id=" + id + ", name=" + name + ", password=" + password
				+ "]";
	}
	
}

5、MemberDao 持久层。

package com.example.demo.dao;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.example.demo.entity.Member;
import org.apache.ibatis.annotations.Select;

//@Mapper    
public interface MemberDao {
    @Select("select * from Member where name = #{name}")
	Member selectMemberByName(@Param("name")String name)throws Exception;
}

6、IMember 服务层接口。

package com.example.demo.service;

import com.example.demo.entity.Member;

public interface IMember {
	Member login(String name, String passsword) throws Exception;
}

7、MemberImpl 服务层实现类。

package com.example.demo.service;

import com.example.demo.service.IMember;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.example.demo.common.StringUtil;
import com.example.demo.entity.Member;
import com.example.demo.dao.MemberDao;

@Service
public class MemberImpl implements IMember {
		@Autowired
		private MemberDao mDao;

		public Member login(String name, String password) throws Exception {
		// System.out.println(name + password);
		if (StringUtil.isNullOrZero(name)) {
			System.out.println("登录名不能为空");
			return null;
		}
		if (StringUtil.isNullOrZero(password)) {
			System.out.println("密码不能为空");
			return null;
		}
		Member member = mDao.selectMemberByName(name);
		if (member == null)
			System.out.println("登录名错误");
		if (member != null&&member.getName().equals(name)&&!password.equals(member.getPassword())) {
			System.out.println("密码错误");	
		return null;
		}
		return member;
	}

}

8、配置文件 application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=

#扫描pojo类的位置,在此处指明扫描实体类的包,在mapper中就可以不用写pojo类的全路径名了
mybatis.type-aliases-package=com.example.demo

9、数据库

  新建test数据库,建立menber表格,插入测试数据。如下图。

INSERT INTO `test`.`member` (`id`, `name`, `password`) VALUES ('1', 'a', '123');
INSERT INTO `test`.`member` (`id`, `name`, `password`) VALUES ('2', 'b', '456');
INSERT INTO `test`.`member` (`id`, `name`, `password`) VALUES ('3', 'c', '789');

                                                          

 10、HTML页面

 《1》登录页面

<!DOCTYPE html >
<html >
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>登录页面</title>
    <style>
    .center {
    margin: auto;
    width: 15%;
    border: 3px solid #73AD21;
    padding: 5px;
    text-align: center;
    }
    
    </style>
</head>
<body>
	<div >
		<div class="center">			
			<form action="/login" >				  		
				<input type="text" name="name" value="" placeholder="用户名">	<br>		
				<input type="password" name="password" value="" placeholder="密码"><br>				
				<input type="submit" name="" value="登录">			
			</form>		
			
		</div>
		
	</div>
</body>
</html>

 《2》登录成功

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>登录成功</title>
    <style>
    .center {
    margin: auto;
    width: 20%;
    border: 3px solid #73AD21;
    padding: 5px;
    text-align: center;
    }
    </style>
</head>


<body>
   <div class="center">
	  	<h1>登录成功</h1>	  
	    <span class="btn btn-default"> <a href="/hello" role="button"> [退出]</a></span>	  
	</div>
</body>
</html>

 《3》登录失败

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>登录失败</title>
    <style>
    .center {
    margin: auto;
    width: 20%;
    border: 3px solid #73AD21;
    padding: 5px;
    text-align: center;
    }
    </style>
</head>
</head>

<body>
   <div class="center">	
	       <h1>登录失败</h1>	   
	       <div class="alert alert-warning" role="alert">账号或密码错误</div>
	       <span class="btn btn-default"> <a href="/hello" role="button"> [返回]</a></span> 	       	
	</div>
</body>
</html>

  以上设置完成后,就可以运行测试了。

  打开链接进入登录页面:http://localhost:8080/hello

                                                        

Springboot快速搭建SSM框架 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。 本文使用的开发工具为Idea2017、tomcat... 阅读详情

相关推荐

eclipse创建springboot项目和springboot整合ssm

我们之前学过javaweb或者spring都知道依赖都是自己在pom.xml写的,springboot直接避免这一情况,选择你要导入的依赖即可,最初我们选择SpringWeb即可(在web里)但是后面我们要整合ssm于是我们还要在sql中选择mybatis framwork 和 mysql driver。注意:type这是你要创建springboot项目的类型,分别为maven,gradle,我们选择maven,同时你要创建Name:springboot_01_base_config。

weixin_73032940的博客 2681

PostgreSQL数据库中的常见错误

 我们在操作数据库的时候,我们总会遇到很多错误。下面整理了一下常见的错误。错误1      FATAL: connection limit exceeded for non-superusers      原因:非超级用户的连接数(max_connections - superuser_reserved_connections)超过了设定值      解决办法:增加max_co

步行者的专栏 11万+

springboot+SSM+MySQL项目

使用springboot+ssm+mysql的方式进行搭建,已经使用了一个简单的用户登录功能来测试项目的运行

StringUtil常用方法

package utils; import java.io.UnsupportedEncodingException; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.math.BigDecimal; import java.security.MessageDigest;

Jenny的博客 7536

SpringBoot2.0整合SSM框架,Vue.js示例项目

基于SpringBoot2.0 + SSM + Vue.js + ElementUI实现的示例项目,实现了登录、注册、用户管理(增删改查)功能。 项目未实现前后端分离。 启动前请先建立数据库ssm_demo,并执行项目resources文件夹下的ssm_demo.sql文件,导入user表,以及默认的eknows管理员(name=eknows, password=123456)

解决Windows 10更新失败错误代码0x80070643

在Windows 10操作系统的更新过程中,用户时常会遇到各类错误代码,这些代码通常成为顺利完成更新的绊脚石。其中,错误代码0x80070643是一个较为常见的更新失败提示,它可能导致系统更新停滞不前。面对这一挑战,本文将详细介绍如何有效解决这一错误,帮助用户顺利完成Windows 10的更新。

nntxthml的博客 1829

java工具类系列 (一.StringUtils)

该系列工具类大部分出自 org.apache.commons.lang3 或者其他开源框架中的工具包,StringUtils为lang工具包提供的字符串操作工具类,很多方法很合适平时开发使用,如果不想引用该jar包,可以直接把该类在自己项目中创建,源码如下: /* * Li

学习、思考、分享 1万+

Cursor Cloud Agent:云原生编程工作流的底层重构

编程工作流正从本地计算范式转向云原生执行范式。Cloud Agent 本质是将代码理解、生成、执行与调试等核心能力下沉至隔离、可控、按需分配的云端虚拟机,通过 Firecracker 微虚拟机实现亚秒级启动,并依托上下文快照、环境镜像化和内核级沙箱保障一致性、算力弹性与数据安全。这一范式突破了传统本地 AI 编程助手在环境依赖、调试能力与企业合规上的根本局限,使 IDE 从编辑工具升维为分布式开发指挥中心。本文深入解析其运行机制与工程落地实践。

weixin_34354173的博客 337

Mybatis3.4.x技术内幕(二十):PageHelper分页插件源码及原理剖析

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33940102的博客 2011

UE游戏引擎材质简单入门

什么是物体的材质,材质属性定义了物体的某些特性,从而决定了物体表面是如何与光线相作用的。UE中物理基础渲染(Physically Based Rendering OR PBR)几乎可以让我们模拟显示世界中的任何材质。那么如何在UE中制作出真实的PBR材质,基于我们提供的游戏引擎插件,如何将这些材质资源导出,并应用到 SuperMap iClient3D for Cesium/WebGL 平台上,提升模型的显示效果呢,下面小编将详细讲解一下。

m0_71055362的博客 2511

Mplus实战:如何用交叉滞后面板模型(CLPM)分析心理学纵向数据?

本文提供了在Mplus软件中应用交叉滞后面板模型(CLPM)分析心理学纵向数据的实战指南。文章详细拆解了CLPM的核心概念、Mplus语法框架,并涵盖从基础的两变量模型到多变量、潜变量建模的扩展,以及结果解读与常见陷阱规避,旨在帮助研究者利用这一经典工具有效探索变量间的动态预测关系。

weixin_29253711的博客 405

StringUtils检查字符串是否空或是null

package com.test;import org.apache.commons.lang.StringUtils;public class Test {public static void main(String[] args) {//检查字符串是否为空或是null System.out.println("isEmpty:"+StringUtils.isEmpty(null));//判断字符

u012269267的专栏 2万+

基于LSTM的股票价格预测系统,Django框架,Web的股票预测系统,训练+数据集+源码(无需安装环境版)

股票价格预测是投资领域的一个重点关注课题。由于股票价格受到诸多非线性因素的影响,得到精确的预测结果较为困难。使用 PyCharm 作为代码开发工具,通过下载好的股票金融数据,进行数据预处理,构建 LSTM 网络模型,训练模型并训练出最优模型,输出股票未来收盘价波动的走势,最后在训练好的模型上,设计股票模型应用系统,运行效率较高,对股票预测具有一定的积极意义。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 956

基于SpringBoot搭建SSM项目

一、Spring Boot简介 随着动态语言的流行(Node.js,Ruby),Java的开发显得格外的笨重:繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大。 在上述环境中,SpringBoot应运而生。Spring Boot是由Pivotal团队开发提供的全新框架,其设计的目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员...

xiajw的博客 3150

【数据集】基于ubESTARFM法的100m 地温LST数据集(澳大利亚)

【数据集】基于ubESTARFM法的100m 地温LST数据集(澳大利亚)

WW、forever的博客 265

190、LLC谐振变换器的样机调试实战(问题定位)

这篇实战笔记总结了LLC谐振变换器样机调试中的五大典型问题及解决方案:1)空载炸机源于谐振电容纹波电流能力不足;2)轻载啸叫因控制环路不稳定,需调整突发模式阈值;3)MOSFET过热由死区时间不当导致,需精确优化实现ZVS;4)输出纹波大由PCB布局耦合引起,需优化共模抑制;5)启动过冲需延长软启动时间。作者强调调试需结合示波器、热成像仪等工具,理论计算与实测并重,并详细记录每次参数调整。文章指出LLC调试是不断试错的过程,关键是通过现象分析本质原因。

Jack010169的博客 49

宝塔搭建SSM(Web项目也一样)和Springboot项目,超详细图解

在目前IT行业内卷的很,不是你卷死别人就是别人卷死你,我也读了一个双非的学校,竞争压力也很大,springboot,springCloud,Linux,Redis等也只是基础,我们学习的远远不够,计算机网络,操作系统,设计语言,算法等等有得我们深究,但也不能急于求成,一步一步来打好基础是关键,如果接触IT肯定要和服务器打交道,到学到的不止限于用宝塔面板来搭建项目,也需要系统的学习一下Linux的命令。本教程使用宝塔面板发布SSM(Web项目也一样)和Springboot项目,并用本地数据库工具连接远程数据库

我认不到你的博客 3534

Python分布式爬虫深度实战:反爬破解+数据清洗+性能优化全流程

分布式爬虫的核心是“调度中心化+执行分布式”,Scrapy-Redis是最易落地的框架,无需从零写调度逻辑;反爬破解要分级应对:基础反爬靠随机UA/限流,进阶反爬靠代理池,高级反爬靠第三方验证码API;数据清洗的关键是“批量处理+标准化”,避免内存溢出,核心字段去重和异常值过滤是必做步骤;性能优化不是单纯加节点,而是从架构(分片)、代码(批量写入)、服务器(索引/网络)三层协同优化,才能实现效率翻倍。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1200

Eclipse如何搭建一个SpringBoot项目

1、什么是springboot SpringBoot是Spring体系下的一个框架,设计SpringBoot的目的在于能够帮助开发者快速的搭建Spring应用,并且SpringBoot还整合了(反向整合)很多第三方的框架或者服务。让开发者使用这些技术变得简单。相当于Maven整合了很多第三方的jar包,SpringBoot整合了很多第三方的框架。 约定 >配置 ...

jattxgt的博客 2万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

搭建 SpringBoot 2.0 项目 (二) 简单项目的搭建

SpringBoot 入门系列: 搭建 SpringBoot 2.0 项目 (一) 开发环境的搭建(安装开发工具STS) 搭建 SpringBoot 2.0 项目 (二) 简单项目的搭建 搭建 SpringBoot 2.0 项目 (三) 使用 JPA 访问MySQL数据库 搭建 SpringBoot 2.0 项目 (四) 使用 Mybatis 访问MySQL数据库 搭建 Spri...

Henry_Lin_Wind的博客 2523

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

简单的ssm的项目

总是想自己搭建一个简单的ssm框架的项目,有很多朋友可能会问为什么不使用springboot呢?当然,使用springboot会更加简单方便,而且搭建也很简单,配置也很简单,那我为什么不使用呢?好吧,我也不知道为什么… 开始搭建项目,首先创建一个mavenn项目: 创建完成如图: 然后我们把这个myProject作为一个父工程,一般可以叫做myProject-Parent,后面再改好了,然后我...

你就像甜甜的益达 2万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

SSM老项目修改为SpringBoot项目(springboot与jsp整合)

SSM项目转换成springboot 文章目录废话前言步骤:0.sql文件导入 创建数据库1.新建一个springboot项目2.application.properties配置3.springboot-jsp的整合 废话前言 要想知道改为springboot项目需要修改什么配置什么,就要知道SSM项目web.xml和springmvc.xml给我配置了啥? web.xml配置了中央调度器,以及初始化了一些容器,编码,路由映射(为了将url转发到dispatcherServlet),指定springmvc配

java川 4730

SpringBoot项目和SSM项目的比较

最近尝试用Springboot整合原来的SSM项目,发现配置上比原来简便了很多,在开发时可以更专注于业务逻辑了,现在来比较以下两者在配置上的差别。 Dao层 Springboot项目在Mapper接口上加上@Mapper注解,可以自动生成实现类对应的bean //Springboot项目 @Mapper public interface WeatherMapper { public Lis...

qq_20786911的博客 8072

SSM项目转Springboot项目

SSM项目转Springboot项目 由于几年前写的一个ssm项目想转成springboot项目,所以今天倒腾了一下。 首先创建一个新的springboot的工程,然后复制一下相关的依赖 <?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"

qq_42277704的博客 5812

从0开始,用实例详细讲解SSM项目(大学生福音)

最近看到很多大学生又开始买项目,买讲解了,我就知道期末答辩来了。以前写了一篇《从零开始,手把手教你搭建Spring Boot后台工程并说明》,评论区老哥说我写的不是很详细,正巧这段时间,有同学找我,让我帮他讲解下他的一个`SSM`项目,我就顺便写一篇博客,尽我所能把东西讲得细一点。如果你还有什么疑问,欢迎在评论区留言,咱们的目的是让大家都能掌握这个知识与技能

战斧的博客 1万+
上一篇: springboot @Autowired 注解失败 无法注入bean
下一篇: Swagger
Henry_Lin_Wind
博客等级 码龄8年 49粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值