项目案例模板之登录注册的实现

项目案例模板之登录注册的实现

案例演示

案例代码

设计表

pom.xml

 <dependencies>   <dependency>     <groupId>junit</groupId>     <artifactId>junit</artifactId>     <version>4.11</version>     <scope>test</scope>   </dependency>   <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>5.0.5</version>   </dependency>   <dependency>     <groupId>javax.servlet</groupId>     <artifactId>javax.servlet-api</artifactId>     <version>3.1.0</version>     <scope>provided</scope>   </dependency>   <dependency>     <groupId>org.junit.jupiter</groupId>     <artifactId>junit-jupiter-api</artifactId>     <version>RELEASE</version>     <scope>compile</scope>   </dependency> </dependencies>

jdbc

JDBCUtils.java
 package jdbc; ? import org.junit.jupiter.api.Test; ? import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; ? public class JDBCUtils {     public static Connection connection;     private static String url="jdbc:mysql://localhost:3306/aaa?useUnicode=true&characterEncoding=utf-8";     private static String username="root";     private static String password="root"; ?     static{         try {             Class.forName("com.mysql.jdbc.Driver");             connection = DriverManager.getConnection(url,username,password); ?         } catch (ClassNotFoundException e) {             e.printStackTrace();         } catch (SQLException e) {             e.printStackTrace();         }     } ?     public static Connection getConnection(){         return connection;     } ?     @Test     public void test(){         Connection connection = JDBCUtils.getConnection();         System.out.println(connection);     } }

entity

User.java
 package entity; ? public class User {     private int id;     private String username;     private String password; ?     public User() {     } ?     public User(int id, String username, String password) {         this.id = id;         this.username = username;         this.password = password;     } ?     @Override     public String toString() {         return "User{" +                 "id=" + id +                 ", username=‘" + username + ‘\‘‘ +                 ", password=‘" + password + ‘\‘‘ +                 ‘}‘;     } ?     public int getId() {         return id;     } ?     public void setId(int 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;     } }

dao

