- 博客(84)
- 收藏
- 关注
原创 Response
/*设置响应消息HTTP/1.1 200 ok*///方法setStatus(int sc) //设置状态码/*设置响应头*///方法setHeader(String name, String value)/*设置响应行*///获取输出流PrintWriter getWriter() //字符输出流ServletOutputStream getOutputStream() //字节输出流//使用输出流,将数据输出到客户端浏览器...
2021-07-10 19:42:33
98
原创 Request
ServletRequest --接口 |继承HttpServletRequest --接口 |实现org.apache.catalina.connector.RequestFacade --类(tomcat)/*获取请求行数据GET /request/demo1?n
2021-07-07 21:07:59
122
原创 Servlet体系结构
Servlet – 接口 |GenericServlet – 抽象类 |HttpServlet – 抽象类package hoge.web.servlet;import javax.servlet.GenericServlet;import javax.servlet.ServletException;import javax.servlet.ServletRequest;
2021-07-03 14:44:32
129
原创 Servlet
Servlet(server applet):运行在服务器端的小程序*Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则将来我们自定义一个类,实现Servlet接口,复写方法1.创建JavaEE项目2.定义一个类,实现Servlet接口public class servletDemo1 implements Servlet3.实现接口中的抽象方法4.配置Servlet<?xml version="1.0" encoding="UTF-8"?>.
2021-07-03 14:25:52
88
原创 web网站案例
<!doctype html><html lang="zh-CN"><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- 上述3个met
2021-06-30 20:02:53
185
原创 JDBCTemplate
下载地址: https://jar-download.com/artifacts/org.springframework/spring-jdbcpackage cn.itcast.datasource.jdbctemplate;import cn.itcast.datasource.utils.JDBCUtils;import org.springframework.jdbc.core.JdbcTemplate;public class JDBCTemplateDemo1 { publi
2021-06-27 14:04:34
55
原创 数据库连接池druid
导入druid-1.2.6.jar以及数据库驱动包mysql-connector-java-5.1.40-bin.jar下载地址: https://repo1.maven.org/maven2/com/alibaba/druid/.druid.properties(配置文件),任意名字,任意目录下driverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/db3?useSSL=falseusername=rootp.
2021-06-27 13:10:23
257
原创 数据库连接池c3p0
导入c3p0-0.9.5.5.jar mchange-commons-java-0.2.19.jar以及数据库驱动包mysql-connector-java-5.1.40-bin.jar官网地址: https://sourceforge.net/projects/c3p0/.c3p0-config.xml(配置文件),放在src目录下<c3p0-config> <default-config> <!-- 连接参数 --> .
2021-06-27 11:51:50
123
原创 JDBC事务管理
package cn.itcast.jdbc;import cn.itcast.util.JDBCUtils;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;public class JDBCDemo4 { public static void main(String[] args) { Connection conn = null;
2021-06-26 16:13:44
68
原创 PreparedStatement
PreparedStatement:执行sql的对象SQL注入问题:在拼接sql时,有一些sql的特殊关键字参与字符串的拼接,会造成安全性问题select * from user where username = ‘asdfgh’ and password = ‘a’ or ‘a’ = ‘a’//定义sql语句String sql = "select * from user where username = ? and password = ?";//获取执行sql语句的对象conn.pr
2021-06-26 15:45:59
60
原创 工具类JDBCUtil实现与使用案例
配置文件jdbc.propertiesurl=jdbc:mysql:///db3?useSSL=falseuser=rootpassword=rootdriver=com.mysql.jdbc.DriverJDBCUtils.javapackage cn.itcast.util;import java.io.FileReader;import java.io.IOException;import java.net.URL;import java.sql.*;import java
2021-06-26 15:13:09
266
原创 JDBCselect将数据库中的数据装载到集合
package cn.itcast;import java.util.Date;public class Student { private int id; private String name; private int age; private double score; private Date birthday; private Date insert_time; private String gender; public i
2021-06-24 18:48:13
182
原创 ResultSet
ResultSet:结果集对象,封装查询结果next() //游标向下移动一行getXxx(); //获取数据 *int getInt() *String getString()/* int:代表列的编号,从1开始 getString(1) String:代表列名称 getDouble("balance")*/
2021-06-24 18:21:05
63
原创 JDBC练习
package cn.itcast.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class JDBCDemo2 { public static void main(String[] args) { Connection conn = null; Stat
2021-06-24 17:32:32
58
原创 Statement
Statement:执行sql的对象//执行sqlboolean execute(String sql) //执行任意的sqlint executeUpdate(String sql) //执行DML(insert,update,delete)语句,DDL(create,alter,drop)语句,返回影响的行数ResultSet executeQuery(String sql) //执行DQL(select)语句...
2021-06-24 17:16:39
52
原创 Connection
Connection:数据库连接对象//获取执行sql的对象Statement createStatement()PreparedStatement prepareStatement(String sql)//管理事务//*开启事务setAutoCommit(boolean autoCommit) //false开启事务//*提交事务commit()//*回滚事务rollback()...
2021-06-24 17:07:40
90
原创 DriverManager
DriverManager:驱动管理对象//注册驱动 mysql5之后的驱动jar包可以省略注册驱动的步骤static void registerDriver(Driver driver)//写代码时使用Class.forName("com.mysql.jdbc.Driver");//在com.mysql.jdbc.Driver类中存在静态代码块static { try { java.sql.DriverManager.registerDriver(new Driver()); } c
2021-06-24 17:00:20
212
原创 JDBC简单举例
package cn.itcast.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.Statement;public class JdbcDemo1 { public static void main(String[] args) throws Exception { //导入驱动jar包 //注册驱动 Class.forName("
2021-06-24 16:47:06
98
原创 DCL——数据控制语言
管理用户-- 添加用户CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';-- 删除用户DROP USER '用户名'@'主机名';-- 修改用户密码UPDATE USER SET PASSWORD = PASSWORD('新密码') WHERE USER = '用户名';SET PASSWORD FOR '用户名'@'主机名' = PASSWORD('新密码');-- 查询用户USE mysql;SELECT * FROM USER;权限管理--
2021-06-24 11:16:59
83
原创 多表查询——内连接、外连接、子查询
内连接隐式内连接-- 查询所有员工信息和对应的部门信息SELECT * FROM emp,dept WHERE emp.dept_id = dept.id;-- 查询员工表的名称、性别,部门表的名称SELECT emp_name,emp.gender,dept.name FROM emp,dept WHERE emp.dept_id = dept.id;SELECT t1.name, t1.gender, t2.nameFROM emp t1, dept t2WHERE t1
2021-06-23 23:04:44
197
原创 数据库的备份与还原
备份mysqldump -u用户名 -p密码 数据库名称 > 保存的路径(D://a.sql)还原-- 登录数据库-- 创建数据库-- 使用数据库-- 执行文件source 保存的路径(D://a.sql)
2021-06-23 11:57:57
45
原创 约束:非空约束、唯一约束、主键约束、外键约束
约束:对表中的数据进行限定,保证数据的正确性、有效性和完整性。非空约束:not null-- 创建表时添加非空约束CREATE TABLE stu( id INT, NAME VARCHAR(20) NOT NULL);-- 创建表后添加非空约束ALTER TABLE stu MODIFY NAME VARCHAR(20) NOT NULL;-- 删除name的非空约束 ALTER TABLE stu MODIFY NAME VARCHAR(20);唯一约束:unique-- .
2021-06-22 20:24:47
485
原创 DQL——数据查询语言
DQLselect 字段列表from 表名列表where 条件列表group by 分组列表having 分组之后的条件order by 排序limit 分页限定基础查询//多个字段的查询select 字段1, 字段2, … from 表名;//去除重复distinct//计算列 //一般可以使用四则运算计算一些列的值(数值型计算)//null参与的计算计算结果都为null,需要替换ifnull(表达式1,表达式2)//起别名as//可省略条件
2021-06-22 19:37:33
47
原创 DML——数据操作语言
DML1.添加数据//列名与值一一对应insert into 表名(列名1,列名2,…,列名n) values(值1,值2,…,值n);//如果表名后不定义列名,则默认给所有列添加值insert into 表名 values(值1,值2,…,值n);2.删除数据delete from 表名 [where 条件];//删除所有记录delete from 表名;//不推荐,有多少条记录就会执行多少次删除操作TRUNCATE TABLE 表名;//先删除表,然后再创建一张一样的表3
2021-06-22 18:37:50
143
原创 DDL——数据定义语言
DDL操作数据库:CRUD1.Create:创建创建数据库:create database 数据库名称;创建数据库,判断不存在,再创建:create database if not exists 数据库名称;创建数据库,判断不存在,并指定字符集:create database if not exists 数据库名称 character set 字符集名称;2.Retrieve:查询查询所有数据库的名称:show databases;查询某个数据库的字符集,创建语句show
2021-06-22 17:05:06
96
1
原创 接口组成更新
接口中默认方法package myInterfaceDefault;public interface MyInterface { void show1(); void show2();// void show3(); //默认方法(可以不重写) default void show3() { System.out.println("show3"); }}package myInterfaceDefault;public cl
2021-06-21 22:29:21
45
原创 lambda表达式
package myLambdaDemo;public class MyRunnable implements Runnable { @Override public void run() { System.out.println("多线程程序启动了"); }}package myLambdaDemo;/* 启动一个多线程,在控制台输出一句话,多线程程序启动了 */public class LambdaDemo { public st
2021-06-21 21:20:56
56
原创 TCP发送、接收数据
客户端发送package myNetworkDemo;import java.io.IOException;import java.io.OutputStream;import java.net.Socket;public class TCPClientDemo { public static void main(String[] args) throws IOException { //public Socket(String host, int port); 创建流
2021-06-01 18:09:30
309
2
原创 UDP发送、接收数据
sendpackage myNetworkDemo;import java.io.IOException;import java.net.*;public class UDPSendDemo { public static void main(String[] args) throws IOException { //public DatagramSocket(); 构造数据包套接字并将其绑定到本地主机上的任何可用端口 DatagramSocket ds
2021-06-01 17:30:20
140
原创 InetAddress
package myNetworkDemo;import java.net.InetAddress;import java.net.UnknownHostException;public class InetAddressDemo { public static void main(String[] args) throws UnknownHostException { //public static InetAddress getByName(String host);
2021-06-01 16:36:46
48
原创 Lock锁
package myMultithreadingDemo;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class SellTicket implements Runnable { private static int tickets = 100; private Lock lock = new ReentrantLock(); @
2021-05-31 22:07:25
33
原创 线程安全的类
package myMultithreadingDemo;import java.util.*;//虽然Vector、HashTable是线程安全,但通常还是使用synchronizedList方法public class ThreadSafetyDemo { public static void main(String[] args) { StringBuffer stringBuffer = new StringBuffer(); //线程安全 Stri
2021-05-31 21:32:16
357
原创 线程的数据安全问题
package myMultithreadingDemo;public class SellTicket implements Runnable { private int tickets = 100; @Override public void run() { while (true) { if (tickets > 0) { try { Thread.sleep(100);
2021-05-30 20:17:47
41
原创 实现Runnable接口的方式实现多线程
package myMultithreadingDemo;public class MyRunnable implements Runnable { @Override public void run() { for (int i = 0; i < 100; i++) { //不能直接使用getName方法 System.out.println(Thread.currentThread().getName() + ":
2021-05-29 20:18:20
96
原创 线程控制sleep、join、daemon
sleeppackage myMultithreadingDemo;public class ThreadSleep extends Thread { @Override public void run() { for (int i = 0; i < 100; i++) { System.out.println(getName() + ": " + i); try { //publi
2021-05-29 20:07:39
65
原创 线程优先级Priority
package myMultithreadingDemo;public class ThreadPriority extends Thread { @Override public void run() { for (int i = 0; i < 100; i++) { System.out.println(getName() + ": " + i); } }}package myMultithreadingD
2021-05-29 19:46:48
67
原创 继承Thread类的方式实现多线程
package myMultithreadingDemo;public class MyThread extends Thread{ @Override public void run() { for (int i = 0; i < 100; i++) { System.out.println(i); } }}package myMultithreadingDemo;public class MyThread
2021-05-29 19:14:36
207
原创 Properties实现猜数字,控制游戏次数(store存档、load读档)
package myGuessNumber;import java.util.Random;import java.util.Scanner;public class GuessNumber { private GuessNumber() { } public static void guess() { Random r = new Random(); int number = r.nextInt(100) + 1; wh
2021-05-29 18:58:23
173
1
原创 Propertiesl类
package mySpecialStreamDemo;import java.util.Properties;import java.util.Set;public class PropertiesDemo { public static void main(String[] args) { //创建集合对象// Properties<String, String> prop = new Properties<String, String
2021-05-29 18:33:19
46
原创 ObjectOutputStream对象序列化流、ObjectInputStream对象反序列化流
package mySpecialStreamDemo;import java.io.Serializable;//Serializable标识类的对象可以被序列化public class Student implements Serializable { private String name; private int age; public Student() { } public Student(String name, int age) {
2021-05-28 21:25:00
69
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人