WEB基础
JAVAWEB
1. Web应用程序
-
什么是动态网页?
- 网页文件包含了应用程序,通过WEB服务器与数据苦进行交互,实现进行数据实时更新和查询。
-
什么是WEB应用程序?
- 透过http请求来存取web服务器的网页,或执行服务端网页技术的程序。
-
http请求
- 一种无状态,应用层网络通讯协议
- 基于请求--响应
- 常见状态码
- 200 正确
- 404 未找到
- 500 服务器内部错误
2. JSP技术
-
JSP全称:java server page java服务器页面,是一种创建动态页面的技术
-
JSP执行流程
- 用户请求到web容器
- web容器将jsp解释为servlet
- servlet类被jvm编译
- 展示页面内容
-
脚本
- <% %>:小脚本,写java代码,编译后在servlet的service()方法中
- <%= %>:表达式,取小脚本的变量值
- <%!%>:声明,声明全局变量和方法
-
指令
- <%@ 指令名称 属性=值 %>
- page指令:设置页面参数
- include指令:静态包含
- 标签指令:引入标签库
- <%@ 指令名称 属性=值 %>
-
jsp动作
- <jsp:include > </jsp:include > :动态包含
-
动态包含和静态包含的区别
- 静态包含在jsp解释前将两个或多个jsp文件合并,得到一个servlet,变量共用,不可声明重名变量,不可传参数。
- 动态包含在jsp解释后,将两个或多个jsp解释为不同的servlet然后显示在同一个页面上,jsp文件相对独立,可以声明同名变量,为不同的对象,可以传参数。
-
内置对象
- page
- pageContext
- request
- response
- session
- application
- config
- exception
- out
-
作用域
- page
- request
- session
- application
作用域存值和取值的方法
- setAttribute(String,Object) 存值
- getAttribute(String) 取值
- removeAttribute(String) 移除作用域
-
EL表达式
- EL表达式是一种表现形语言
- 用来读取JavaBean中的数据
-
JSTL标准标签库
-
所需jar包 jstl.jar
-
引入方式
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
-
3. Tomcat服务器
- web容器就是一个运行jsp文件的环境
- 默认端口号为8080
4. Servlet
-
MVC设计模式
- 模型(Model)- 视图(View)- 控制(controller)
- 模型层负责业务和数据处理
- 视图层负责数据交互
- 控制层负责接收请求,调用业务处理,页面导航
-
创建Servlet方法
- 实现Servlet接口
- 继承GenericServlet类
- 继承HttpServlet类
-
Servlet生命周期
- 实例化
- 初始化
- 业务处理
- 销毁
-
转发和重定向
- 转发是后台处理,不会改变请求路径,客户端只发送一次请求
- 重定向是客户端操作,改变请求路径,客户端发送两次请求
-
Servelt作用域
- page
- request
- session
- application
-
过滤器
过滤器 Filter
1. 创建一个类 实现Filter接口 重写 初始化 执行过滤 销毁三个方法 2. 两种方法实现 1. 注解方法:在类上写一个@webFilter注解 注解中有两个常用属性 1. 属性一 value 声明被保护的文件路径 2. 属性二 dispatcherTypes 声明过滤器支持的过滤的方式 默认是request请求 2. web.xml配置: <filter> <filter-name>filter1</filter-name> 给过滤器取个名 因为可能会有多个过滤器 <filter-class>过滤器所在类的全名</filter-class> </filter> <filter-mapping> <filter-name>filter1</filter-name> 过滤器名前后对应 <url-parten>受保护的路径</url-parten> </filter-mapping>
-
监听器
监听器 Listener
1. 创建一个类 实现不同作用域级别的Listener接口 重写 初始化 销毁方法 2. 两种方法实现 1. 注解方法:在类上写一个@WebListener 注解中有两个常用属性 2. web.xml配置:略