真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

SpringMVC+mybatis實現(xiàn)注冊登錄功能

本文實例為大家分享了Spring MVC mybatis實現(xiàn)注冊登錄功能的具體代碼,供大家參考,具體內容如下

10余年的安國網站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都全網營銷的優(yōu)勢是能夠根據用戶設備顯示端的尺寸不同,自動調整安國建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“安國網站設計”,“安國網站推廣”以來,每個客戶項目都認真落實執(zhí)行。

前期準備: 

如下圖所示,準備好所需要的包

 Spring MVC+mybatis實現(xiàn)注冊登錄功能

新建工程,導入所需要的包,在web.xml中配置好所需要的,如下

<?xml version="1.0" encoding="UTF-8"?>


 encoding
 org.springframework.web.filter.CharacterEncodingFilter
 
 encoding
 UTF-8
 

 
 encoding
 *.action
 
 

 spring
 org.springframework.web.servlet.DispatcherServlet
 
 1
 
 contextConfigLocation
 /WEB-INF/config/spring.xml
 


 spring
 *.action

 
 index.jsp
 

配置好如下文件spring.xml

<?xml version="1.0" encoding="UTF-8"?>


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 
 
 
 
 


 配置好數據庫信息

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/cheshangbao?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useOldAliasMetadataBehavior=true
username=root
password=admin

另外,還有所需要的操作數據庫的語句:

