javaweb
是 java 的一个方向, 基于 BS 架构的 web 网站 ,也是 javaEE 方向
JavaSE (标准版)
JavEE (企业版 -> JavaWeb )
JavaME (微型版 -> 移动开发)
Tomcat
Tomcat 是一款服务器的中间件
1.管理Socket 连接,基于HTTP/HTTPS协议(底层是TCP协议)
2.管理线程池 (每一次请求都会分配一个线程进行处理)
3.管理输入流和输出流 (输入流读取浏览器输出的内容,输出流向浏览器输出内容)
Tomcat相似产品
1.Nginx
2.Netty
3.Undertow
4.Jboss
5.Weblogic
Tomcat 官网和版本
下载
Tomcat目录
Tomcat环境变量
Tomcat 是 Java 语言编写的,需要 JAVA_Home 环境变量
启动服务端
双击 startup.bat
有乱码
去conf目录下用notepad++ 打开
说明服务端启动成功
在网页输入(注意中英文)
本机IP
localhost:8080
127.0.0.1:8080
本机IP地址
URL地址
URL 一般指同一资源定位系统,统一资源定位系统(uniform resource locator;URL)
协议://ip:端口/资源路径
(国家://省市区:门牌号/人)
什么是资源:任何一种可以被浏览器解析的文件都是资源
不同的文件的URL地址一定是不一样的,任何一个文件都有自己唯一的URL地址
如果在URL 地址中没有写资源路径
Tomcat 默认返回 ROOT/index.jsp 或者 ROOT/index.html
Tomcat核心配置文件sevel
把图片放在设置好的目录里 这里是 images
相对路径:
就把 文件 放在webapps 目录 里面 ROOT 目录里面
用 / 访问
JDBC 编程流程
数据库连接池的作用
数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。
这项技术能明显提高对数据库操作的性能。
连接池的作用:
连接池的作用是为了提高性能,避免重复多次的打开数据库连接而曹诚性能的下降和系统资源的浪费;连接池是将已经创建好的连接保存在池中,当有请求来时,直接使用已经创建好的连接对数据库进行访问。这样省略了创建和销毁的过程。这样以提高系统的性能。
连接池基本原理:
1、建立数据库连接池对象(服务器启动)。
2、按照事先指定的参数创建对应初始数量的数据库连接(即空闲连接),设置连接池连接数量极值(最大活跃链接)。
3、对于一个数据库的访问请求,直接从连接池中得到一个连接。如果数据库连接池对象中没有空闲连接,且数量没有达到极值(即:最大活跃链接),创建一个新的数据库连接。
4、存取数据库。
5、关闭数据库,释放大于初始数量的空闲数据库连接。(并非真正关闭,而是将其放入空闲队列中。如实际空闲连接大于初始数量空闲连接则释放连接)。
6、释放数据库连接池对象(服务器停止、维护期间,释放数据库连接池对象,并释放所有连接)。
使用连接池的优势:
1、资源复用:由于数据库连接得到重用,避免了频繁创建、释放引起的大量性能开销。在减少系统消耗的基础上,在另一方面也增进了系统运行环境的平稳性(减少内存碎片及数据库临时进程/线程的数量)
2、更快的系统响应速度:数据库连接池在初始化过程中,往往已经创建了若干个数据库连接置于池中备用,此时连接的初始化工作均已完成。对于业务请求处理而言,直接利用现有的可用连接,避免了数据库连接初始化和释放过程的时间,从而缩减了系统整体相应时间。
3、统一的连接管理,避免数据库连接泄露:在较为完备的数据库连接池实现中,可根据预先的连接占用超时设定,强制收回被占用连接,从而避免了常规数据库连接操作中可能出现的额资源泄露。
应用连接池的三种方式:
1、自定义连接池
2、使用第三方连接池
3、使用服务器自带的连接池
JDBC SQL注入隐患(Statement 和 PreparedStatement 的区别)
Statement存在sql注入问题,PreparedStatement解决了sql注入问题.
Statement是编译一次执行一次,PreparedStatement是编译一次可以执行n次,PreparedStatement的效率较高一些.
PreparedStatement会在编译阶段做类型的安全检查.
JDBC 如何操作事务 (在哪里开 在哪里提交 在哪里回滚)
JDBC事务 - 廖雪峰的官方网站 (liaoxuefeng.com)