栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JavaWeb 网上书店 注册和登陆功能案例详解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaWeb 网上书店 注册和登陆功能案例详解

本文实例讲述了JavaWeb 网上书店 注册和登陆功能。分享给大家供大家参考,具体如下:

工具:Eclipse + Navicat

源码地址:https://github.com/Sunjinhang/JavaWeb

用户实体:简简单单的六个属性,编号、姓名、密码、电话、邮箱、地址。

package Entity;
public class User {
    public User(String id, String userName, String password, String phone, String email, String address) {
 super();
 this.id = id;
 this.userName = userName;
 this.password = password;
 this.phone = phone;
 this.email = email;
 this.address = address;
    }
    private String id;
    private String userName;
    private String password;
    private String phone;
    private String email;
    private String address;
    public String getId() {
 return id;
    }
    public void setId(String id) {
 this.id = id;
    }
    public String getUserName() {
 return userName;
    }
    public void setUserName(String userName) {
 this.userName = userName;
    }
    public String getPassword() {
 return password;
    }
    public void setPassword(String password) {
 this.password = password;
    }
    public String getPhone() {
 return phone;
    }
    public void setPhone(String phone) {
 this.phone = phone;
    }
    public String getEmail() {
 return email;
    }
    public void setEmail(String email) {
 this.email = email;
    }
    public String getAddress() {
 return address;
    }
    public void setAddress(String address) {
 this.address = address;
    }
}

用户实现登陆注册的一些方法:包含注册、登陆、密码MD5加密、编号随机生成

package Service;
import java.security.MessageDigest;
import java.util.UUID;
import Dao.UserDao;
import Entity.User;
public class UserService extends UserDao{
    public void AddUser(User user) {
 user.setId(GetUId());
 user.setPassword(MD5Encode(user.getPassword()));
 Add(user);
    }
    public User ValidateLogin(String name,String password) {
 User user = Validate(name,MD5Encode(password));
 return user;
    }
    //自动给用户生成编号
    public static String GetUId()
    {
 UUID uid = UUID.randomUUID();
 String id = uid.toString();
 id = id.replace("-", "");
 return id;
    }
    //给用户密码进行MD5加密
    public static String MD5Encode(String str)
    {
 StringBuffer code = new StringBuffer();
 MessageDigest md5 = null;
 try {
     md5 = MessageDigest.getInstance("MD5");
 }
 catch(Exception ex) {
     ex.printStackTrace();
 }
 char[] charArr = str.toCharArray();
 byte[] byteArr = new byte[charArr.length];
 for(int i = 0;i < charArr.length; i++) {
     byteArr[i] = (byte)charArr[i];
 }
 byte[] md5Arr = md5.digest(byteArr);
 for(int i = 0;i < md5Arr.length; i++) {
     int value = (int)md5Arr[i] & 0xff;
     if(value < 16)
     {
  code.append("0");
     }
     code.append(Integer.toHexString(value));
 }
 return code.toString();
    }
}

注册功能实现:

静态页面:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>


 
  注册
 
 
     
 


代码:

package Action;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import Entity.User;
import Service.UserService;

@WebServlet("/RegisterServlet")
public class RegisterServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
  
  public RegisterServlet() {
    super();
    // TODO Auto-generated constructor stub
  }
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    }
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 String name = request.getParameter("name");
 String password = request.getParameter("password");
 String phone = request.getParameter("phone");
 String email = request.getParameter("email");
 String address = request.getParameter("address");
 User user = new User("",name,password,phone,email,address);
 UserService userService = new UserService();
 try {
     userService.AddUser(user);
     request.setAttribute("message", "注册成功");
     request.getRequestDispatcher("/message.jsp").forward(request, response);
 }
 catch(Exception ex) {
     ex.printStackTrace();
 }
    }
}

登陆功能实现:

静态页面:

index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>


 
  前台首页
 
 
     
 


head.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>


 
  首页头
 
 
  网上书店
  
首页 查看购物车 查看订单 欢迎您:${user.getUserName() } 注销

代码:

package Action;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import Entity.User;
import Service.UserService;

@WebServlet(description = "处理登陆事项", urlPatterns = { "/LoginServlet" })
public class LoginServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
  
  public LoginServlet() {
    super();
    // TODO Auto-generated constructor stub
  }
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    }
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 String username = request.getParameter("username");
 String password = request.getParameter("password");
 UserService service = new UserService();
 User user = service.ValidateLogin(username, password);
 if(user == null){
     request.setAttribute("message", "登陆失败");
     request.getRequestDispatcher("/message.jsp").forward(request, response);
     return;
 }
 request.getSession().setAttribute("user", user);
 request.getRequestDispatcher("/client/head.jsp").forward(request, response);
    }
}

最终实现的效果:

主界面

 注册界面:

登陆成功界面

 

更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/137289.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号