1 基本概念
2 web服务器
3 Tomcat
Tomcat的三个功能:
① Web服务器
② JSP容器
③ Servlet容器
4 Http
5 Maven
Maven出现的原因:
在JavaWeb开发中,需要使用大量的jar包,需要人工手动导入,而Maven的出现可以帮我们自动导入和配置这些jar包
(1) Maven项目架构管理工具
核心思想:约定大于配置(不要去违反约束)
我们在编码代码的时候要按照Maven的规范来
(2) 下载安装Maven
(3) 配置环境变量
6 Servlet
(1) 简介
Servlet是由SUM公司提供的动态web资源技术,它本质上是一段在服务器上运行的Java程序。但这段程序无法独立运行,必须放在Servlet容器(例如:Tomcat服务器)由容器调用才能执行。
1) 开发一个Servlet程序
如果想开发一个Servlet程序,只需完成以下两个步骤:
编写一个类,实现Servlet接口(Servlet是一个接口)
把开发好的类部署到web服务器
我们把实现了Servlet接口的Java程序叫做Servlet。
2) 作用
处理请求。服务器会将接收到的请求交给Servlet处理,Servlet接收请求再将结果响应给浏览器
3) 生命周期
Servlet在第一次被访问时创建Servlet实例,创建之后服务器会立即调用init()方法进行初始化操作,之后Servlet实例会一直驻留在服务器的内存中,为后续的请求服务。
只要有请求来访问这个Servlet,服务器就会调用service()方法来处理请求。直到服务器关闭或者WEB应用被移除容器,Servlet实例才会被销毁,在销毁之前服务器会调用destroy()方法进行善后处理。
(2) Servlet调用过程
① 浏览器向服务器发送请求,服务器调用一个Servlet来处理请求
② Servlet负责对请求进行处理,处理的过程中可能需要连接、访问数据库,最后得到处理结果
③ Servlet一般不直接将处理结果返回给浏览器,而是由JSP或者HTML负责展示
④ 服务器将最终响应结果返回给浏览器
(3) Mapping问题
(4) ServletContext
(5) HttpServletResponse
(6) HttpServletRequst
7 Cookies、Session
8 JSP
(1) 什么是JSP
JSP(Java Server Pages):Java服务端页面
实质:Servlet(从源码可以看出JSP继承自Servlet),也用于动态web技术
动态web技术:所有人看到的页面不一样,是动态变化的
JSP和写HTML的区别:
HTML只给用户提供静态的页面,而JSP页面中可以嵌入Java代码,为用户提供动态数据
(2) JSP工作原理
① 浏览器请求JSP页面--Tomcat接收到请求后在work文件夹中找被请求的JSP页面的class文件
② 如果在work文件夹中没有找到该class文件,就去JSP所保存的目标文件中找该文件,并把该JSP文件的Java文件和编译的class文件放到work文件夹下
③ 如果在work文件夹中找到了需要的class文件,则直接运行,并将运行结果返回给浏览器
④ 如果在work文件夹下找到了需要的class文件,且该文件已经编译好了,则直接将结果返回给浏览器
浏览器向服务器发送请求,不管访问什么资源,其实都是在访问Servlet
9 JavaBean
(1) 定义
在Java中,将符合以下定义规范的类称为JavaBean:
若干个private修饰的实例字段
通过public修饰的方法(getter、setter)来读写这些事实例字段
(2) 作用
JavaBean主要用来传递数据,即把一组数据组合成一个JavaBean是为了方便数据的传输。
此外,JavaBean可以方便地被IDE工具分析,生成读写属性的代码,用于图形界面的可视化设计中。
(3) 枚举JavaBean属性
可以直接使用Java核心库提供的Introspector 来枚举JavaBean的所有属性
综上,JavaBean是一种符合命名规范的类,它通过getter和setter来访问、修改属性。
10 过滤器Filter(重点)
(1) 概念
①filter过滤器:用来过滤网站的数据
②作用:一般用于完成通用的操作,例如登录验证、身份验证、统一字符编码和敏感数据过滤等
(2) 快速入门
步骤:
①定义一个类实现Filter接口
②复写方法
③配置拦截路径
1)Web.xml
2)注解
(3) 过滤器细节
①Web.xml配置
②执行流程
1) 执行过滤器
2) 执行放行后的资源
3) 回来执行过滤器放行代码下面的代码
③生命周期方法
1) init():在服务器启动后,会创建Filter对象,然后调用init()方法--该方法只执行一次,用于加载资源
2) doFilter():每一次请求被拦截资源时,会执行该方法--执行多次
3) destroy():在服务器被关闭后,Filter对象被销毁--如果服务器正常关闭,则只会执行一次destroy方法,用于释放资源
(4) 配置详解
① 拦截路径配置
② 拦截方式配置:资源被访问的方式
1) 注解配置:设置dispatcherTypes属性
2) Web. Xml配置
(5) 过滤器链(配置多个过滤器)
①执行顺序
假设有两个过滤器:过滤器1 和过滤器2,执行顺序如下:
过滤器1
过滤器2
资源执行
过滤器2
过滤器1
② 过滤器先后顺序问题
1) 注解配置:按照类名的字符串比较规则进行比较,最小值先执行
a.如AFilter和BFilter,AFilter先执行
2) web. xml配置:< filter-mapping> (谁定义在边,谁先执行)
11 监听器listener
(1) 一些概念
1) 定义
Listener(监听器)是Java三大组件(Servlet、Filter、Listener)之一,实际上是一个实现了特定接口的类。
2) 工作流程
将这个类在web.xml文件中进行描述,这样服务器在启动的时候就可以实例化这个类,来启动监听器。当范围对象的状态发生变化,服务器自动调用监听器对象中的方法。
3) 监听对象:
web监听器是Servlet规范中定义的一种特殊类,用于监听ServletContext、HttpSession、ServletRequst等域对象的创建、销毁以及属性的变化,可以在事件发生的前后进行一些处理。
(2) 使用场景
① 统计在线人数和在线用户
② 系统加载时进行信息的初始化工作
③ 统计网站的访问量
④ 跟Spring结合
(3) 分类
1) 按监听的对象分
ServletContext对象
HttpSession对象
ServletRequst对象
2) 按监听的事件分
域对象自身的创建和销毁
域对象中属性的创建和销毁
绑定到session中的某个对象的状态
(4) Servlet3.0下的使用
在Servlet3.0下通过注解 @WebListener(“”) 就可以实现了,不需要在web.xml中进行配置
12 JDBC
(1) 概述
JDBC(Java DataBase Connectivity):
Java数据库连接是一种用于执行SQL语句的Java API,由一组Java语言编写的类和接口组成,可以为多种关系型数据库提供统一的访问
(2) JDBC API
供程序员调用的接口和类集成在java.sql包中:
DiverManange类:管理各种不同的jdbc驱动
Connection接口:与特定数据库的连接
Statement接口:执行sql
PreparedStatement接口:执行sql
ResultSet接口:接收查询结果