一.常见软件系统
1.常见软件系统体系结构
(1).C/S
A.定义:C/S结构即客户端/服务器(Client/Server)例如QQ,需要编写服务器端程序 ,以及客户端程序,例如我们安装的就是QQ的客户端程序
B.缺点: 软件更新时需要同时更新客户端和服务器端两端比较麻烦
C.优点: 安全性比较好
(2).B/S
A.定义:B/S结构即浏览器/服务器(Browser/Server)
B.缺点: 安全性较差
C.优点: 只需要编写服务器端程序
2.Web资源
(1).Web资源介绍
A.html:静态资源 浏览器可以看得懂!它可以有变量
B.JSP/Servlet:动态资源 需要先转换成html,再给浏览器看
C.除Javaweb程序 还有其他Web程序 例如: ASP PHP等
(2).动态资源与静态资源的区别
(3).访问Web资源
打开浏览器 输入URL 协议名://域名:端口/路径 例如http://www.baidu.com:80/index.html 因为浏览器的默认端口号为80 所以只需要输入http://www.baidu.com/index.html
3.Web服务器
(1).作用:Web服务器的作用是接收客户端的请求 给客户端作出响应
(2).分类:
A.Tomcat(Apache):当前应用最广的JavaWeb服务器
B.JBoss(Redhat红帽): 支持JavaEE 应用比较广;EJB容器
C.Resin(Caucho): 支持JavaEE
D.Weblogic(Orcale):要钱的 支持JavaEE
二.Tomcat
1.Tomcat概述
(1).打开方式:进入Tomcat文件夹下面的bin目录下面打开startup.bat
(2).关闭方式:进入Tomcat文件夹下面的bin目录下面打开shutdown.bat
2.修改端口号
(1).修改方法:进入Tomcat文件夹下的conf/server.xml 把图下8080处改成其他端口号即可 端口号是小于等于65535的 一般我们都是设置端口号为80
3.Tomcat目录结构
三.Web应用
1.静态网站
在webapps目录下创建一个目录(命令必须不包含中文和空格) 这个目录称之为项目目录
在项目目录下创建一个html文件
2.动态网站
在webapps目录下创建一个项目目录
在项目目录下创建如下内容
WEB-INF目录:在WEB-INF目录下创建web.xml文件 web.xml文件的内容 我们可以去其他项目中借
创建静态或动态页面
3.配置虚拟主机
A.修改端口为80
B.绑定ip地址 和 网址的关系
C.server.xml文件中添加一个主机
四.Http协议
1.协议的定义
协议的甲乙双方 就是客户端(浏览器)和服务器 理解成双方通信的格式!
2.请求协议
请求行
多个请求头信息:头名称:头值
空行
请求体(get请求没请求体 但还是有空行)
3.响应协议
响应行(协议/版本 状态码 状态码的解析)
响应头(key/value格式)
空行
响应正文(html)
- Server:服务器信息
- Date:响应时间
- Content-Type:响应内容的MIME的类型
4.个别请求头介绍
- Referer:如果直接在地址栏上输入地址进入就没有Referer,点击链接进入Referer就返回的是http://www.baidu.com 如下代码所示:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="http://www.baidu.com">百度</a>
</body>
</html>
点击超链接进入百度,就会出现一个请求头
注意:Referer请求头是比较有用的一个请求头 它可以用来做统计工作 也可以用来做
防盗链
- Content-Length:13 请求体的长度为13
- Content-Type:application/x-www-form-urlencoded:表单的数据类型 说明会使用url格式编码数据 url编码的数据都是以”%”为前缀 后面跟随两位的16进制 比如:%E4
- keyword=hello: 请求体内容!hello是在表单中输入的数据 keyword是表单字段的名字
5.个别响应头介绍
响应协议的格式如下:
响应首行
HTTP/1.1 200 OK 响应协议 状态码 对状态码的解释
200(请求成功)
404(请求资源没有找到 说明客户端错误的请求了不存在的资源)
500(请求资源找到了 但服务器出问题了)
302(重定向 表示服务器要求浏览器重新再发一个请求 服务器会发送一个响应头Location 它指定了新请求的
URL地址)
304(比较If-Modified-Since的时间与文件真实的时间一样时,服务器会响应304 而且不会有响正文 表示浏览器缓存的就是最新版本!)
对响应码基本可以解释为:错误为5开头的一般都是服务器的问题,错误为4开头的一般都是客户端的问题
响应头信息
空行
响应体
- 其他响应头
- Expires:-1;
- Cache-Control:no-cache;
- Pragma:no-cache;不缓存
- Location:302设置重定向
- 自动刷新响应头 Refresh:3;url=http://www.baidu.com 3秒自动跳转
这里就是可以设置响应头的位置