C/S架构软件与B/S架构软件的区别?
Javaweb开发环境搭建准备
1、IDE工具
2、本地服务器工具
3、工程类型转换为web工程
一、web三大组件
Javaweb中的三个常用组件分别是:
控制器 Servlet
用于在web工程中对web资源(主要是web请求)进行控制——请求的接收与响应、请求参数的处 理、请求的处理、响应数据的处理等等。
所有的servlet都需要实现 Javax.servlet.Servlet接口。
实现一个控制器的基本步骤:
1)、创建一个自定义的控制器类,去实现Servlet接口
2)、在web工程中进行注册配置,告诉当前web工程启用该控制器
3)、启动服务器后,在浏览器进行访问操作
Servlet的生命周期: 由它的三个生命周期方法进行控制
init —— 初始化方法,会在该控制器实例化之后立即由服务器调用,一般用来执行一些环 境准备、数据准备等操作。整个生命周期过程中只执行一次。
默认情况下,init方法会在servlet首次被使用时调用。loadOnStartup参数会改变一个servlet 的初始化时机,如果配置该参数,那么表示服务器在启动时就直接调用该控制器的init方法完成初始 化,该参数的值越小,初始化优先级越高(如果传入负值则表示未配置)。
service —— 服务方法,会在控制器准备好之后反复被调用,每次接收到新的请求,该请 求都会交给service方法去处理。整个生命周期中执行N次。
destory —— 销毁方法,会在服务器停止之前由服务器调用,一般用来处理一些后续收尾 工作,如数据的销毁、文件转储等操作。整个生命周期中只执行一次。
请求转发和重定向的区别?
请求转发:由请求对象Request执行的操作,本质上在多次转发过程中使用的是同一个请求与响应 对象,在多次转发过程中,可以共享请求体、响应体中的数据。
重定向:由响应对象Response执行的操作,本质上是两次请求与响应,在重定向过程中,两个资 源之间无法共享请求体与响应体。
过滤器 Filter
用于在web工程中对web资源进行过滤处理,过滤器可以让被过滤的资源通过过滤器,也可以拦截 被过滤的资源。
过滤器在工程中可以配置多个,多个过滤器在过滤同一资源时,需要按过滤器顺序依次过滤,只要 由一个过滤器不通过,那么资源将无法达到目标位置。多个过滤器执行顺序取决于 filter-mapping 的配 置顺序。
dispatcher 配置可以进行过滤器过滤粒度控制。
过滤器基本使用:
- 字符集过滤器
- 登录过滤器
- 权限过滤器
监听器 lisenter
对web工程中的某些特定对象的特定状态进行监听,当该对象发生该动作的时候,执行特定处理。
二、JSP动态网页
JSP —— Java server page。
由两部分内容组成:既支持HTML标签,又支持在页面上直接嵌入Java代 码。
JSP支持三种脚本,通过脚本向页面嵌入Java代码
<% %>:脚本,内部可以写入任意Java代码,但不能向页面输出内容
<%= %>:表达式,内部可以写入一个变量或表达式,最终将输出的内容显示在页面上
<%! %>:声明
JSP支持三种指令:
JSP的指令用于对当前JSP页面进行整体配置设置。
- page
- taglib
- include
JSP支持常用动作:
动作是一些通过JSP引擎封装好的 标签,通过对应标签可以完成相关功能。
JSP的动作标签都带有 jsp 前缀
<jsp:include page="index.html"> —— JSP引入动作标签,又称为动态包含动作。
JSP的九个内置对象:
page —— 表示当前JSP页面本身 等效于 this
config —— 表示当前页面的配置信息对象
out —— 当前页面的输出流对象,最终JSP页面会通过该对象完成JSP到HTML的输出
exception —— 只有当前页面为 errorPage 时会内置,表示异常信息
pageContext —— 表示当前页面上下文对象,它维护了一个页面域
request —— 请求对象,用于执行与请求相关的所有操作,它维护一个请求域
response —— 响应对象,用于执行与响应相关的所有操作
session —— 会话对象,表示客户端与服务器的会话周期,用于进行会话保持操作,它维护一 个会话域
application —— 工程对象,表示当前工程,可以对当前工程属性进行操作,它维护了一个工程 域 web工程中的四大域(由上到下域范围依次增大):
- 页面作用域
- 请求作用域 :一般用来存储需要被同个请求共享的数据。
- 会话作用域 :一般用来存储需要被多个请求共享的数据,比如用户登录信息。
- 工程作用域