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]