UserDao.java
 package dao; ? import entity.User; import jdbc.JDBCUtils; ? import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; ? public class UserDao {     private Connection connection = JDBCUtils.getConnection();     private PreparedStatement ps; ?     /*     *添加用户     * */     public int add(User user) throws Exception{         String sql = "insert into user(username,password) values(?,?)"; ?             ps=connection.prepareStatement(sql);             ps.setObject(1,user.getUsername());             ps.setObject(2,user.getPassword());             int exe = ps.executeUpdate();             return exe;     }     public int delete(int id) throws SQLException {         String sql = "delete from user where id=?";         ps = connection.prepareStatement(sql); ?         /*          * 删除用户          * */         ps.setObject(1,id);         int exe = ps.executeUpdate();         return exe;     } ?     /*     * 修改用户     * */     public int update(User user) throws SQLException {         String sql = "update user set username=? , password=? where id=?";         ps = connection.prepareStatement(sql);         ps.setObject(1,user.getUsername());         ps.setObject(2,user.getPassword());         ps.setObject(3,user.getId());          return ps.executeUpdate(); ?     } ?     /*     * 查询所有用户     * */     public List<User> findAll() throws SQLException {         String sql = "select * from user";         ps=connection.prepareStatement(sql);         ResultSet rs =ps.executeQuery();         List<User> list = new ArrayList<User>();         while(rs.next()){             //以 Java 编程语言中 int 的形式获取此 ResultSet 对象的当前行中指定列的值。             int id = rs.getInt("id");             String username = rs.getString("username");             String password = rs.getString("password");             User u = new User(id,username,password);             list.add(u); ?         }         return list;     } ? /* * 通过id查询用户 * */     public User findById(int id) throws SQLException {         String sql = "select * from user where id=?";         ps=connection.prepareStatement(sql);         ps.setInt(1,id);         ResultSet rs = ps.executeQuery(); ?         User u = null;         while (rs.next()){             int uid = rs.getInt("id");             String username = rs.getString("username");             String password = rs.getString("password"); ? ?             u = new User(uid,username,password);         } ?         return u;     } ? ?     /*     * 用户登录     * */     public User login(User user) throws SQLException {         String sql = "select * from user where username=? and password=?";         ps = connection.prepareStatement(sql);         ps.setObject(1,user.getUsername());         ps.setObject(2,user.getPassword()); ?         ResultSet rs = ps.executeQuery();         User u = null; ?         while (rs.next()){             int uid = rs.getInt("id");             String username = rs.getString("username");             String password = rs.getString("password");             u = new User(uid,username,password);         } ?         return u;     } }

service

UserService.java
 package service; ? import dao.UserDao; import entity.User; ? import java.sql.SQLException; import java.util.List; ? public class UserService {     private UserDao userDao = new UserDao(); ?     public int add(User user) throws Exception {         return userDao.add(user);     } ?     public int delete(int id) throws SQLException {         return userDao.delete(id);     } ?     public int update(User user) throws SQLException {         return userDao.update(user);     } ?     public List<User> findAll() throws SQLException {         return userDao.findAll(); ?     } ?     public User findByID(int id) throws SQLException {         return userDao.findById(id);     } ?     public User login(User user) throws SQLException {         return userDao.login(user);     } }

servlet

LoginServlet.java
 package servlet; ? import entity.User; import service.UserService; ? 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 java.io.IOException; import java.sql.SQLException; ? @WebServlet("/login") public class LoginServlet extends HttpServlet { ?     @Override     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {         doPost(req, resp);     } ?     @Override     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {         req.setCharacterEncoding("utf-8");         resp.setCharacterEncoding("utf-8"); ?         //接受请求参数         String username = req.getParameter("username");         String password = req.getParameter("password"); ?         User user = new User();         user.setUsername(username);         user.setPassword(password); ?         //查询数据         UserService us = new UserService();         User u = null; ?         try {             u=us.login(user);             //跳转             if (u==null){                 req.setAttribute("mess","账号或密码错误");                 req.getRequestDispatcher("login.jsp").forward(req,resp);             }else {                 req.getSession().setAttribute("user",u);                 resp.sendRedirect("main.jsp");             }         } catch (SQLException e) {             e.printStackTrace();         } ? ? ? ?     } }
RegServlet.java
 package servlet; ? import dao.UserDao; import entity.User; ? 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 java.io.IOException; @WebServlet("/reg") public class RegServlet extends HttpServlet {     @Override     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {         doPost(req, resp);     } ?     @Override     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {         req.setCharacterEncoding("utf-8");         resp.setCharacterEncoding("utf-8"); ?         //接受请求参数         String username = req.getParameter("username");         String password = req.getParameter("password"); ?         User u = new User();         u.setUsername(username);         u.setPassword(password); ?         UserDao dao = new UserDao();         int i = 0; ?         try {             i=dao.add(u);         } catch (Exception e) {             e.printStackTrace();         } ? ?         //跳转         if(i>0){             req.setAttribute("mess","注册成功");             resp.sendRedirect("login.jsp");         }else{             req.setAttribute("mess","注册失败");             req.getRequestDispatcher("regist.jsp").forward(req,resp);         } ? ?     } }

jsp

web.xml
 <!DOCTYPE web-app PUBLIC  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"  "http://java.sun.com/dtd/web-app_2_3.dtd" > ? <web-app>   <display-name>Archetype Created Web Application</display-name> ?   <welcome-file-list>     <welcome-file>regist.jsp</welcome-file>   </welcome-file-list> </web-app>
regist.jsp
 <%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %> <html> <head>     <title>注册</title> </head> <body> <h1>用户注册</h1> <hr> <form action="reg" method="post">     <p>         用户名:<input type="text" name="username">     </p>     <p>         密码:<input type="text" name="password">     </p>     <p>         <input type="submit" value="注册">     </p> ? </form> ? ${mess} ? </body> </html>
login.jsp
 <%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %> <html> <head>     <title>登录</title> </head> <body> <h1>用户登录</h1> <hr> <form action="login" method="post">     <p>         用户名:<input type="text" name="username">     </p>     <p>         密码:<input type="text" name="password">     </p>     <p>         <input type="submit" value="登录">     </p> ? </form> ? ${mess} ? </body> </html>
main.jsp
 <%--   Created by IntelliJ IDEA.   User: Lenovo   Date: 2019/4/25   Time: 9:11   To change this template use File | Settings | File Templates. --%> ? <%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %> <html> <head>     <title>主页</title> </head> <body> <h1>欢迎使用本系统</h1> 当前用户:${sessionScope.user.username} </body> </html>

*****************************************************************************************************

我的博客园地址:https://www.cnblogs.com/zyx110/

【原创声明】此篇为作者原创,未经本人同意不得转载,经本人同意转载请说明出处。

我不能保证我所说的都是对的,但我能保证每一篇都是用心去写的,我始终认同“分享的越多,你的价值增值越大”,欢迎大家关注我的技术分享“Java匹马行天下”和学习心得分享“匹马行天下”,在分享中进步,越努力越幸运,人生赢在转折处,改变从现在开始!

支持我的朋友们记得点波推荐哦,您的肯定就是我前进的动力。

原文地址:https://www.cnblogs.com/zyx110/p/11504310.html

时间: 2024-07-30 10:40:02

项目案例模板之登录注册的实现的相关文章

项目案例模板之jdbc两种连接方式

项目案例模板之jdbc两种连接方式 第一种连接方式 JDBCUtils.java package jdbc; ? import org.junit.jupiter.api.Test; ? import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; ? public class JDBCUtils { public static Connection connection; pri

路飞项目搭建3 TODO注释, 自定义模态框, vue-cookies操作浏览器cookies, 腾讯云短信开发, 代码(登录注册页面,多方式登录,手机是否存在验证接口,腾讯短信开发)

TODO注释 """ 作用:todo是一种特殊的注释,书写就是 # TODO 注释内容,可以在TODO控制台面板快速定位注释位置 """ 自定义模态框 componses/Login.vue <template> <div class="login"> <span @click="close_login">x</span> </div> </

Java基础知识强化之集合框架笔记37:用户登录注册案例

1. 登录注册案例分析图解: 2. 用户登录案例 详细分析 和 分包实现: (1)用户登录案例详细分析(面向对象思想) 按照如下的操作,可以让我们更符合面向对象思想: • 有哪些类呢?                 用户类                 测试类       • 每个类有哪些东西呢?                 用户类: 成员变量:用户名,密码                            构造方法:无参构造                            成

登录注册案例二

这个项目的登录注册表单最开始想当然的用了blur+focus,功能实现是实现了,然而那个用户体验,啊,有这种东西? 最近又开始做表单,谷歌了一下怎样优雅写表单然后发现了AngularJs...慕课上啃了一下验证视频然后开工用ng.刚好这个项目客户不满意验证表单这里,上面让我改,改就改咯,于是就用上了ng.体验感觉上是上去了,IE8那个兼容不想管了orz. 首先引入ng, 然后在body上加上这句 ng-app="validationApp" ng-controller="ma

一、javaSE (二十二)登录注册IO版本案例、数据操作流、内存操作流、打印流、标准输入输出流、随机访问流、合并流、序列化流、Properties、NIO

1:登录注册Io版本案例(掌握) 要求,对着写一遍 cn.itcast.pojo User cn.itcast.dao UserDao cn.itcast.dao.impl UserDaoImp1(实现我不管) cn.itcast.game GuessNumber cn.itcast.test UserTest 2:数据操作流(操作基本类型数据的流)(理解) (1)可以操作基本类型的数据 (2)流对象名称 DataInputStream DataOutputStream 3:内存操作流(理解)

crm 系统项目(一) 登录,注册,校验

crm 系统项目(一) 登录,注册,校验 首先创建一个Django项目,关于配置信息不多说,前面有~ models.py文件下创建需要的表格信息,之后导入数据库 from django.db import models from multiselectfield import MultiSelectField course_choices = (('Linux', 'Linux中高级'), ('PythonFullStack', 'Python高级全栈开发'),) class_type_choi

总结:接入第三方平台登录注册项目

一.需求: facebook.naver.kakao在登录注册浮层的第三方登录需求,要求用户在第三方登录流程中不能中断浮层,即:用户在online登录注册浮层中发起第三方登录时,浮层不能被关闭或者刷新,只能通过将第三方登录的信息会传到过来后,进入下一个流程. 二.第三方登录的流程: 用户在我们的登录注册浮层中发起第三方登录-->打开第三方登录页面-->第三方登录成功后,将信息回传到浮层,然后走接下来的流程. 三.第三方登录碰到的问题及解决: [一]第三方平台给开发者造成的局限性: 1)为了安全

IO版的用户登录注册案例(Java)

2017-09-16 这是我在博客园的第一篇学习笔记. Java小白,努力进阶中... 今天学的是用户登录注册功能.4个包:itcast.cn.user包 User.java 用户类,描述用户基本信息,包括成员变量,无参构造函数,带参构造(可有可无).get和set方法 1 package itcast.cn.day22; 2 /* 3 * 用户基本描述包类 4 */ 5 6 public class User { 7 private int userName; 8 private int pa

界面小项目之小米登录注册

<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>登录注册</title> <style> body, ul { margin: 0; padding: 0; list-style: none; } .login { width: 300px; height: 350px; border: 1px solid #aaaaaa; margi