<?xml version="1.0" encoding="UTF-8" ?>





 
 
 insert into user_login (phone_mobile,login_password,register_time,user_code) values(#{phone_mobile},#{login_password},#{register_time},#{user_code})
 
 
 
 
 
 
 
 

前端準備工作

我做的一個簡單的注冊登錄的頁面,在頁面中對表單進行了第一層的判斷,然后在后端又寫了第二層驗證。

登陸頁面如下



 
 ">
 
 用戶登錄
 
 
  
 
  
 
 
  
 
 
 

登錄

手機號:
密 碼:



注冊

 以下是注冊界面



 
 
 
 用戶注冊
 
 
  
 
 
  
 
 
 
 
 
 
 
 

用戶注冊

手機號:
密碼:
確認密碼:

 頁面中對手機號進行了驗證,而且能夠與后臺進行交互,判斷數據庫中是否已有此手機號,頁面所需的js文件和css配置會在以下給出,

進入正題 

數據庫中包含用戶手機號,用戶密碼,以及注冊信息,和生成的唯一識別碼 

以下是用戶的實體類 

package com.register.vo;

import java.util.Date;

public class User {
private int id;
private String phone_mobile;//用戶手機號
private String login_password;//用戶登錄密碼
private Date register_time;//用戶注冊日期
private String user_code;//用戶唯一識別ID

public User(int id, String phone_mobile, String login_password, Date register_time,
 String user_code) {
 super();
 this.id = id;
 this.phone_mobile = phone_mobile;
 this.login_password = login_password;
 this.register_time = register_time;
 this.user_code = user_code;
}

public User(String phone_mobile, String login_password, Date register_time, String user_code) {
 super();
 this.phone_mobile = phone_mobile;
 this.login_password = login_password;
 this.register_time = register_time;
 this.user_code = user_code;
}
public User() {
}

public int getId() {
 return id;
}
//對用戶數據進行封裝
public void setId(int id) {
 this.id = id;
}

public String getPhone_mobile() {
 return phone_mobile;
}

public void setPhone_mobile(String phone_mobile) {
 this.phone_mobile = phone_mobile;
}

public String getLogin_password() {
 return login_password;
}

public void setLogin_password(String login_password) {
 this.login_password = login_password;
}

public Date getRegister_time() {
 return register_time;
}

public void setRegister_time(Date register_time) {
 this.register_time = register_time;
}

public String getUser_code() {
 return user_code;
}

public void setUser_code(String user_code) {
 this.user_code = user_code;
}

}

下面這一步是比較重要的一步,Controller類, 如下所示

package com.register.controller;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.ibatis.session.SqlSession;
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.ResponseBody;

import com.register.service.UserService;
import com.register.vo.User;


//讓控制器成為一個bean
@Controller
//這個控制器是接受user_reg頁面?zhèn)鬟^來的參數去操作數據庫
public class UserController {
 @Autowired
 private SqlSession sqlSession;
 @Autowired
 private UserService us;
 @Autowired
 private HttpServletRequest req;
 @RequestMapping("/userReg.action")
 //jsp頁面通過userReg.action找到這個方法
 public String userReg(User user){
 Map map = new HashMap();
 map.put("phone_mobile", user.getPhone_mobile());
 map.put("login_password", user.getLogin_password());
  
 //判斷頁面?zhèn)骰氐臄祿? Pattern pattern = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[01236789]))\\d{8}$");
 Matcher matcher = pattern.matcher(user.getPhone_mobile());
 if(user.getPhone_mobile()==null || user.getLogin_password()==null || !matcher.matches()){
 return "index.jsp";
 }
 
 //獲取當前注冊時間
 Date date = new Date();
 DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 map.put("register_time", df.format(date));
 
 //生成唯一識別碼
 String s = UUID.randomUUID().toString(); 
 String user_code = s.substring(0,8)+s.substring(9,13)+s.substring(14,18)+s.substring(19,23)+s.substring(24); 
 map.put("user_code", user_code);
 
 //將數據添加到數據庫中
 int a = sqlSession.insert("com.register.dao.addUser",map);
 
 req.setAttribute("phone_mobile", user.getPhone_mobile());
 req.setAttribute("login_password", user.getLogin_password());
 return "pages/register_success.jsp";
 }


 //處理用戶名唯一性的判斷         
 @RequestMapping("/userJudge.action")
 @ResponseBody
 public User userJudge(String phone_mobile) {
 User u = sqlSession.selectOne("com.register.dao.judgeUser",phone_mobile);
 System.out.println(u.getPhone_mobile());
 return u;
 }
 
 //用戶登錄的判斷
 @RequestMapping("/userLogin.action")
 public String userLogin(String phone_mobile,String login_password){
 //對頁面?zhèn)骰氐闹颠M行二次判斷
 Pattern pattern = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[01236789]))\\d{8}$");
 Matcher matcher = pattern.matcher(phone_mobile);
 if(phone_mobile==null || login_password==null || !matcher.matches()){
 return "pages/user-login-no.jsp";
 }
 
 User u = us.userLogin(phone_mobile, login_password);
 
 //查到用戶了,執(zhí)行登錄成功的操作
 if(u!=null){
 req.getSession().setAttribute("u", u);
 return "pages/user-login-ok.jsp";
 }else{
 return "pages/user-login-no.jsp";
 }
 }
 //用戶退出銷毀session 跳轉到登錄頁
 @RequestMapping("/userExit.action")
 public String userExit(HttpSession session){
 session.invalidate();
 return "index.jsp";
 }
}

 UserService類:

package com.register.service;

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

import org.apache.ibatis.session.SqlSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.register.vo.User;


@Service
public class UserService {
 @Autowired
 private SqlSession sqlSession;
 public User userLogin(String phone_mobile,String login_password){
 Map map = new HashMap();
 map.put("phone_mobile",phone_mobile);
 map.put("login_password", login_password);
 User u = sqlSession.selectOne("com.register.dao.userLogin",map);
 return u;
 }
}

注入測試類:

package com.register.util;

import org.springframework.stereotype.Controller;

@Controller
public class TestUtil {
 public void a(){
 System.out.println("注入成功!");
 }

}


 OK,到這里已經基本差不多了,但是這里邊所給的代碼并不完整,為了方便大家相互交流學習,這是源碼以及數據庫文件,
鏈接:注冊登錄功能,想要參考源碼的可以自己下載。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。


本文名稱:SpringMVC+mybatis實現(xiàn)注冊登錄功能
標題路徑:http://weahome.cn/article/iepcid.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部