Jsp+Servlet+JDBC 登录案例

@2024/12/04 08:44

一、项目结构图

项目结构.png

二、User 类

package Bean; public class User { private int id; private String username; private String password; private String sex; private String email; private String birthday; public User() { } public User(int id, String username, String password, String sex, String email, String birthday) { this.id = id; this.username = username; this.password = password; this.sex = sex; this.email = email; this.birthday = birthday; } 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; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getBirthday() { return birthday; } public void setBirthday(String birthday) { this.birthday = birthday; } }

三、UserDao 类

package Dao; import Util.JDBCUtil; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class UserDao { ResultSet rs; PreparedStatement pstm; //登录 public boolean Login(String name, String pwd) { //调用 jdbc 连接 Connection connection = JDBCUtil.getconnection(); String sql = "select * from tb_user where username= ? and password = ?"; try { //执行sql语句 pstm=connection.prepareStatement(sql); //赋值 pstm.setString(1, name); pstm.setString(2, pwd); //执行 rs = pstm.executeQuery(); if(rs.next()){ return true; } } catch (SQLException e) { e.printStackTrace(); } return false; } }

四、UserService

package Service; import Dao.UserDao; public class UserService { //实例化 UserDao private UserDao dao = new UserDao(); //登录方法,UserService 调用 UserDao 中的 登录方法 public boolean Login(String name, String pwd) { return dao.Login(name, pwd); } }

五、UserServlet

1、UserServlet 类解析

servlet.png

2、UserServlet 类

package Servlet; import Service.UserService; import jakarta.servlet.http.*; import java.io.IOException; public class UserServlet extends HttpServlet { //实例化 UserService private UserService userService = new UserService(); public UserServlet(){ super(); } public void destroy(){ super.destroy(); } public void doGet(HttpServletRequest request,HttpServletResponse response){ response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); } public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException { response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); //页面登录 String name = request.getParameter("username"); String password = request.getParameter("pwd"); if(userService.Login(name,password)){ response.sendRedirect("/UserManager_war_exploded/success.jsp"); }else { response.sendRedirect("/UserManager_war_exploded/fail.jsp"); } } public void init() { } }

六、Util

package Util; import java.sql.*; public class JDBCUtil { //加载驱动 static{ try { Class.forName("com.mysql.cj.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } public static Connection getconnection() { String url="jdbc:mysql://localhost:3306/jdbc_demo?userUnicode=true&characterEncoding=utf8"; String user="root"; String password="abc123"; Connection conn=null; try { conn= DriverManager.getConnection(url,user,password); } catch (SQLException e) { e.printStackTrace(); } return conn; } //释放资源 public static void release(ResultSet rs,PreparedStatement pstm,Connection conn){ try{ if(rs!=null){ rs.close(); } if(pstm!=null){ pstm.close(); } if(conn!=null){ conn.close(); } }catch (Exception e){ e.printStackTrace(); } } }

七、web.xml 文件

1、web.xml 配置图解析

image.png

2、web 配置文件

<servlet> <servlet-name>UserServlet</servlet-name> <servlet-class>Servlet.UserServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>UserServlet</servlet-name> <url-pattern>/servlet/UserServlet</url-pattern> </servlet-mapping>

八、页面

1、index.jsp 页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title><span data-type="inline-math" data-subtype="math" data-content="Title" contenteditable="false" class="render-node"></span></title> </head> <body> <form name="form" id="form" method="post" action="/UserManager_war_exploded/servlet/UserServlet"> <p>用户名:<input type="text" name="username"></p> <p>密&nbsp;码:<input type="password" name="pwd"></p> <p> <input type="submit" value="提交"> <input type="reset" value="重置"> </p> </form> </body> </html>

2、success.jsp 页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <h1>登录成功</h1> </body> </html>

3、fail.jsp 页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <h>登录失败</h> </body> </html>
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3194 引用 • 8214 回帖
  • Servlet
    22 引用 • 29 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...