java 动态网页_JavaWeb01-动态网页

01.动态网页的优势

动态网页是在服务器端运行的程序!随不同用户,不同条件 返回不同的结果!

001.交互性:网页会根据用户的要求和选择而动态的改变和现实网页内容!

002.自动更新:无需改变页面的代码,便会自动更新页面内容!

003.随机性:当不同的时间,不同身份的用户访问同一页面会产生不同的的页面效果!

02.动态网页是静态网页的替代品吗?

两者各有优点,选择哪种页面取决于网站功能的需求和内容的多少。如果网站的功能简单,内容少,采用静态网页的方式更合适!

反之,一般要使用动态网页!

03.B/S架构(Browser/Server 浏览器/服务器)

001.在B/S架构下,应用程序 完全 放在应用服务器上,并通过应用服务器与数据库服务器进行通信,系统界面通过浏览器展现。

002.B/S和C/S各自优势

B/S的优势:

维护和升级方式简单。C/S架构必须安装和配置客户端软件。如果系统需要更新,必须对每一个客户端都进行更新!

B/S架构中,软件应用的业务逻辑完全在服务器端实现,所有的客户端只是浏览器,不需要维护!(升级浏览器需在客户端进行)

维护人员只需要关注服务器端软件的软件更新!

C/S的优势:

B/S的界面没有C/S的友好,很难做出像office这样界面丰富的软件。

在速度和安全性上需要花费巨大的设计成本!

由于B/S架构的交互是 请求/响应 模式的,一旦数据信息发生变化,必须通过刷新页面才能看到更新的数据信息!

C/S架构一般面向固定的用户群,一般高度机密的信息系统采用C/S架构!

B/S架构适用于公开信息发布,对信息的保密性要求较低的情况!

003.B/S架构的工作流程

01.浏览器接收用户的输入

02.浏览器向服务器发送请求,等待服务器响应(此请求先到应用程序服务器,再到数据库服务器!)

03.数据处理:服务器通常使用服务器脚本语言(Java等)进行数据库访问

04.服务器向浏览器发送响应!(如动态生成的html页面,并有浏览器进行渲染后展现给用户!)

04.URL(Uniform Resource Locator) 统一资源定位符!

01.URL用于完整的描述Internet上网页和其他资源的地址的一种标识方法!(简单说URL就是网址!)

02.在Internet上所有资源都有一个独一无二的URL!

03.URL的组成! http://localhost/news/index.jsp

协议:http ==> HyperText Transfer Protocol 超文本传输协议!

https ==> 安全的! safe

该协议支持简单的 请求/响应对话!对于Web服务器是最常用的协议!

服务器域名 IP:localhost

端口号:

端口是用于服务器内外部通信的通道!当外部访问服务器时就需要通过指定的通道来访问!

为了避免复杂的ip地址,通常用域名来代替!例如百度ip为 202.108.22.5 域名为baidu.com

路径:

包含两层含义!

例如news/index.jsp

news是指Web应用程序 对外发布时 对应的上下文路径!即Web应用的根目录!index.jsp代表具体的资源!

05.常用的Web服务器(Web容器)

001.Tomcat

002.JBoss

003.Jetty

06.Web应用的目录结构

/ :根目录,该目录下的所有文件 对客户端都可以访问!(jsp html css js ..)

/WEB-INF:存放应用程序所使用的各种资源,该目录及其子目录对客户端 不可以访问!(其中包括web.xml 部署描述符)

/WEB-INF/classes :存放应用程序 所有的class文件!

/WEB-INF/lib : 存放Web应用使用的 jar文件!

注意:01.Tomcat运行过程中,Tomcat类加载器会先加载 classes目录下的class文件!然后再加载 lib目录下的 jar文件!

如果在这两个目录下存在同名的类,那么classes目录下的类具有优先权!

02.每个JavaWeb应用都有一个核心文件 即web.xml !(保存在WEB-INF目录下!)

web.xml 控制整个应用程序的行为方式和方法!

03.修改web.xml后,需要重启Web服务器!

04.web.xml 文件中的标签用于设定web应用的起始访问页面列表!

用于指定某一具体页面!

index.jsp

...

07.JSP页面 Java Server Page(Java服务器端的页面)

01.JSP技术是在 html页面中嵌入 Java脚本语言,然后由应用程序服务器中的 JSP容器来编译和执行 之后将产生的结果返回给客户端!

02.JSP的组成:

静态内容

JSP指令

JSP表达式

JSP小脚本

JSP声明

注释等元素构成!

001.静态内容:如 html文本 与Java和JSP的语法无关!

002.JSP指令元素:

例如 01.page指令,在一个JSP页面中可以多个page指令!page指令只对 当前页面有效!

page指令的属性:

import="java.util.*"

language="java"

contentType="text/html;charset=utf-8"

contentType属性告诉web容器在客户端浏览器上以哪种格式/编码 显示“响应”的内容!

02.include指令 等

003.JSP脚本元素:

小脚本

表达式 不能在表达式结尾加分号 “;” !

声明 用来定义方法/变量 (都是全局的!)

004.JSP注释: 在客户端浏览器通过查看源码 是看不到的! (安全的!)

html注释: 查看源码可以看到!(不安全的!)

在JSP脚本中使用注释: 多行 查看源码看不到!(安全的!)

08.JSP 执行过程! *****

当请求发送至服务器,web容器通过三个阶段实现处理!

01. 翻译阶段!

用户通过浏览器访问jsp时,web容器(tomcat)中的 jsp引擎 负责把jsp 转化为 java文件

001.jsp声明 ==> java文件中的成员方法!

002.jsp脚本 ==> java文件中 _jspService()方法中的一段代码!

003.jsp表达式 ==> java文件中 _jspService()方法中的一段代码! out.print(表达式);

004.普通html代码 ==> _jspService()中一段out代码! out.print("html标签");

02. 编译阶段!

服务器将java文件编译成 class文件

03.执行阶段!

服务器执行 class文件!

001. 首先对生成的java类进行实例化!

002.调用实例化后的 对象._jspService() 输出 html 给浏览器!

注意:无论请求的URL 是 html 还是jsp 服务器响应回来的都是 html (jsp ==> html的过程发生在服务器内部!)

04. 浏览器 渲染html数据 显示给用户!

注意:一旦web容器把jsp文件翻译和编译完成。web容器就会将 编译好的 class字节码文件保存在 内存中!

当用户再次请求相同的jsp时, 就可以 重用 这个编译好的class字节码文件!而不会把jsp重新翻译编译!

这样做大大提升了 web应用程序的性能!(请求后服务器直接运行class文件!)

但如果对jsp进行了修改,web容器就会重新 翻译编译!

综上所述,jsp在第一次请求时会比较慢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值