环境:IDEA Maven

效果截图:

项目结构:

类说明:

ConnectionUtil:负责数据库连接和释放

UserDao:数据库增删改查操作

User:用户Bean,只用注册和登录的话可以不要

UserServlet:Servlet,控制页面跳转

前端就不放了大同小异

 import cn.flyuz.pan.entity.User;
import cn.flyuz.pan.util.Base;
import cn.flyuz.pan.util.ConnectionUtil; 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 getConn() {
ConnectionUtil connectionUtil = new ConnectionUtil();
return connectionUtil.getConn();
}
public boolean login(String user, String pw) {
Connection conn = getConn();
String sql = "select * from login where user=? and pw=?"; try {
PreparedStatement ps =conn.prepareStatement(sql);
ps.setString(1,user);
ps.setString(2,pw);
ResultSet rs = ps.executeQuery();
if (rs.next()){
ps.close();
rs.close();
return true;
}
} catch (SQLException e) {
e.printStackTrace();
}
return false;
} public String reg(String user, String pw) {
Connection conn = getConn();
String sql1= "select * from login where user = ?";
String sql = "insert into login(user,pw) values (?,?)"; try {
PreparedStatement pss = conn.prepareStatement(sql1);
pss.setString(1,user);
ResultSet rs = pss.executeQuery();
if (!rs.next()){
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1,user);
ps.setString(2,pw);
ps.executeUpdate();
return Base.registerSuccess;
}else{
return Base.registerFalse;
}
} catch (SQLException e) {
e.printStackTrace();
}
return Base.registerFalse;
} public void del(String user) {
Connection conn = getConn(); //获取连接
String sql = "delete from login where user = ?";//sql语句
try {
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1,user);
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
// public List<User> getAll() {
// Connection conn = getConn();
// String sql = "select * from login";
// try {
// PreparedStatement ps = conn.prepareStatement(sql);
// ResultSet rs = ps.executeQuery();
// List<User> userList = new ArrayList<>();
// while(rs.next()) {
// User user1 = new User();
// user1.setUser(rs.getString("user"));
// user1.setPw(rs.getString("pw"));
// userList.add(user1);
// }
// return userList;
// } catch (SQLException e) {
// e.printStackTrace();
// }
// return null;
// }
// public void update(String user,String pw){
// Connection conn = getConn(); //获取连接
// String sql = "update login set user = ?,pw = ? where id = ?"; //sql语句
// try {
// PreparedStatement ps = conn.prepareStatement(sql);
// //设置参数
// ps.setString(1,user);
// ps.setString(2,pw);
// ps.executeUpdate();
//
// } catch (SQLException e) {
// e.printStackTrace();
// }
// }
}

UserDao

 import cn.flyuz.pan.dao.UserDao;
import cn.flyuz.pan.util.Base; 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(name = "UserServlet", urlPatterns = "/loginServlet")
public class UserServlet extends HttpServlet {
private UserDao userDao = new UserDao(); protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
String type = request.getParameter("type"); switch (type) {
case "login":
login(request, response);
break;
case "reg":
reg(request, response);
break;
// case "del":
// del(request, response);
// break;
// case "getAll":
// getAll(request, response);
// break;
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
} private void login(HttpServletRequest request, HttpServletResponse response) {
String user = request.getParameter("user");
String pw = request.getParameter("pw"); boolean user_login = userDao.login(user, pw);
try {
if (user_login) {
request.getRequestDispatcher("index/index.jsp").forward(request, response);
} else {
String msg = "登陆失败";
request.getSession().setAttribute("msg", msg);
request.getRequestDispatcher("index/login.jsp").forward(request, response);
}
} catch (ServletException | IOException e) {
e.printStackTrace();
}
} private void reg(HttpServletRequest request, HttpServletResponse response) {
String user = request.getParameter("user");
String pw = request.getParameter("pw"); String rs = userDao.reg(user, pw);
if (rs.equals(Base.registerSuccess)) {
try {
request.getRequestDispatcher("index/login.jsp").forward(request, response);
} catch (ServletException | IOException e) {
e.printStackTrace();
}
} else if (rs.equals(Base.registerFalse) || rs.equals(Base.registerRepeated)) {
try {
String msg = "注册失败";
request.getSession().setAttribute("msg", msg);
request.getRequestDispatcher("index/register.jsp").forward(request, response);
} catch (ServletException | IOException e) {
e.printStackTrace();
}
}
}
// private void del(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// String user = request.getParameter("user");
// try {
// userDao.del(user);
// request.getSession().setAttribute("msg", "删除成功!");
// request.getRequestDispatcher("index/index.jsp").forward(request, response);
// } catch (Exception e) {
// e.printStackTrace();
// request.getSession().setAttribute("msg", "删除失败!");
// request.getRequestDispatcher("index/index.jsp").forward(request, response);
// }
// }
// private void getAll(HttpServletRequest request, HttpServletResponse response) {
// request.getSession().setAttribute("userList", userDao.getAll());
// try {
// request.getRequestDispatcher("index/index.jsp").forward(request, response);
// } catch (ServletException | IOException e) {
// e.printStackTrace();
// }
// }
}

