理解C/S和B/S架构及其优缺点
B(Browser)/S(Server):网站
优点:
- 不需要更新(服务器端更新 客户端基本不受影响 刷新一下可能就更新了)
- 跨平台 只需要有浏览器 就可以使用。(write once ,run anywhere)
缺点:
- 所有的压力全都在服务器 ( 每一次请求数据 全都需要去服务器重新加载一次 ) 受带宽影响比较大
- 在渲染方面 比较差(因为带宽)
- 在安全性方面 比较差(很多和钱有关 或者 比较重要的网站 都需要单独下载安全控件)
C(Client)/S(Server):桌面的程序
缺点:
- 服务器更新,客户端必须要随之更新。(省流更新/补丁更新)
- 每个平台都得适配 (为了一个应用需要开发n套程序)
优点:
- 所有的压力主要承载到了客户端,服务器大大降低了负载。
- 在渲染方面 它要更强一些
- 在安全性方面 要更强
我们想要访问B/S架构的程序(网站),首先需要打开浏览器。
然后在浏览器上输入对应程序的URL。
URL(Uniform Resource Locator) 统一资源定位符。它就是网站的服务器/资源地址。
**组成:**http://主机地址/资源地址/xxx?参数信息
**http / https(加密):**超文本传输协议
Hyper Text Transfer Protocol 交通规则
**主机地址:**主机名/域名/IP地址:端口号 通过它就能绝对的找到一个唯一的计算机 并且找到计算机中唯一的那个程序。
**域名和IP地址的关系:**最开始在网上寻找某台计算机你需要记录一个很长的二进制地址,非常麻烦,所以后来引出了一个十进制的数值,这个数值就是IP地址。例如:192.168.16.131 但是IP地址也没有那么好记忆,所以后来我们的网络服务提供商(联通、移动、电信…) 它们提供了一个DNS(域名解析)服务器,当你输入一个域名时候,它就可以将此域名解析成对应的IP地址。(这个IP地址和域名是需要备案和绑定)
**端口号:**程序运行时占用的 必须唯一绑定。 HTTP协议默认端口号为80
**参数信息:**当我们GET请求时 参数会以key=value的形式传递
常见的HTTP状态码:(用来标识你的请求状态)
200:OK 请求成功
404:Not Found 资源找不到
304:Not Modified 请求未改变 加载的是缓存 Ctrl+F5(强制刷新)
500:服务器错误(一般都是代码写错)
401:未经授权
1. 掌握Tomcat的环境搭建和使用
1.1 了解主流的web服务器
服务器(硬件):
在公网上用来运行特别的程序,或者此程序需要的运行环境的,能够给广大用户提供服务的一台计算机。
一般配置比较高,同样也有人专门进行维护(运维)。
服务器(软件):
如果只有硬件那么用户也是无法访问资源内容,例如使用ServerSocket技术提供接受请求并处理然后响应的能力。
但是ServerSocket技术太接近于底层了,所以有团队和组织已经将这些东西直接封装好了(开发了成熟的产品),我们只需要将此类软件部署在服务器硬件上,启动之后就可以面向用户提供服务了。
主流的服务器:
- Apache 静态服务器
- Nginx 静态服务器
- Jetty
- Jboss
- WebLogic
- Tomcat
- …
1.2 掌握Tomcat环境搭建
- 下载8.5 https://tomcat.apache.org/download-80.cgi
- 解压zip文件
- 启动bin目录下的
startup.bat
- 在浏览器的地址栏输入
localhost:8080
Tomcat默认端口号为8080
- bin目录下的
shutdown.bat
关闭服务器 / 直接关闭窗口
安装目录介绍:
-
bin 可运行的批处理文件
- startup.bat/sh
- shutdown.bat/sh
- catalina.bat/sh
-
conf 服务器的配置文件
- server.xml 服务器配置信息
- web.xml 服务器内项目的配置信息
- context.xml 服务器内资源的配置信息
-
lib 服务器运行所需要一些相关jar库/包
- el-api.jar
- jasper.jar
- jasper-el.jar
- jsp-api.jar
- servlet-api.jar
- tomcat-dbcp.jar
- tomcat-jni.jar
-
logs 服务器日志文件夹
- catalina.日期.log 服务器运行相关信息
- localhost_access_log.日期.log 服务器访问信息
-
temp 服务器在运行时需要的临时文件存储目录
-
(重要)webapps :web项目存放的目录
-
work: 它和JSP有关,JSP翻译的代码会存储在这里
1.3 掌握Tomcat的常用配置使用
-
端口号修改:
在安装目录conf下的server.xml中修改端口 (第69行)
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
-
修改欢迎页:
在conf目录下的web.xml中的最后一块
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
1.4 Tomcat部署项目
- 找到
webapps
目录
- 除了ROOT目录之外,我们可以在webapps目录下新建一个文件夹(英文)
- 将你的项目资源统一放在其中即可
- 届时可以在浏览器地址栏中输入完
localhost:8080
之后继续去写你项目所在的webapps目录下的位置
- 假如你的项目是在webapps目录下的一个
test
目录中,访问时需要以localhost:8080/test/
前缀
- 你可以在你项目文件夹内新建一个
WEB-INF
目录,里面可以新建一个web.xml用于存储你这个项目应用的具体配置,它的优先级比服务器conf目录下的web.xml高。
http://localhost:8080/项目名/访问的文件名
2. 掌握Eclipse创建web项目
- 为了能够使服务器部署项目时正常被我们所观察,我们需要将其默认的配置目录进行更改,如下。(Ctrl+S)
修改路径需要注意 首先 clean所有的项目 然后进行修改启动
其实你修改的是tomcat config目录下的server.xml
是在服务启动之前进行修改
也可以在这里修改 你的项目 右键
- 接下来可以将我们的项目放到此服务器中了
- 右键服务器 -> add and remove -> 添加项目
- 启动服务器(start)
3. 掌握JSP的基本使用
3.0 了解动态网页技术
传统的静态网页技术无法满足动态数据的需求,我们的HTML无法嵌入数据库查询的代码,所以我们需要将HTML结合Java代码进行使用,那么产生了JSP(Java Server Pages)
Java服务器页面。 HTML + Java = JSP。
扩展名.jsp
,在Eclipse创建JSP小心编码。(window -> 首选项 -> jspfiles -> encoding)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
</body>
</html>
3.1 掌握JSP的指令
<!-- page指令是用来配置JSP页面的信息的,它可以出现多次,也可以出现在任意位置,一般放在头部
language:标识此JSP页面可以嵌套的脚本语言
contentType:设置响应头信息
pageEncoding:设置本页面的编码
import:导入本页面Java代码所需要的包
-->
<%@ page language="java" contentType="text/html; charset=UTF-8" import=""
pageEncoding="UTF-8"%>
<%@include %>
<%@taglib %>
3.2 掌握JSP的脚本
<% Java代码 %>
能写一部分Java代码,但是无法定义方法,它可以定义在JSP页面的任意位置。
它的代码是被放到了JSP转成的.java文件的_jspService方法内。
out.write(); // 输出字符串 或者 HTML代码
out.print(); // 输出任何数据类型
3.3 掌握JSP的表达式
<%=Java代码 %>
它的代码是被放到了JSP转成的.java文件的_jspService方法内。
3.4 掌握JSP的声明
<%! Java代码 %>
能写一部分Java代码,但是虽然能定义方法,却不能调用方法。
它的代码是被放到了JSP转成的.java文件的成员位置。
3.5 理解并掌握JSP的执行原理
Java代码想要运行:.java -> .class才能运行
**Tomcat中的work目录(它和JSP有关):**存储着JSP翻译后的内容。
JSP在运行的时候,需要经历三个步骤。
- 翻译:JSP本质上是一个模板,到时候Tomcat中的一个Jasper程序会对这个模板进行翻译,翻译成一个Java类。如果内容改变了,需要重新进行翻译。
- 编译:翻译好的Java类要进行编译
- 运行:编译好的字节码文件要运行 执行结果就可以展示给你了!
JSP当在第二次或更多次访问的时候,Tomcat如果发现它没有改变,直接拿曾经的.class文件执行即可。而如果发现改变了内容,会重新进行上述操作。