数据库day04

DBCP

DataBaseConnectionPool: 数据库连接池
作用: 可以将数据库连接重用,避免频繁开关连接导致的资源浪费
请添加图片描述
如何使用数据库连接池? 从苍老师文档服务器中找到连接池的依赖
请添加图片描述
请添加图片描述

注册功能:

创建user表

use empdb; create table user(id int primary key auto_increment,username varchar(20),password varchar(20),nick varchar(20));

登录的SQL语句:

select count(*) from user where username=‘tom’ and password=‘123456’;

SQL注入

select count(*) from user where username=‘abcd’ and password=’’ or ‘1’=‘1’

什么是SQL注入?

用户往传值的地方传递进来了SQL语句导致原有SQL语句的逻辑发生改变,从而达到一些非法目的.这个过程叫做SQL注入.

PreparedStatement

带有预编译效果的执行SQL语句的对象
通过此对象可以解决SQL注入的问题:将编译SQL语句的时间点从执行时提前到了创建时, 在创建PreparedStatement对象时将SQL语句进行编译,此时用户输入的内容还没有放到SQL语句里面, 这时编译的好处是将SQL语句业务逻辑锁死, 之后再将用户输入的内容添加进去,这样原有SQL语句的逻辑就不会被用户输入的内容改动,从而避免了SQL注入的问题.

404状态码

意思是客户端找不到服务器的资源,服务器资源包括静态资源和动态资源

静态资源404:

检查请求的路径拼写是否正确
检查静态资源文件是否在static下的正确位置
如果路径和文件位置都没有问题,重新编译工程: Build->ReBuild 然后重启工程再测试

动态资源404:

检查请求的路径拼写是否正确
检查Controller类是否创建在了cn.tedu.工程名这个包下面
检查@RequestMapping注解里面的路径是否正确,这里的路径必须以/开头
如果路径和文件位置都没有问题,重新编译工程: Build->ReBuild 然后重启工程再测试

客户端发出请求的几种方式

1.在浏览器地址栏中输入请求地址 回车发出请求
2.在html页面中通过超链接发出请求
3.在html页面中通过form表单发出请求
4.通过前端框架发出异步请求

通过@ResponseBody注解简化响应代码

在这里插入图片描述

端口被占用

在这里插入图片描述
1.检查是不是有其它正在运行的工程, 将其关闭后再运行新工程
2.如果没有正在运行的工程,可通过以下几种方式:
a.重启电脑
b.修改工程的端口号
在这里插入图片描述
c.在命令行中 执行以下指令找到占用8080端口的进程,然后执行杀掉该进程的指令, 释放出8080端口
在这里插入图片描述

如何获取客户端传递过来的请求参数

三种接收参数的方式:

1.通过HTTPServletRequest对象挨个获取参数
在这里插入图片描述
2.直接在方法的参数列表中声明的方式 接收参数
在这里插入图片描述
3.通过自定对象直接将多个参数封装
在这里插入图片描述

BMI身体指数测试练习

1.在static静态资源文件夹中 创建一个bmi.html页面
2.创建BmiController,添加bmi方法处理/bmi请求, 接收传递过来的很高和体重, 计算出bmi的值, 通过bmi的取值范围给客户端返回不同的提示信息

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值