静态网页——
没办法登录、搜索,对网页内容实时更新,只能做到简单的页面展示。
动态网页——
能和真实数据产生交互,可以根据用户不同的输入或操作,结合实际数据返回不同网页。
如何保存业务数据?如何实现业务数据的动态展示?
掌握B/S模式的运行原理:
先说下,什么是C/S模式:Client Server
1、本地有一个客户端;
2、远程有一个服务器端;
3、这种客户端与服务器交互运行的模式称之为C/S模式。
分工:
客户端——保存有初始的操作界面、素材(图片,样式,本地数据库文件,本地缓存等);
服务器端——保存有每个用户的核心数据。
同时存在的一些缺点:
1、升级较为繁琐;
2、消耗系统资源;
再来提B/S模式:Browser Server
程序完全部署在服务器上
(浏览器请求服务器)
B/S与C/S对比互有优劣:
1、B/S只需一个客户端——浏览器;C/S需要安装专门客户端。
2、B/S实现客户端零维护;C/S需要单独维护和升级指定的客户端。
3、B/S与操作系统平台关联较小;C/S对系统有较大的限制。
在补充一两点B/S的优点:更新灵活、节省系统资源
以上好像说的都是B/S的优势,那C/S就一点优点都没有了嘛?——不可能
在响应速度以及处理事务的能力,B/S不及C/S高、快。
同时B/S对安全性的提升需要消耗更多的成本。
下一点:
B/S模式的工作原理:
用户输入-->浏览器客户端发送请求-->应用服务器接受并运行程序-->访问数据库服务器-->返回指定数据到应用服务器-->应用服务器返回检索到的信息返回浏览器客户端-->浏览器解释执行HTML文件显示给客户
要提点一句就是,C/S模式同样也采用请求/响应模式进行交互。他们有什么不同的吗?
B/S是将所有的程序资源都部署在服务器端,所以当用户请求发送到服务器端后,服务器返回的将是包含所有文字、图片、视频等等的全部资源组成的HTML文件。C/S需要返回核心数据即可。
Uniform Resource Locator——统一资源定位符
协议部分:
一般来说只有两个协议:
‘http’和‘https’——超文本传输协议。
这里的‘s’指的是safe,也就是安全的‘http’协议。
IP地址部分:
主机IP地址可用域名替代。
项目资源地址部分:
项目名/文件位置.后缀
作用:运行 Web 项目的平台——应用服务器
官网:http://tomcat.apache.org/
同类型软件:jetty、jboss
功能:
1、接收URL请求
2、返回数据到浏览器
/bin ——存放各种平台下用于启动和停止 Tomcat 的脚本文件(sh是Linux平台,bat是windows平台)
/conf——存放Tomcat服务器的各种配置文件
/lib——存放Tomcat服务器所需的各种 JAR 文件
/log——存放Tomcat日志记录
/temp——Tomcat运行时用于存放临时文件
/webapps——核心目录:发布 Web 应用时,将 Web 应用的文件存放于此
/work——由 JSP 生成的Serverlet 放于此目录
至于服务的开启,就是依赖于以上的两个批处理脚本。(sh是Linux平台,bat是windows平台)
第一次,第一次,我开启的时候顺手就将那个开启小窗口关了,然后在浏览器地址栏里写 lacalhost:8080。对于网页找不到很是无奈,结果才发现,那个黑屏小窗口关掉同时也是 Tomcat 服务器的关闭……
当然以上是处于不适用编译器的情况下。
/conf/server.xml 目录下的
编写 Web 应用代码-->将项目打包到 webapps 目录下-->启动 Tomcat 服务然后进行访问
/:根目录——所有文件(HTML/JSP/js/css等)客户端都可以访问
/web-inf——该目录及其子目录下的所有文件客户端都不能访问,最典型的例子就是 web.xml
/web-inf/classes——存放 class 文件
/web-inf/lib——存放 jar 文件
如图,在 web.xml 配置文件的 welcome-file-list 节点中的 welcome-file 标签里写入欢迎页文件名。
再如图, welcome-file 标签允许同时存在多个,但是它会从上到下一一寻找显示最上一个可以访问的页面。
还有一点注意:在修改配置文件后,需要重开 Tomcat 服务使修改生效。
JSP(Java Server Pages)——在HTML中嵌入 Java 脚本代码,使 Java 和HTML相结合
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ %> 有个@符号的,叫做指令
language:指定 JSP 页面使用的脚本语言——目前默认值,可选值都是 Java。正是因为给定了这个属性值我们才能够在 html 页面中写入 java 代码。
import:引用脚本语言中使用到的类文件。——如这里的 "java.util.*" (导入多个包使用‘,’逗号隔开)
contentType:用于指定JSP页面运行结果的类型,也就是浏览器展示 html 内容需采用的编码格式。
pageEncoding:——与contentType属性中的字符编码设置作用相同,表示本网页使用了 utf-8 编码
同时,page 指令可以使用多个尖括号,如:
<%@ page import="java.text.SimpleDateFormat"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
这样书写也是没有问题的。
<% %>这个叫做小脚本,是写java代码的
<%= 表达式 %>
<%-- 注释 --%>
<%! 声明 %>,一般写方法(函数)、变量,并且声明的内容都是全局的。
1:翻译阶段:接收 JSP 请求后,将 jsp 文件转换成 java 文件
2:编译阶段:将 java 源文件编译为 class 文件
3:执行阶段
最后将生成的 html 页面返回到客户端浏览器显示。