Javaweb第一个项目——实现简单的登陆功能

第一步:打开idea-->文件-->新建

 

第二步:

在Demo文件夹 点击右键-->添加框架支持-->找到Web应用程序 勾选 

 第三步:配置Tomcat

 

 

 

 第四步:新建一个lib(建在web-INF文件夹下)文件夹  用于存放jar包

 可以先将mysql-connector导入 用于后续连接数据库

导入之后右键lib文件夹   找到“添加为库”  才能后续使用

 

在web文件 右键--》新建--》jsp文件

 

get_info.jsp


<%@ page contentType="text/html; charset=gb2312" %>
<%@ page language="java" %>
<%@ page import="com.mysql.jdbc.Driver" %>
<%@ page import="java.sql.*" %>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>这是连接MySQL数据库的测试</title>
</head>
<body>
<%
    //加载驱动程序
    String driverName="com.mysql.jdbc.Driver";
    //数据库信息
    String userName="root";
    //密码
    String userPasswd="";
    //数据库名
    String dbName="Student";
    //表名
    String tableName="stu_info";
    //将数据库信息字符串连接成为一个完整的url(也可以直接写成url,分开写是明了可维护性强)

    String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;
    Class.forName("com.mysql.jdbc.Driver");
    Connection conn=DriverManager.getConnection(url);
    Statement stmt = conn.createStatement();
    String sql="SELECT * FROM "+tableName;
    ResultSet rs = stmt.executeQuery(sql);
%>


<table>
    <tr>
        <td>学号</td>
        <td>姓名</td>
        <td>电话号码</td>
    </tr>


    <%
        while(rs.next()) {
            String no = rs.getString(1);
            String name=rs.getString(2);
            String phone=rs.getString(3);


    %>
    <tr>
        <td> <%=no%></td>
        <td> <%=name%></td>
        <td> <%=phone%></td>
    </tr>

    <%
        }
    %>
</table>

<%
    out.print("<br>");
    out.print("ok, Database Query Successd!");
    rs.close();
    stmt.close();
    conn.close();
%>
</body>
</html>

 check.jsp

<%@ page pageEncoding="UTF-8" %>    <%-- 设置显示编码 --%>
<%@ page import="dbc.DatabaseConnection"%> <%-- 负责数据库的连接 --%>
<%@ page import="java.sql.*" %> <%-- 负责JDBC的开发操作 --%>
<html>
<head>
    <title>用户登录案例</title>
</head>
<body>
<%  // 本次直接通过JDBC编写数据库的认证操作
    String name = null; // 保存最终用户的姓名
    String mid = request.getParameter("name"); // 接收mid的请求参数
    String password = request.getParameter("password"); // 接收password请求参数
    String sql = "SELECT name FROM user WHERE name=? AND password=?";
    PreparedStatement pstmt = DatabaseConnection.getConnection().prepareStatement(sql);
    pstmt.setString(1, mid);
    pstmt.setString(2, password);
    ResultSet rs = pstmt.executeQuery(); // 执行数据查询
    if (rs.next()) {    // 有数据返回
        name = rs.getString(1); // 保存姓名
    }
    DatabaseConnection.close(); // 关闭数据库连接
%>
<%
    if (name == null) { // 登录失败,没有查询到name字段
%>      <%-- 如果现在存在有这个参数就表示出错了 --%>
        <jsp:forward page="failer.jsp"/>
<%
    } else {
%>      <%-- 登录成功之后将姓名传递到欢迎页上进行显示 --%>
        <jsp:forward page="success.jsp">
            <jsp:param name="name" value="<%=name%>"/>
        </jsp:forward>
<%
    }
%>
</body>
</html>

 login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>登录</title>
</head>
<body>
<form action="check.jsp" method="post">

用户名:<input type="text" name = "name"><br>
密码:<input type="password" name = "password"><br>

<input type="submit" value="登录">

</form>
</body>
</html>

success.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1>欢迎<%= request.getParameter("name")%>登录</h1>
</body>
</html>

 failer.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1>登录失败了,<a href="login.jsp">点击重新返回首页</a></h1>
</body>
</html>

