环境: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. 八 Connect API 连接器

    Connect API: 实现一个连接器(connector),不断地从一些数据源系统拉取数据到kafka,或从kafka推送到宿系统(sink system). 大多数Connect使用者不需要直接 ...

  2. HTTP 与TCP/IP 、Socket区别(一)

    网络由下往上分为: 物理层-- 数据链路层-- 网络层-- IP协议 传输层-- TCP协议 会话层-- 表示层和应用层-- HTTP协议 1.TCP/IP连接 手机能够使用联网功能是因为手机底层实现 ...

  3. Windows nvidia显卡的设置方法

    1.直接右下角打开N卡控制面板托盘按钮,一般来说都是自动隐藏在小箭头里的,点开就可以显示隐藏的图标了.[插入图片“右下角小箭头”]2.开始菜单 - 控制面板 ,可以看到“显卡控制面板”这个选项,进去就 ...

  4. MYSQL中str_to_date函数的用法

    str_to_date(str,format) 函数的用法 str_to_date函数将str转化为日期型的数据,format表示转化后的格式. format参数格式: 常用: %Y  年 %m  月 ...

  5. Hibernate 实体对象三种状态 :自由,持久,游离

    实体对象的状态及转化: 有了上面关于Hibernate缓存的知识,我们再来介绍实体对象的状态就非常容易理解了. A:自由态对象: 当我们通过Java的new关键字来生成一个实体对象时,这时这个实体对象 ...

  6. cuteFTP连接不上VM虚拟机中RedHat&amp;…

    摸索了一下午,终于解决了问题:主要原因是因为redhat系统配置文件默认root用户无法使用ftp,只需作如下修改就可以使用了.            1.找到/etc/vsftpd/目录修改下面的连 ...

  7. C#中查询字符串中是否包含指定字符/串,使用IndexOf还是Contains?

    C#中查询字符串中是否包含指定字符/串,使用IndexOf还是Contains?这是一个很常见的命题,以前也没有注意,今天QQ群里有人提起,于是就做了下试验,代码如下: using System; u ...

  8. c++ 流状态

    这里是对cin中函数的作用的补充.

  9. 【bzoj2947】[Poi2000]促销

    2947: [Poi2000]促销 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 181  Solved: 120[Submit][Status][D ...

  10. 用C/C++扩展你的PHP

    PHP取得成功的一个主要原因之一是她拥有大量的可用扩展.web开发者无论有何种需求,这种需求最有可能在PHP发行包里找到.PHP发行包包括支持各种数据库,图形文件格式,压缩,XML技术扩展在内的许多扩 ...