登入界面:从数据库中获取信息验证登入(与注册界面相联系)


 /// <summary>
    ///与登入界面有关的集合在这里,ExecuteQuery方法在https://blog.csdn.net/yunduanzhijie/article/details/98488594
    /// </summary>
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        private void Button1_Click_1(object sender, EventArgs e)
        {
            DataTable d1 = new DataTable();
            String name = this.textBox2.Text; // 获取里面的值
            String password = this.textBox1.Text;
            Form2 f2 = new Form2();
            //查询并判断用户名是否存在
            string sql_select = "SELECT password FROM [study-userset] where username='" + name + "'";
            d1=f2.ExecuteQuery(sql_select);
            if (d1.Rows.Count>0)
            {
                string pw = d1.Rows[0]["password"].ToString();
                if (f2.ComputeMD5Hash(password).Equals(pw)) // 判断账号密码是否相同
                {
                    MessageBox.Show("登录成功!");
                }
                else
                {
                    MessageBox.Show("密码错误!");
               
                }
            }
            else
            {
                MessageBox.Show("未取得用户名!");
            }
        }

        private void TextBox1_Enter(object sender, EventArgs e)
        {
            //改变活动时的样式
            textBox1.ForeColor = Color.Black;
            textBox1.BackColor = Color.Gainsboro;
        }

        private void TextBox1_Leave(object sender, EventArgs e)
        {
            textBox1.ForeColor = Color.Gainsboro;
            textBox1.BackColor = Color.White;
        }

        private void TextBox2_Enter(object sender, EventArgs e)
        {
            textBox2.ForeColor = Color.Black;
            textBox2.BackColor = Color.Gainsboro;
        }

        private void TextBox2_Leave(object sender, EventArgs e)
        {
            textBox2.ForeColor = Color.Gainsboro;
            textBox2.BackColor = Color.White;
        }

        private void Button1_Click_2(object sender, EventArgs e)
        {
            //关闭、打开页面
            Form1 f = new Form1();
            Form2 f2 = new Form2();
            f2.Show();
            f.Close();
        }
    }
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是创建 JSP 登录界面并连接数据库的步骤: 1. 创建一个 web 项目并导入 JDBC 驱动包 2. 在 WEB-INF 目录下创建一个 lib 文件夹,将 JDBC 驱动包放入其 3. 在 WEB-INF 目录下创建一个 web.xml 文件,并配置 Servlet 和 JSP 的映射关系 4. 创建一个名为 login.jsp 的 JSP 页面,添加登录表单和提交按钮 5. 创建一个名为 LoginServlet 的 Servlet 类,处理登录请求并连接数据库 6. 在 LoginServlet 类,获取用户输入的用户名和密码,连接数据库并查询用户信息 7. 如果用户名和密码匹配,则将用户信息存入 session ,跳转到主页 8. 如果用户名和密码不匹配,则返回登录界面并显示错误信息 下面是一个简单的示例代码: login.jsp 文件: ```html <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Login Page</title> </head> <body> <h1>Login Page</h1> <form action="login" method="post"> <label>Username:</label> <input type="text" name="username"><br> <label>Password:</label> <input type="password" name="password"><br> <input type="submit" value="Login"> </form> </body> </html> ``` LoginServlet 类: ```java import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; 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 javax.servlet.http.HttpSession; @WebServlet("/login") public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); String password = request.getParameter("password"); try { Class.forName("com.mysql.jdbc.Driver"); Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "password"); PreparedStatement ps = connection.prepareStatement("SELECT * FROM users WHERE username = ? AND password = ?"); ps.setString(1, username); ps.setString(2, password); ResultSet rs = ps.executeQuery(); if (rs.next()) { HttpSession session = request.getSession(); session.setAttribute("username", username); response.sendRedirect("index.jsp"); } else { request.setAttribute("message", "Invalid username or password"); request.getRequestDispatcher("login.jsp").forward(request, response); } } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } } } ``` 在这个示例,我们使用了 MySQL 数据库,并假设有一个名为 users 的表,其包含 username 和 password 字段。当用户提交登录表单时,LoginServlet 类会获取用户名和密码,连接数据库并查询用户信息。如果用户名和密码匹配,则将用户信息存入 session ,并跳转到主页(index.jsp);如果用户名和密码不匹配,则返回登录界面并显示错误信息。 请注意,这个示例只是一个简单的示范,实际开发需要考虑更多的安全性和性能问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值