`
billxiatian
  • 浏览: 26022 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

web项目 -页面注册 -邮箱链接注册

    博客分类:
  • Java
阅读更多

这是我其中一个项目的做法

 

我这里上张注册界面的图


 

 

 

这里我们主要讲的是邮箱验证, 以 网易163的邮箱为例子,当然要做邮箱发送需要开通协议并授权(不多说,自行bai度)

 



 

 

还要准备两个jar包放入lib里

1.     activation.jar(附件可以下载)

2.     mail.jar(附件可以下载)
 ------------------------------------------------------------------------------------------------------------------------------------

开始撸代码:

                                1.我们先创建一个发邮件的java类

/**
 * 发送邮件工具
 * @author Administrator
 *
 */
public class EmailTools {
	/***
	 * 邮件发送方法
	 * @param address 邮件接收人
	 * @param subject 邮件的标题
	 * @param content 邮件的内容
	 * @param true 为成功 false 为失败 
	 */
	public static boolean send(String address,String subject,String content){	
		//1 创建session
		Properties pro = new Properties();//能储存键值对操作,方便存储
		pro.setProperty("mail.transport.protocol", "smtp");	
		pro.put("mail.host", "smtp.163.com");
                //下面输入用户名
		pro.put("mail.from", "用户名写这@163.com");
		//相当于客户端与邮件服务器的连接对象
		Session session = Session.getDefaultInstance(pro);
		//开启调试模式
		session.setDebug(true);
		//2 获取邮件发送对象
		try {
			Transport transport = session.getTransport();
			//设置发送人邮件账号第一个是账号名,第二个是授权码
			transport.connect("888888","888888");
			//3 创建邮箱信息
			MimeMessage message = new MimeMessage(session);
			message.setSubject(subject);//设置邮件的标题
			//设置邮件的内容和页面编码
			message.setContent(content,"text/html;charset=UTF-8");
			//4 发送邮件
			transport.sendMessage(message, InternetAddress.parse(address));
			return true;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return false;
	}
}

 

 

                    2.调用上面的发送邮件工具(主要是register的方法)

 

package com.carshop.action.customer;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.carshop.common.EmailTools;
import com.carshop.dao.UserDao;
import com.carshop.dto.User;

@Controller
@RequestMapping("customer")
public class UserAction {
	UserDao dao = null;
	/**
	 * 用户注册
	 * @return
	 */
	@RequestMapping("/register")
	public String register(User user){
		//发送激活邮箱
		String activeCode = String.valueOf(System.currentTimeMillis());
		String activeURL = ("http://localhost:1314/carshop/customer/active?userId="+user.getUserId()+"&activeCode="+activeCode);
		StringBuilder content = new StringBuilder();
		content.append(user.getUserId()+"您好,请点击下面的连接进行激活账号:</br>");
		content.append("<a href='"+activeURL+"'>"+activeURL+"</a>");
		boolean flag = EmailTools.send(user.getEmail(), "账号注册(标题)", content.toString());
		if(flag){
		
			dao = new UserDao();
			//创建账号的时间
			user.setCreateDate(new Date());
			user.setActiveCode(activeCode);
			System.out.println("register--"+user);
			dao.save(user);
		}else{
			return "register";
		}
		return "index";
	}
	//激活状态
	@RequestMapping("/active")
	public String avctive(String userId,String activeCode,Model data){
		dao = new UserDao();
		Map<String,String> map = new HashMap<>();
		map.put("userId", userId);
		map.put("activeCode", activeCode);
		int count = dao.activeUser(map);
		String tip = count>0?"激活成功":"激活失败";
		data.addAttribute("tip",tip);
		return "login";
	}
	//注册检查是否重复
	@RequestMapping("/userIdCheck")
	@ResponseBody
	public Map<String,Object> userIdChack(String userId){
		dao = new UserDao();
		boolean flag = dao.getUserByUserId(userId);
		Map<String,Object> map = new HashMap<>();
		map.put("status", flag?1:0);
		return map;
	}
}

           

                        附上我的注册页面(带页面jq验证)

 

 

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>注册页面</title>

<body>
<div class="h_title">欢迎注册</div>
</div>

<div class="content">

<form class="fr-re" action="${ctx}/customer/register" method="post">
	<label>用户名</label>
	<input class="username" type="text" name="userId" id="userId" placeholder="6-20个大小写英文字母.符号或数字组成"/>
	<div class="clear"></div><strong  id="userId_tip" class="normal">* 用户名不能为空!</strong>
	
	<label>密码</label>
	<input type="password" name="passWord" id="pwd" placeholder="输入密码"/>
	<div class="clear"></div><strong id="pwd_tip" class="normal">* 设置密码不能为空!</strong>
	
	<label>确认密码</label>
	<input type="password" name="okPwd" id="okPwd" placeholder="再次输入密码"/>
	<div class="clear"></div><strong id="okPwd_tip" class="normal">* 确认密码不能为空!</strong>
	
	<label>Email</label>
	<input type="text" name="email" id="email" placeholder="请输入您的邮箱地址"/>
	<div class="clear"></div><strong id="email_tip" class="normal">* 邮箱地址不能为空!</strong>
	
	<label>姓名</label>
	<input type="text" id="name" name="name" placeholder="请输入您的姓名"/>
	<div class="clear"></div><strong id="name_tip" class="normal">* 姓名不能为空!</strong>
	
	<label>手机号</label>
	<input type="text" id="phone" name="phone" placeholder="请输入您的常用手机号"/>
	<div class="clear"></div><strong id="phone_tip" class="normal">* 手机号码不能为空!</strong>
	
	<label>验证码</label>
	<input class="code" type="text" value=""/>
	<input class="but" type="button" value="点击获取">
	<div class="clear"></div>
	
	<label class="protocol">《用户协议》</label>
	<input class="che" id="agreen" type="checkbox" checked="checked"/>
	<strong id="agreen_tip" class="normal"></strong>
	
	<a href="javascript:void(0)"><input class="butt" type="submit" name="registe" value="点击注册"/></a>
</form>

</div>
<@carshop_footer.footer/>
<script type="text/javascript">
		$(function(){
			
			//用户名是否重复检查
			$("#userId").blur(function(){
				var url = "${ctx}/customer/userIdCheck";
				$.post(url,$("#userId"),function(data){
						if(data.status == 1){
							$("#userId_tip").html("用户名已存在!").show();
							$("#userId").focus(); // 获取焦点
							var isSubmit = false;
						}else{
							$("#userId_tip").hide();
							var isSubmit = true;
						}
				},"json");
			});
			
			
			
			
			/** 隐藏所有的提示信息 */
			$("strong[id$='_tip']").hide(); 
			/** 为表单绑定提交事件onsubmit */
			$("form[class='fr-re']").submit(function(){
				/** 表单输入校验 */
				var userId = $("#userId");
				var pwd = $("#pwd");
				var okPwd = $("#okPwd");
				var email = $("#email");
				var provice = $("#provice");
				
				var phone = $("#phone");
				
				
				
				

				/** 隐藏所有的提示信息 */
				$("strong[id$='_tip']").hide(); 

				/** 定义是否提交表单的标识符 */
				var isSubmit = true;
				if ($.trim(userId.val()) == ""){
					isSubmit = false;
					$("#userId_tip").html("* 用户名不能空!").show();
					userId.focus(); // 获取焦点
				}else if (!/^\w{5,20}$/.test($.trim(userId.val()))){
					isSubmit = false;
					$("#userId_tip").html("* 用户名必须在5-20位之间!").show();
					userId.focus(); // 获取焦点
				}else if ($.trim(pwd.val()) == ""){
					isSubmit = false;
					$("#pwd_tip").html("* 设置密码不能空!").show();
					pwd.focus(); // 获取焦点
				}else if (!/^\w{6,20}$/.test($.trim(pwd.val()))){
					isSubmit = false;
					$("#pwd_tip").html("* 设置密码必须在6-20位之间!").show();
					pwd.focus(); // 获取焦点
				}else if ($.trim(okPwd.val()) == ""){
					isSubmit = false;
					$("#okPwd_tip").html("* 确认密码不能空!").show();
					okPwd.focus(); // 获取焦点
				}else if (!/^\w{6,20}$/.test($.trim(okPwd.val()))){
					isSubmit = false;
					$("#okPwd_tip").html("* 确认密码必须在6-20位之间!").show();
					okPwd.focus(); // 获取焦点
				}else if (pwd.val() != okPwd.val()){
					isSubmit = false;
					$("#okPwd_tip").html("* 两次密码输入不一致!").show();
				}else if ($.trim(email.val()) == ""){ // 邮箱
					isSubmit = false;
					$("#email_tip").html("* 邮箱地址不能为空!").show();
					email.focus();
				}else if ($.trim(name.val()) == ""){ // 姓名
					isSubmit = false;
					$("#name_tip").html("* 姓名不能为空!").show();
					name.focus();
				}else if ($.trim(phone.val()) == ""){ // 手机号码
					isSubmit = false;
					$("#phone_tip").html("* 手机号码不能为空!").show();
					phone.focus();
				}else if (!/^1[3|4|5|8]\d{9}$/.test($.trim(phone.val()))){ // 手机号码
					isSubmit = false;
					$("#phone_tip").html("* 手机号码格式不正确!").show();
					phone.focus();
				}else if (!$("#agreen").attr("checked")){ // 同意
					isSubmit = false;
					$("#agreen_tip").html("* 请勾选我已经阅读并同意!").show();
				}
				return isSubmit;
			});
		});
	</script>
</body>
</html>

 

 

 

 

  • 大小: 39.2 KB
  • 大小: 101.9 KB
分享到:
评论

相关推荐

    web设计实现登录和注册页面链接

    在Web设计中,实现登录和注册页面链接是网站基本功能的核心部分。这涉及到HTML、CSS、JavaScript以及服务器端脚本语言如ASP(Active Server Pages)的综合运用。在这个项目中,我们将探讨如何创建一个交互式的用户...

    HTML网页练习之网易邮箱注册页面

    HTML网页练习之网易邮箱注册页面是一项旨在提升web前端技能的实践项目。在这个项目中,开发者使用HTML、CSS和JavaScript这三种核心技术,构建了一个类似于网易邮箱的实际注册页面。这个过程不仅涵盖了网页的基本结构...

    Web实现注册登录功能源代码

    在Web开发中,实现注册和登录功能是每个网站或应用程序的基本需求。这些功能不仅涉及到用户的身份验证,还涉及数据安全、用户体验以及后端处理等多个方面。以下是对"Web实现注册登录功能源代码"这一主题的详细说明:...

    Java Web实现邮箱注册激活用户

    在Java Web开发中,"邮箱注册激活用户"是一种常见的用户管理功能,用于验证用户在注册时提供的邮箱地址的有效性。这个过程通常分为以下几个步骤: 1. **用户注册**:用户在网页上填写必要的个人信息,包括邮箱地址...

    java+web考试之编程大题--用户注册源码整理

    在Java Web开发中,用户注册功能是任何应用的基础部分,涉及到用户信息的收集、验证以及存储。本资源“java+web考试之编程大题--用户注册源码整理”旨在提供一个关于用户注册功能的实现案例,帮助学习者理解和掌握...

    注册邮箱激活验证Demo

    在这个Demo中,JSP可能被用来创建用户注册页面,收集用户输入的邮箱地址,并将其发送到后台Servlet进行处理。 **2. Servlet** Servlet是Java EE中的核心组件,用于扩展服务器的功能。在本Demo中,Servlet接收JSP...

    一个简单的登录注册页面

    这里我们讨论的项目是一个简单的登录注册页面,它具有良好的视觉效果和基本的用户输入验证功能。 首先,登录注册页面的核心是提供用户进行身份验证的入口。登录页面通常包括用户名(或邮箱)和密码输入框,以及登录...

    java+web考试之编程大题--用户注册Java源码

    11. **邮件验证**:对于更安全的注册流程,注册后可能需要发送验证邮件到用户邮箱,用户点击链接完成验证,确保邮箱的真实性。 12. **文件上传**:如果允许用户上传头像或其他文件,还需要处理文件上传,包括验证...

    登录注册页bootstrap模板下载-登录 注册 login bootstrap.rar

    这个"登录注册页bootstrap模板下载-登录 注册 login bootstrap.rar"文件提供了一套预先设计好的登录和注册页面模板,适合快速构建用户认证系统。在本文中,我们将深入探讨Bootstrap框架以及如何利用它来创建高效且...

    java web考试之编程大题--用户注册

    在Java Web开发中,用户注册是一个基础且重要的功能模块,对于任何Web应用程序来说都是不可或缺的。这个编程大题主要考察开发者对于用户管理、数据验证、密码安全以及与数据库交互的能力。下面将详细讲解这个主题...

    vs2015 dynamicweb11-1 .NET PET SHOP宠物商店完整项目代码

    4. 注册流程:当用户提交表单后,数据会被保存到数据库中,同时可能发送一封确认邮件,用户需点击邮件中的链接完成注册。 二、用户登录 用户登录是用户参与系统活动的入口。在.NET PET SHOP中,登录功能可能包括...

    Java Web+Mysql实现邮箱激活注册的用户

    本项目"Java Web+Mysql实现邮箱激活注册的用户"提供了一种安全且有效的用户注册机制,通过邮箱验证确保用户的真实性。下面将详细介绍这个项目的相关知识点。 1. **Java Web基础**: - **Servlet**:Java Web的核心...

    HTML-移动端APP注册登录页面模板

    在移动应用开发中,HTML被广泛用于构建Web应用程序,尤其是移动端的APP注册和登录页面。这些页面是任何应用的重要组成部分,它们为用户提供了一个界面来创建新账户或访问已有账户。 本资源提供的是一套完整的HTML...

    java邮箱注册验证实现

    在注册验证中,我们会在用户提交邮箱后,通过SMTP服务器发送一封带有验证链接的邮件到用户的邮箱。用户点击链接后,Servlet会接收到验证请求,确认邮箱的有效性,然后更新数据库状态,表示邮箱已验证。 整个流程...

    WEB注册控件

    在IT行业中,"WEB注册控件"是一种用于网站注册页面的关键技术,它的目的是为了提高用户注册过程的安全性和用户体验。在BBS(Bulletin Board System,电子公告板)注册验证中,这种控件尤其重要,因为BBS系统通常有...

    java邮箱注册

    在Java Web项目中,邮箱注册是一项常见的功能,用于验证用户提供的邮箱地址并确认他们的身份。以下将详细讲解如何实现这个功能,并提供一个基于Java的邮箱注册流程。 首先,我们需要一个用户注册界面,用户在此输入...

    163邮箱html页面

    在【163首页】这个文件中,我们可以预见到163邮箱的登录页面设计,可能包含以下关键知识点: 1. **基础HTML结构**:页面将遵循标准的HTML5文档类型声明(&lt;!DOCTYPE html&gt;),以及和标签,其中包含了元信息,如字符...

    login-and-register.rar_login_注册页面_登录注册_网站特效

    "login-and-register.rar" 是一个包含登录和注册页面特效资源的压缩包,它主要用于模拟前程无忧这种大型招聘网站的用户体验。这个压缩包的焦点在于"登录注册_网站特效",意味着其中可能包含了JavaScript、CSS3以及...

    Java Web报价管理系统 带邮箱验证功能 项目开发案例

    3. **JavaMail API**:用于实现邮件发送功能,用户注册时,系统会发送一封带有验证链接的邮件到用户提供的邮箱。 4. **HTML/CSS/JavaScript**:构建前端用户界面,提供良好的用户体验。 5. **框架**:可能使用了...

    javaweb+mysql数据库实现注册登录程序

    本项目"javaweb+mysql数据库实现注册登录程序"旨在教你如何使用Java Web技术和MySQL数据库来创建这样一个系统。以下是这个项目涉及到的关键知识点: 1. **Java Web基础**:Java Web开发主要涉及Servlet、JSP(Java...

Global site tag (gtag.js) - Google Analytics