java SSM项目基础(day 5)[实现用户添加功能(注册)]

既然是用户添加,我们不妨写个注册用户。

目录

思路整理

代码编写

前端页面

Register.jsp

后端代码

Service层

Controllor层

GitHub


思路整理

我们还是以  前端页面→Service层→Controllor层→前端页面   的思路来整理。

注册和登录区别不大,一样是用表单提交数据,唯一不同的是,注册是直接插入数据库,而登录是与数据库里进行比较。

因此,前端写一个表单用来提交信息,service层写插入的方法,Controllor层实现插入和页面跳转。

代码编写

前端页面

前端页面要写一个表单,然后用表单来传递数据,因此表单填写完后要有一个提交按钮,点击按钮触发事件,使用ajax传递数据。

这段代码里使用了bootstrap制作表格,kindeditor上传图片,sweetalert弹出框和json序列化

Register.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<title>注册页面</title>


<!-- kindeditor 图片上传-->
<link rel="stylesheet" href="${pageContext.request.contextPath}/plugin/kindeditor/themes/default/default.css" />

<!-- 页面样式 -->
<link rel="stylesheet" href="${pageContext.request.contextPath}/registerpage/register.css" />

<!-- sweet alert -->
<link rel="stylesheet" href="${pageContext.request.contextPath}/plugin/sweetalert/css/sweetalert2.min.css" /> 

<!-- bootstrap -->
<link rel="stylesheet" href="${pageContext.request.contextPath}/plugin/register/bootstrap.min.css">

<!-- jquery -->
<script type="text/javascript" src="${pageContext.request.contextPath}/plugin/js/jquery.min.js"></script>

<!-- kindeditor -->
<script src="${pageContext.request.contextPath}/plugin/kindeditor/kindeditor.js"></script>
<script src="${pageContext.request.contextPath}/plugin/kindeditor/lang/zh_CN.js"></script>

<!-- json序列化 -->
<script type="text/javascript" src="${pageContext.request.contextPath}/plugin/js/jquery.serializejson.min.js"></script>

<!-- sweetalert -->
<script type="text/javascript" src="${pageContext.request.contextPath}/plugin/sweetalert/js/sweetalert2.min.js"></script> 
<script type="text/javascript" src="${pageContext.request.contextPath}/plugin/sweetalert/js/es6-promise.min.js"></script> 
<script type="text/javascript" src="${pageContext.request.contextPath}/plugin/sweetalert/js/jquery-2.1.1.min.js"></script>

<!-- bootstrap -->
<script src="${pageContext.request.contextPath}/plugin/register/popper.min.js"></script>
<script src="${pageContext.request.contextPath}/plugin/register/bootstrap.min.js"></script>
</head>



<body>
	<div class="boxmy">

		<div class="welcome">
			<div class="welcometitle">
				<p>欢 迎 注 册 !</p>
			</div>
		</div>


		<div class="registerpart">

			<!-- 表单 -->
			<form id="save_form">
				<!-- 用户名 -->
				<div class="form-group row">
					<label for="inputusername" class="col-sm-2 col-form-label">用户名</label>
					<div class="col-sm-10">
						<input type="text" class="form-control" name="username"
							id="usernameinput" placeholder="请输入用户名" style="width: 300px">
					</div>
				</div>

				<!-- 密码 -->
				<div class="form-group row">
					<label for="inputPassword" class="col-sm-2 col-form-label">密码</label>
					<div class="col-sm-10">
						<input type="password" class="form-control" name="userpwd"
							id="userpwdinput" placeholder="请输入密码" style="width: 300px">
					</div>
				</div>

				<!-- 昵称 -->
				<div class="form-group row">
					<label for="inputusernickname" class="col-sm-2 col-form-label">昵称</label>
					<div class="col-sm-10">
						<input type="text" class="form-control" name="usernickname"
							id="usernicknameinput" placeholder="请输入昵称" style="width: 300px">
					</div>
				</div>

				<!-- 性别 -->
				<fieldset class="form-group">
					<div class="row">
						<legend class="col-form-label col-sm-2 pt-0">性别</legend>
						<div class="col-sm-10">
							<div class="form-check form-check-inline">
								<input class="form-check-input" type="radio" name="sexradio"
									id="sexradio1" value="男" checked> <label
									class="form-check-label" for="gridRadios1">男</label>
							</div>
							<div class="form-check form-check-inline">
								<input class="form-check-input" type="radio" name="sexradio"
									id="sexradio2" value="女"> <label
									class="form-check-label" for="gridRadios2">女</label>
							</div>
						</div>
					</div>
				</fieldset>

				<!-- 用户头像 -->
				<div class="form-group row">
					<label for="inputPassword3" class="col-sm-2 control-label">头像</label>
					<div class="col-sm-10">
						<input name="userphoto" type="hidden" id="userphoto" value="" />
						<!-- <img id="myUpdateImage" alt="" src="" width="100" height="100" type="hidden"> -->
						<input type="button" id="myPhotoButton" value="选择头像" />
						<span id="span1" style="color:red"></span>
					</div>
				</div>
			</form>

			<!-- 注册按钮 -->
			<div class="signinbut">
				<div class="form-group row">
					<div class="col-sm-10">
						<button class="btn btn-success" id="registerbtn">注 册</button>
					</div>
				</div>
			</div>

		</div>
	</div>


	
	<script type="text/javascript">
	//注册
	$(function() {
		$("#registerbtn").click(function() {
			var data = $("#save_form").serializeArray();
			//ajax
			$.ajax({
				url : "${pageContext.request.contextPath}/userregister.do",  //url表示请求地址 即与controllor类里相对应的方法
				data : data,
				dataType : 'json',
				type : 'post',
				success : function(rtn) {
					swal({
						text: "注册成功!点击确认跳转到登录页面!",
						type: "success",
						confirmButtonText: '确认',
						confirmButtonColor: '#4cd964'
					}).then(function (isConfirm) {
						window.location.href="login.jsp"
					});
				}
			})
		})
	})
	
	//图片上传 
		$(function() {
			KindEditor.ready(function(K) {
				var editor = K.editor({
					allowFileManager : true
				});
				K('#myPhotoButton').click(
						function() {
							editor.loadPlugin('image', function() {
								editor.plugin.imageDialog({
									imageUrl : K('#userphoto').val(),//取值
									clickFn : function(url, title, width,height, border, align) {
										var startUrl = 'D:/sjsx/upload/image/';
										var newUrl = url.substr(startUrl.length);
										K('#userphoto').val(newUrl);
										//$("#myUpdateImage").attr("src","/imageurl/" + newUrl);
										editor.hideDialog();
										//文字添加
										document.getElementById("span1").innerHTML="图片上传成功";
									}
								});
							});
						});
			})
		})
		
		
	</script>

</body>


</html>

 

后端代码

Service层

service.java

	//添加用户
	int insert(User user);

只是增加一个insert抽象方法。

serviceimpl.java

	//用户注册
	@Override
	public int insert(User user) {
		// TODO Auto-generated method stub
		return userMapper.insert(user);
	}

与service.java一样。这里只是实现方法。

Controllor层

	// 添加用户
	@ResponseBody
	@RequestMapping("userregister")
	public Map<String, Object> userregister(User user) {
		Map<String, Object> rtn;
		try {
			userService.insert(user);
			rtn = ajaxReturn(true, "添加成功");
		} catch (Exception e) {
			// TODO: handle exception
			rtn = ajaxReturn(false, "添加失败");
		}
		return rtn;
	}

到此,用户注册成功!

GitHub

https://github.com/cmccq/ssmdemo02

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值