自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 JDBC,SQL注入

SQL 注入就是指 web应用程序对用户输入的数据合法性没有过滤或者是判断,前端传入的参数是攻击者可以控制,并且参数带入数据库的查询,攻击者可以通过构造恶意的sql语句来实现 对数据库的任意操作。防止sql注入,可以使用PreparedStatement对象,进行sql语句预编译,语句中使用了占位符,规定了sql语句的结构,不会因为参数让sql语句结构发生变化。假设我们做一个登录的功能,首先要查询user表中是否包含用户填写的账号密码,如果验证通过代表登录成功,如果验证失败代表登录失败。

2024-10-14 13:28:42 493

原创 DDl语法,数据类型,约束,索引。

经过分析,可以知道一个学生对应一张学生卡,一张学生卡属于某一个学生,属于一对一关系。5. FOREIGN KEY:外键,用于限制两个表的关系,用于保证字段的值,必须来自于另一张表的关联列的值。2. 在数据库中,任何一张表的任何一条记录在硬盘存储上都有一个物理地址,指的是该数据存储在硬盘的什么位置。在实际开发中,每一张表往往都会设计一个主键,表示每一条数据的唯一性,方便后续的修改、删除等操作。索引相当于一本书的目录,查找内容的时候先根据目录,找到要找的内容的页码,然后再去页码查看数据。

2024-10-12 10:45:31 1000

原创 子查询,分页查询

insert into emplyees (emplyee_name, sex) values ("张三", "男"),("李四", "女"),("王五","男");insert into emplyees (emplyee_name, sex) values ("张三", "男");insert into emplyees set emplyee_name = "张三", sex = "男";) values (值1,值2,…场景:要查询的结果来自于多张表,且多张表没有直接的连接关系,但查询的信息一致。

2024-10-10 13:33:28 875

原创 mysql函数,mysql分组查询,mysql连接查询

例:查询员工姓名以及工资,工资按照一定规则发放,入职时间在2015-01-01之前的员工工资*2,入职时间在2018-01-01之前的员工工资\*1.5,其他不变。例:查询员工姓名以及工资,工资按照一定规则发放,部门2的员工工资\*1.2,部门3的员工工资\*1.3,部门4的员工工资*1.4,其他部门不变。if(表达式1,表达式2,表达式3) (函数类似三元表达式,如果表达式1为true返回表达式2,否则返回表达式3。SELECT IF(2>1,'大','小') (1对则返回大,错则返回小)

2024-10-09 10:31:02 814

原创 mysql数据库

2. 如果两边有字符型,尝试将字符型数值转化成数值型,如果转换成功,则继续做加法运算,如果转换失败则转为0。比如:'11'会转为11,'1a'会转为1,'11a1'会转为11,'abc'会转为0,'abc11'会转为0。查询出来的数据默认按照表格的保存顺序查询,我们如果需要修改查询结果展示的顺序,可以使用排序查询。3. 一种强有力的语言,灵活使用语言元素,可以进行非常高级和复杂的数据库操作。条件运算符:>、 <、 >=、 <=、 =、!案例:查询员工姓名、年薪,按照年薪高低降序,其中年薪为月薪*12。

2024-10-06 18:43:42 809

原创 Cookie,Session,Filter过滤器、Listener。

Session是依赖于Cookie的,当服务端创建session时,服务端在响应的时候会通知客户端把seesion id存储在cookie,后续的请求会在请求头里面会携带上cookie中的数据,服务端获取cookie携带的session id之后从session映射区里面获取对应的数据进行其他的操作。Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。//在之后的每次打开软件的时候,浏览器像后端发起的所有接口会带上登录信息这个Cookie。

2024-10-06 10:19:49 458

原创 网络编程。

当我们在浏览器输入www.baidu.com时,浏览器自动加上协议http或者https,网址通过 DNS 域名解析获取IP地址,根据IP地址找到对应的服务器,再根据访问的端口号找到对应的服务,当我们没有写端口号时默认端口号是80,服务最后再响应内容返回给浏览器,最后浏览器接收到内容展示出来。创建`ServerSocket`对象,相当于开启一个服务,并等待客户端的连接。利用“协议” + “”IP地址+"端口号" 三元组合,就可以标识网络中的进程了,那么进程间的通信就可以利用这个标识与其它进程进行交互。

2024-10-01 10:35:56 257

原创 请求对象,响应对象

HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。4. PrintWriter getWriter() // 用于往 `body` 中写入文本格式数据响应状态码:服务器告诉客户端浏览器本次请求响应的一个状态,都是三位数。当客户端通过HTTP协议访问服务器时,如果服务器要给客户端一些相响应的信息,就可以使用HttpServletResponse提供的方法进行设置。

2024-09-28 21:39:36 847

原创 Servlet,HttpServlet

放到这里补充是因为浏览器地址栏发起的请求默认的请求方式是get请求,无法测试post请求方式,这边我们使用postman进行测试。比如登录是一个功能,对应一个Servlet,注册是另一个功能,对应一个不同的Servlet。号拼接,多个参数使用&符号隔开,如:http://xxx.xxx.xx.xx/a/b?@WebServlet({"/demo1", "/demo2", ...}) // 配置多个请求路径对应一个Servlet。@WebServlet("/*") // 匹配所有的请求。

2024-09-28 09:08:36 404

原创 MAP ,文件,IO

Map用于保存具有映射关系的数据,因此Map集合里保存着两组值,一组值用于保存Map里的key,另外一组值用于保存Map里的value。2. FileWriter和BufferWriter都有缓冲区,FileWriter的缓冲区大小是8192个字节,BufferWriter缓冲区大小是8192个字符;流是一种有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。java的IO(input/output)是实现输入和输出的基础,可以方便的实现数据的输入和输出操作。3. 不是线程安全的。

2024-09-22 09:24:22 752

原创 随机数,日期类,包装类

固定的随机数列(10为随机数种子,如果创建了,在创建随机数的时候就会出现固定的随机数)把基本数据类型转换成类,包装类提供了很多的方法给我们使用(查看JDK文档)。Java里面8个基本数据类型都有相应的类,这些类叫做包装类。自动装箱: 就是将基本数据类型自动转换成对应的包装类。注:包装类在和基本数据类型做比较时自动转化为基本数据类型。随机数在常用业务中也很常用,比如抽奖、随机点名等。自动拆箱:就是将包装类自动转换成对应的基本数据类型。| 基本数据类型 | 包装类 |最基础的一个日期类。

2024-09-17 16:03:49 482

原创 内部类,object,字符串,异常

字符串池:当我们创建一个字符串时,JVM 会先对这个字符串进行检查,如果字符串常量池中存在相同内容的字符串对象的引用,则将这个引用返回;否则,创建新的字符串对象,然后将这个引用放入字符串常量池,并返回该引用。关键字throws运用于方法声明之上,用于表示当前方法不处理异常,而是提醒该方法的调用者来处理异常(如果调用者不处理,则接着抛出异常,甩锅)。返回该对象的字符串表示,通常toString方法会返回一个“文本方式表示”此对象的字符串,结果应该是一个简明易懂的信息表达式,建议所有的子类都重写此方法。

2024-09-15 14:32:30 723

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除