【Java教程】JavaWeb

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接口:接收查询结果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值