鹅城百姓 发表于 2023-5-18 14:16:17

JSP_5.16_课堂笔记

完整的可以与数据库连接的登录界面的代码
login.jsp

<%@ page language="java" contentType="text/html; UTF-8"
    pageEncoding="UTF-8"%>
   
<!DOCTYPE html>
    <html>
      <head>
            <meta charset="UTF-8">
            <title>登录页面</title>
            
            
      </head>
    <body>
      
      
            
            
                  欢迎登录优逸客实训平台
                  用户名
                  <input id=username type='text' placeholder="请输入用户名"></input>
                  密码
                  <input id=password type="password" placeholder="请输入密码"></input>
                  <button id=submit>登录</button>
            
      
      
    </body>
</html>jdbclogin.jsp

register.jsp

<%@ page language="java" contentType="text/html; UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
        <html>
                <head>
                        <meta charset="UTF-8">
                        <title>注册页面</title>
                       
                       
                </head>
        <body>
               
               
                       
                                        欢迎注册优逸客实训平台
                                        用户名
                                        <input type='text' placeholder="请输入用户名" id="username"></input>
                                        密码
                                        <input type="password" placeholder="请输入密码" id="password1"></input>
                                        再次输入密码
                                        <input type="password" placeholder="请重新输入密码" id="password2"></input>
                                        <button id=submit onclick="register()">注册</button>
                       
               
       
        </body>
</html>jdbcregister.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.io.PrintWriter"%>
<%
    String username = request.getParameter("username");
    String password1 = request.getParameter("password1");
    String password2 = request.getParameter("password2");
    response.setCharacterEncoding("UTF-8"); //设置交换数据时的数据格式
    PrintWriter writer = response.getWriter();
    if(password1.equals(password2)){
          Class.forName("com.mysql.jdbc.Driver");
          
          Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/study?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf8", "root", "000000");
          String sql = "Select * from user where username='"+username+"'";
          Statement stat = conn.createStatement();
          ResultSet rs = stat.executeQuery(sql);
                if(rs.next()){
                       writer.write("{\"msg\":\"fail\"}");
                   writer.flush();
                        }else{
                          String sql2 ="insert into user(username,password) values('"+username+"','"+password1+"')";
                          int num = stat.executeUpdate(sql2);
                    if(num > 0){
                                       writer.write("{\"msg\":\"success\"}");
                                       writer.flush();
                           }else{
                                       writer.write("{\"msg\":\"fail\"}");
                                       writer.flush();
                           }
                    }
                  }
                else{
                           writer.write("{\"msg\":\"fail\"}");
                           writer.flush();
                    }
            
%>main.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
        <head>
                <title>登陆成功</title>
               
        </head>
        <body>
                <header id="header">
                        <img src="http://mms2.baidu.com/it/u=983221791,942132541&fm=253&app=138&f=JPEG&fmt=auto&q=75?w=320&h=307" alt="Avatar">
                        <h1>登陆成功!</h1>
                </header>
                        <nav>
                        <a target="_blank" href="https://www.cnblogs.com/#">首页</a>
                        <a target="_blank" href="https://www.cnblogs.com/#">关于</a>
                        <a target="_blank" href="https://www.cnblogs.com/#">联系我</a>
                        <a target="_blank" href="https://www.cnblogs.com/#">QQ</a>
                        <a target="_blank" href="https://www.cnblogs.com/#">微信</a>
                        </nav>
                <main>
                        <p ></p>
                </main>
        </body>
</html>5.16笔记

一、JDBC回顾

JDBC技术Java用来连接操作数据库的工具,JDBC严格意义上属于Java的一种技术。JDBC连接操作数据库时,整体一共分为七步(需要引入编程依赖)。1、加载驱动(告诉JDBC程序,连接的是哪一个数据库)

Class.forName(“驱动程序名”);
MySQL:   com.mysql.jdbc.Drivercom.mysql.cj.jdbc.Driver
Oracle:oracle.jdbc.driver.OracleDriver
SQL Server: com.microsoft.jdbc.sqlserver.SQLServerDriver
2、获取和数据库之间的连接—java.sql.DriverManager

Connection conn = DriverManager.getConnection(三个参数);
三个参数也成为数据库连接三要素:
① URL:数据库的地址、连接的数据库的名字、连接数据库使用的参数
MySQL: jdbc:mysql://ip:port/databaseName?key=value&key=value
Oracle: jdbc:oracle:thin:@IP地址:端口号:数据库名
SQL Server: jdbc:microsoft:sqlserver://IP地址:端口号;DatabaseName=数据库名
② 用户名: 数据库的用户名
③ 密码:数据库的密码
3、准备SQL语句

String sql = “xxxxx”;
JDBC操作数据库时,一般执行的SQL语句都是DML和DQL类型的语言。
SQL语句中存在一些字符串,字符串最好使用单引号。
4、创建小推车—java.sql.Statement

Statement stat = conn.createStatement();
小推车是JDBC的核心,SQL语句的执行以及执行结果的返回都是Statement实现的
5、小推车带着SQL语句去数据库执行SQL语句,并且返回执行结果

JDBC操作SQL,SQL一般分为两类:DML、DQL,两类SQL语句的执行方式以及返回结果都是不同的。
执行DML类型的SQL:--返回的是一个数字,这个数字代表数据库受影响的行数
int num = stat.executeUpdate(DMLSQL);
执行DQL类型SQL—返回的是一个ResultSet结果集,结果集就是查询回来的虚拟表格,
ResultSet rs = stat.executeQuery(DQLSQL);
6、Java程序处理逻辑

如果执行的是DML类型的SQL语句,Java程序只需要判断是否执行成功即可
如果执行的是DQL类型的SQL语句,Java程序需要获取ResultSet结果集当中封装的虚拟表格数据。
7、释放JDBC程序使用的资源

ResultSetStatement Connection
如果执行的是DML类型的SQL,只需要释放两个Statement Connection
如果执行的是DQL类型的SQL,需要释放这三个
释放顺序:先创建的后释放、后创建的先释放
释放调用这三者的close()方法即可。

来源:https://www.cnblogs.com/ningbaby/p/17411003.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: JSP_5.16_课堂笔记