项目写完之后,将使用的相关jar包导入即可  运行实现登陆界面 

  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要实现简易的注册登录功能,需要以下步骤: 1. 创建一个数据库,包含用户表,其中包括用户名和密码字段。 2. 在Java中创建一个Web应用程序,并使用JDBC连接到MySQL数据库。 3. 创建注册页面和登录页面,分别包括用户名和密码输入框以及提交按钮。 4. 在注册页面中,将用户输入的用户名和密码插入到MySQL数据库中。可以使用PreparedStatement对象来执行插入操作。 5. 在登录页面中,将用户输入的用户名和密码与数据库中的记录进行比较。如果用户名和密码匹配,则将用户重定向到主页或其他受保护的页面。 下面是一个简单的示例代码来实现这个功能: 1. 创建一个名为“users”的表,其中包含“username”和“password”字段。 ``` CREATE TABLE users ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, username VARCHAR(30) NOT NULL, password VARCHAR(30) NOT NULL ); ``` 2. 在Java中连接到MySQL数据库,可以使用以下代码: ``` String url = "jdbc:mysql://localhost:3306/mydatabase"; String user = "root"; String password = "mypassword"; Connection conn = DriverManager.getConnection(url, user, password); ``` 3. 创建注册页面和登录页面,可以使用HTML和JSP来实现。 4. 在注册页面中,将用户输入的用户名和密码插入到MySQL数据库中。可以使用以下代码: ``` String username = request.getParameter("username"); String password = request.getParameter("password"); PreparedStatement stmt = conn.prepareStatement("INSERT INTO users (username, password) VALUES (?, ?)"); stmt.setString(1, username); stmt.setString(2, password); stmt.executeUpdate(); ``` 5. 在登录页面中,将用户输入的用户名和密码与数据库中的记录进行比较。如果用户名和密码匹配,则将用户重定向到主页或其他受保护的页面。可以使用以下代码: ``` String username = request.getParameter("username"); String password = request.getParameter("password"); PreparedStatement stmt = conn.prepareStatement("SELECT * FROM users WHERE username=? AND password=?"); stmt.setString(1, username); stmt.setString(2, password); ResultSet rs = stmt.executeQuery(); if (rs.next()) { // 登录成功,将用户重定向到主页或其他受保护的页面 response.sendRedirect("home.jsp"); } else { // 登录失败,显示错误消息 request.setAttribute("errorMessage", "Incorrect username or password."); RequestDispatcher dispatcher = request.getRequestDispatcher("login.jsp"); dispatcher.forward(request, response); } ``` ### 回答2: 实现简易的注册登录功能,我们可以使用JavaWeb和MySQL来完成。 首先,我们需要创建一个数据库,并创建两张表:用户表和登录表。用户表用于存储用户的基本信息,包括用户名、密码、电子邮箱等字段;登录表用于存储用户的登录记录,包括用户名、登录时间等字段。 接下来,我们可以使用JavaWeb实现注册和登录功能。对于注册功能,用户输入用户名、密码、电子邮箱等信息,然后将这些信息插入到用户表中即可。在插入前,需要先判断用户名是否已经存在,如果存在则提示用户重新选择用户名;如果不存在,则将用户信息插入到用户表中。 对于登录功能,用户输入用户名和密码,然后根据输入的用户名在用户表中查找对应的记录。如果用户名不存在,则提示用户重新输入;如果存在该用户名,则判断密码是否匹配,如果匹配则登录成功,否则提示用户密码错误。 在实现过程中,我们可以使用JDBC来连接Java和MySQL数据库,使用SQL语句来操作数据库表。可以使用PreparedStatement来预译SQL语句,以提高执行效率和防止SQL注入攻击。可以使用Cookie来记录用户登录状态,实现自动登录功能。 总之,通过JavaWeb和MySQL的结合,我们可以实现简易的注册登录功能,提供用户注册和登录的基本操作,以满足基本的用户认证需求。 ### 回答3: 要实现简易的注册登录功能,可以使用JavaWeb和MySQL进行开发。 首先,在MySQL数据库中创建一个用户表,表中包含用户名和密码两个字段。可以使用以下SQL语句创建表: ```sql CREATE TABLE user( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL ); ``` 接下来,在JavaWeb中,通过Java代码实现注册和登录功能。可以使用JDBC连接MySQL数据库,实现与数据库的交互。 对于注册功能,用户在注册页面中输入用户名和密码,通过Java代码将用户输入的数据插入到MySQL数据库的用户表中。可以使用以下代码示例: ```java import java.sql.*; public class Register { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/db_name"; // 数据库连接地址 String username = "root"; // 数据库用户名 String password = "password"; // 数据库密码 Connection conn = null; PreparedStatement stmt = null; try { Class.forName("com.mysql.cj.jdbc.Driver"); // 加载MySQL驱动程序 conn = DriverManager.getConnection(url, username, password); // 建立数据库连接 String sql = "INSERT INTO user (username, password) VALUES (?, ?)"; // SQL插入语句 stmt = conn.prepareStatement(sql); // 创建PreparedStatement对象 String newUsername = "newUser"; // 用户输入的用户名 String newPassword = "newPassword"; // 用户输入的密码 stmt.setString(1, newUsername); // 设置用户名参数 stmt.setString(2, newPassword); // 设置密码参数 int rows = stmt.executeUpdate(); // 执行插入操作 if (rows > 0) { System.out.println("注册成功"); } else { System.out.println("注册失败"); } } catch (Exception e) { e.printStackTrace(); } finally { try { if (stmt != null) stmt.close(); if (conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } ``` 对于登录功能,用户在登录页面中输入用户名和密码,通过Java代码查询数据库中是否存在与用户输入匹配的用户记录。可以使用以下代码示例: ```java import java.sql.*; public class Login { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/db_name"; // 数据库连接地址 String username = "root"; // 数据库用户名 String password = "password"; // 数据库密码 Connection conn = null; PreparedStatement stmt = null; ResultSet rs = null; try { Class.forName("com.mysql.cj.jdbc.Driver"); // 加载MySQL驱动程序 conn = DriverManager.getConnection(url, username, password); // 建立数据库连接 String sql = "SELECT * FROM user WHERE username = ? AND password = ?"; // SQL查询语句 stmt = conn.prepareStatement(sql); // 创建PreparedStatement对象 String inputUsername = "inputUser"; // 用户输入的用户名 String inputPassword = "inputPassword"; // 用户输入的密码 stmt.setString(1, inputUsername); // 设置用户名参数 stmt.setString(2, inputPassword); // 设置密码参数 rs = stmt.executeQuery(); // 执行查询操作 if (rs.next()) { System.out.println("登录成功"); } else { System.out.println("登录失败"); } } catch (Exception e) { e.printStackTrace(); } finally { try { if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } ``` 通过以上代码可以实现简易的注册登录功能,用户可以在注册页面中输入用户名和密码进行注册,然后在登录页面中输入对应的用户名和密码来进行登录

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值