首页 > 其他分享 >SpringBoot整合Ajax

SpringBoot整合Ajax

时间:2023-11-11 12:33:36浏览次数:33  
标签:username SpringBoot color type boot Ajax 整合 margin String

使用springboot整合ajax实现登录验证及查询信息。 image.png

image.png 添加jar依赖

 <dependencies>
        <!--<dependency>-->
        <!--    <groupId>org.aspectj</groupId>-->
        <!--    <artifactId>aspectjweaver</artifactId>-->
        <!--</dependency>-->
        <!--aop-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
        <!--分页插件-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.4.1</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--thymeleaf-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <!--mybatis-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.0</version>
        </dependency>
        <!--mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.21</version>
        </dependency>
        <!--lombok简化bean的书写-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.28</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>

    </dependencies>

yml配置

mybatis:
  type-aliases-package: com.yh.pojo
  mapper-locations: classpath:mappers/*.xml
  configuration:
    map-underscore-to-camel-case: true #驼峰
# 数据源
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql:///examdb?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2B8&useSSL=false
    username: root
    password: root
  thymeleaf:
    cache: false #避免改了模板还要重启服务器
    mode: HTML5
    encoding: UTF-8
    servlet:
      content-type: text/html
    prefix: classpath:/templates/
    suffix: .html

页面结构

image.png

UserMapper接口如下:

public interface UserMapper { @Insert("INSERT users (id, username, gendar, address, password, card) " + "VALUES (null,#{username}, #{gendar}, #{address}, #{password}, null)") void saveUser(User user);

@Select({"select * from users where username=#{username}"})
List<User>findUsersByName(String username);

}

User类:

@Data public class User { private Integer id; private String username; private String gendar; private String address; private String password; //private String card; }

UserService接口

public interface UserService { void saveUser(User user); List<User> findUsersByName(String username); }

UserViceImpl实现类 @Service public class UserServiceImpl implements UserService { @Autowired UserMapper userMapper; @Override public void saveUser(User user) { userMapper.saveUser(user); }

@Override
public List<User> findUsersByName(String username) {
    return userMapper.findUsersByName(username);
}

}

启动类配置:

@SpringBootApplication @MapperScan("com.yh.mapper") public class ExamApp { public static void main(String[] args) { SpringApplication.run(ExamApp.class); } }

添加用户页面代码如下:

<!DOCTYPE html>
<html>
<head>
	<title>用户添加</title>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<style>
		body {
			font-family: Arial, sans-serif;
			background-color: #f7f7f7;
		}
		
		h2 {
			text-align: center;
			margin-top: 30px;
			margin-bottom: 20px;
			color: #333;
		}
		
		form {
			max-width: 500px;
			margin: 0 auto;
			background-color: #fff;
			padding: 20px;
			border-radius: 5px;
			box-shadow: 0px 0px 10px #ccc;
		}
		
		label {
			font-size: 14px;
			font-weight: bold;
			color: #333;
			display: block;
			margin-bottom: 5px;
		}
		
		input[type="text"], input[type="email"], input[type="password"] {
			display: block;
			width: 100%;
			padding: 10px;
			border: none;
			border-radius: 3px;
			margin-bottom: 20px;
			box-sizing: border-box;
			font-size: 16px;
			color: #666;
			background-color: #f7f7f7;
		}
		
		
		input[type="submit"] {
			display: block;
			width: 100%;
			padding: 10px;
			border: none;
			border-radius: 3px;
			background-color: #333;
			color: #fff;
			font-size: 16px;
			cursor: pointer;
		}
		
		.error-message {
		    color: red;
		    font-size: 14px;
		    margin-top: -10px;
		    margin-bottom: 10px;
		}
		input[type="file"] {
		    margin-bottom: 20px;
		 }
		.gender-group label {
			margin-right: 10px;
		}
		.gender-group {
			display: flex;
			align-items: center;
			margin-bottom: 20px;
		}
	</style>
	<script src="jquery-3.1.1.min.js"></script>
	<script>
		$(function (){
			$("#username").blur(function (){
				//调用ajax的语法格式;
				$.ajax({
					url:'findUsersByName',
					method:'get',
					data:{username:$(this).val()},
					success:function (resp){
						console.log(resp);
						if(resp=='success'){
							$('#namemsg').html('用户名存在了').css('color','red');
							$('input[type="submit"]').prop('disabled',true).css('color','gray');
						}else{
							$('#namemsg').html('');
							$('input[type="submit"]').prop('disabled',false).css('color','white');
						}
					}
				});
			});
		});
	</script>
</head>
<body>
	<h2>添加用户</h2>
	<form action="/register" method="POST" enctype="multipart/form-data">
		<label for="username">用户名:</label>
		<input type="text" id="username" name="username" required>
		 <p class="error-message" id="namemsg"></p>
		 
		<label for="phone">手机号:</label>
		<input type="text" id="phone" name="phone" required>
		
		<div class="gender-group">
                <label>性别:</label>
                <label for="male">男</label>
                <input type="radio" id="male" name="gender" value="man" required>
                <label for="female">女</label>
                <input type="radio" id="female" name="gender" value="woman" required>
        </div>
		
		<label for="address">住址:</label>
		<input type="text" id="address" name="address" required>
		
		<label for="password">密码:</label>
		<input type="password" id="password" name="password" required>
		
		<label for="repassword">确认密码:</label>
		<input type="password" id="repassword" name="repassword" required>
		
		<input type="submit" value="新增">
	</form>
</body>
</html>

标签:username,SpringBoot,color,type,boot,Ajax,整合,margin,String
From: https://blog.51cto.com/teayear/8316440

相关文章

  • Ajax与Flash的优缺点比较
    1.Ajax的优势:1.可搜索性2.开放性3.费用4.易用性5.易于开发。2.Flash的优势:1.多媒体处理2.兼容性3.矢量图形4.客户端资源调度3.Ajax的劣势:1.它可能破坏浏览器的后退功能2.使用动态页面更新使得用户难于将某个特定的状态保存到收藏夹中,不过这些都有相关方法解决。4.Fl......
  • 23.11.10(Ajax和Json的数据传输问题)
    使用Ajax写查询功能,后端数据一直传不到前端,遇到parse解析的卡住原因:传来的json数据格式不正确,后端Java还respond了一个success解决方法:把success去掉<scriptsrc="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script><script>$(d......
  • SpringBoot项目集成ElasticSearch服务
    目录版本介绍背景介绍优势说明集成过程1.引入依赖2.添加配置文件3.初始化示例说明代码结果总结提升版本介绍  Springboot的版本是:2.3.12  ElasticSearch的版本是:7.6.2背景介绍  在我们的项目中经常会遇到对于字符串的一些操作,例如对于字符串的分词,通过一个词去查找对应......
  • 博客管理系统|基于SpringBoot+Vue+ElementUI付费博客系统的设计与实现
    作者主页:编程指南针作者简介:Java领域优质创作者、博客专家、特邀作者、多年架构师设计经验、腾讯课堂常驻讲师主要内容:Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助收藏点赞不迷路 关注作者有好处项目编号:BS-PT-089二,环境介绍语言环境:Java: jdk1.8数据库:Mysql......
  • 多模块springboot项目打jar包 没有主清单属性
    说明:一个多模块的项目 两个子Module 一个core 一个server。java8的环境 |--XChome(pom.xmlxchome的 父级)--|--xc-core(pom.xmlxc-core的子级)--|--xc-server(pom.xmlxc-server的子级) xc-core:主要定义一些常量类、工具类、业务部分(controllerservice......
  • 基于SSM+SpringBoot影院在线预订系统开发与设计(附源码资料)
    文章目录1.项目简介2.项目运行截图2.1.电影网站首页2.2.电影列表2.3.反馈与意见2.4.电影详情2.5.电影预订2.6.会员登录2.7.会员注册2.8.管理员后台首页2.9.用户管理2.10.电影管理2.11.房间管理2.12.房间管理2.13.黑名单管理2.14.用户反馈管理2.15.预约管理3.源码获取1.项目简介该......
  • SpringBoot复习:(57)ServletRequestListener
    packagecn.edu.tju.confiig;importorg.springframework.context.annotation.Configuration;importjavax.servlet.ServletRequestEvent;importjavax.servlet.ServletRequestListener;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServlet......
  • SpringBoot部署的jar包瘦身
    pom文件打包插件更换参考连接:https://www.jb51.net/program/293676eog.htm参考连接:https://blog.csdn.net/meng_9543/article/details/121329834<build><finalName>xxx-xxx</finalName><plugins><plugin>......
  • springboot学习日记(一)
    今天连下数据库,不小心打成netstartmysql了,好糗。。以后等时机到了笔记也该换成markdown写了,好久没写md后面得复习下。然后idea这边连数据库很简单不用写专门的程序,右侧栏database直接可以点开具体到连接某个数据库。记录一下注解的原理和作用:以前,『XML』是各大框架的青睐者,它......
  • Springboot报错,java.lang.IllegalArgumentException: argument type mismatch
    1、报错信息java.lang.IllegalArgumentException:argumenttypemismatch atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod) atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) atsun.reflect.DelegatingMethodAccessorI......