UserServlet

 import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Connection; public class ConnectionUtil {
private String dbDriver = "com.mysql.cj.jdbc.Driver";
private String dbUrl="jdbc:mysql://localhost:3306/login?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC ";
private String dbUser="root";
private String dbPw="123456";
private static Connection conn = null; public Connection getConn() {
try{
Class.forName(dbDriver);
conn = DriverManager.getConnection(dbUrl,dbUser,dbPw);
}catch(ClassNotFoundException|SQLException e){
e.printStackTrace();
}
return conn;
} public static void conClose(){
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}

ConnectionUtil

 import cn.flyuz.pan.util.ConnectionUtil;

 import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener; @WebListener
public class DBCloseListener implements ServletContextListener{
@Override
public void contextDestroyed(ServletContextEvent arg0) {
ConnectionUtil.conClose();
} @Override
public void contextInitialized(ServletContextEvent arg0) {
}
}

DBCloseListener

 <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>groupId</groupId>
<artifactId>flyuzP</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency> <dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency> <dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.12</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>utf8</encoding>
</configuration>
</plugin>
</plugins>
</build> </project>

Maven

servlet-mysql实现简单用户登录注册的更多相关文章

  1. Java Spring+Mysql+Mybatis 实现用户登录注册功能

    前言: 最近在学习Java的编程,前辈让我写一个包含数据库和前端的用户登录功能,通过看博客等我先是写了一个最基础的servlet+jsp,再到后来开始用maven进行编程,最终的完成版是一个 Spri ...

  2. DBCP(MySql)+Servlet+BootStrap+Ajax实现用户登录与简单用户管理系统

    目  录   简介 本次项目通过Maven编写 本文最后会附上代码 界面截图 登录界面 注册界面 登录成功进入主页 增加用户操作 删除用户操作 修改用户操作 主要代码 Dao层代码 DBCP代码 Se ...

  3. jsp+servlet+mysql 实现简单的银行登录转账功能

    jsp+servlet+mysql 实现简单的银行登录转账功能 [前期的准备] html(登录界面),servlet(处理业务逻辑),jsp(主要实现界面),mysql(实现与数据库的简单的交互)先从 ...

  4. javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  5. JavaWeb学习 (二十一)————基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  6. 基于Servlet+JSP+JavaBean开发模式的用户登录注册

    http://www.cnblogs.com/xdp-gacl/p/3902537.html 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...

  7. javaweb(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  8. JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  9. MYSQL存储过程实现用户登录

    MYSQL存储过程实现用户登录 CREATE DEFINER=`root`@`%` PROCEDURE `uc_session_login`( ), ) ) LANGUAGE SQL NOT DETE ...

随机推荐

  1. unicode gbk 转换函数

    typedef unsigned short WCHAR; //字库信息结构体定义 //用来保存字库基本信息,地址,大小等 __packed typedef struct { u8 fontok; / ...

  2. python' s fifth day for me dict

    字典 dict : key--vlaue 储存大量的数据,而且是关系型数据,查询速度快(二分查询) 数据类型分类: 可变数据类型(不可哈希):list(列表) , dict(字典), set(集合) ...

  3. Python Twisted系列教程5:由Twisted支持的诗歌客户端

    作者:dave@http://krondo.com/twistier-poetry/  译者:杨晓伟(采用意译) 你可以从这里从头开始阅读这个系列 抽象地构建客户端 在第四部分中,我们构建了第一个使用 ...

  4. Sublime Text 套件介紹:Pretty JSON

    JSON,一個輕量級的資料交換語言,目前許多網站AJAX request的回應結果都是JSON格式   以下是一個標準的JSON格式   1 2 3 4 5 6 7 8 9 10 11 12 13 1 ...

  5. 转载--解决ora-00119和ora-00132这个问题

    前提:服务全部打开,监听也配置好了! win7 64位    Oracle 11g 简单的sql命令: 先登录到sqlplus: sqlplus /nolog; 登录数据库: conn system/ ...

  6. 如何查询centos、Debian服务器、查看系统内核版本,系统版本,32位还是64位

    查看centos内核的版本: 1)[root@localhost ~]# cat /proc/version Linux version 2.6.18-194.el5 (mockbuild@build ...

  7. c++ 门面模式(Facade)

    门面模式是比较常用的一种设计模式,我们可能在无意中就会使用,门面模式就是用一个门面类来处理子系统的复杂关系,门面类简单的Api接口供客户端调用.用一个简单的演播室来表示. #include <i ...

  8. C#连接Mysql数据库 MysqlHelper.cs文件

    mysql.data.dll下载_c#连接mysql必要插件mysql.data.dll是C#操作MYSQL的驱动文件,是c#连接mysql必要插件,使c#语言更简洁的操作mysql数据库.当你的电脑 ...

  9. Docker学习笔记_Dockerfile基本知识

    Dockerfile由一行行命令语句组成,并支持以#开头的注释行. 1.编写一个Dockerfile文件 创建一个空的Docker工作目录,进入该目录,使用sudo vim Dockerfile指令新 ...

  10. SpringMVC第二天

    SpringMVC第二天   框架课程 1. 课程计划 1.高级参数绑定 a) 数组类型的参数绑定 b) List类型的绑定 2.@RequestMapping注解的使用 3.Controller方法 ...