1、常见软件系统体系结构 B/S C/S
C/S:客户端/服务器
-- 需要编写服务器端程序,以及客户端程序,eg:qq客户端程序
缺点:软件更新时需要同时更新客户端和服务器。
优点:安全性高
B/S:浏览器/服务器
优点:只需要编写服务端程序
缺点:安全性差
2、WEB资源
web资源介绍
html:静态资源 --浏览器看的懂
JSP/Servlet: 动态资源 --需要转化为静态,使浏览器看的懂
动态资源可以有变量。
3、web服务器 作用: 接收客户端的请求,给客户端作出回应。
4、tomcat文件解释
bin:可执行文件
conf:配置文件(四个)
server.xml 配置服务器信息 eg:修改端号等
tomcatuser.xml : tomcat用户文件
web.xml: Web应用程序描述文件
Context.xml :Tomcat 公用的环境配置
lib: 库文件 jar包存放
logs:tomcat日志文件
webapps: web程序存放
temp:临时文件
work:自动生成文件
web应用:
静态页面:
1)在webapps目录下创建一个项目目录(命名不能包含中文和空格)
2)在项目目录下创建一个html文件
动态网站:
1)在webapps目录下创建一个项目目录(命名不能包含中文和空格)
2)在项目目录下创建如下内容
a:WEB-INF目录 (此文件不允许浏览器访问)
方式1、-- WEB-INF目录下创建web.xml文件
1.web.xml 内容可从ROOT --> WEB-INF -->web.xml 中复制。
2.只保留文档声明、和根元素部分
方式2、-- MyEclipse下创建web项目(需要复制其下的WebROOT目录)
使用tamcat服务器自动添加
b:创建动态或静态页面。
动态页面后缀: .jsp
配置外部应用:
若项目不在webapps中 ,则需要自己配置
两种方式:插图。
配置虚拟主机
可以从浏览中访问到项目,而不是访问本地项目
步骤:
1)在server.xml中修改端口号为 80
2)在本机上解析域名为 127.0.0.1
需要打开C:WINDOWS\system32\drivers\etc\hosts文件
在最后一行添加: 127.0.0.1 www.xxxx.com
3)在server.xml中添加
<Host name="www.xxxx.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
</Host>
4)重启tomcat,登录即可
Http协议:
客户端与浏览器之间的协议。 理解:两方之间通信的格式
分为:
请求协议:浏览器发给服务器的信息。
响应协议: 服务器对浏览器的回应。
HttpWatch -- 网页数据分析工具(抓包)
功能:查看及分析HTTP请求。
Cookie、请求参数、请求头信息、响应头信息、响应状态、响应正文等内容。
协议分析:
POST请求有请求体,get不能有请求题
referer: 可以做统计统计与防盗链
请求行: 多个请求头 -- 头名称:头值 相当于键值对
请求头:
****User-Agent: 使用者浏览器信息
**Host: 主机名
**Accept-Language:表示可接受的语言 zh-CN(中文)en-US(英文)
Accept: 表示支持格式
Accept-Encoding:支持编码
Connection: 连接情况 Keep-Alive : 短状态连接(连接一小会)
空行
请求体
响应行(协议/版本 状态码 状态码解析)
状态码:
200 表示成功、
302 重定向 指定新的url地址
304 表示浏览器此刻缓存版本就是最新页面。
原理:比较last-Modified和if-Modified-Since,若相同,则响应304,表示浏览器
404 请求资源未找到
500 资源找到了服务器内部错误(代码异常)
响应头 (key/value格式)
Content-Type:响应的MIME类型(媒体类型 --文本,图片等)
last-Modified:最后修改时间
if-Modified-Since: 把第一次请求页面最后修改时间还给服务器
Refresh:3;url=http:www.xxx.com 表示三秒后进入url地址
keywords:搜素引擎优化,方便被搜索到
不缓存 ---下面三行合起来表示的
Expires:-1;
Cache-Control:no-cache
Prama:no-cache
空行
响应正文
用java画图
知识点:
Graphics2D类
提供对几何,坐标变换,颜色管理和文本布局的更复杂的控制
public static void main(String[] args) throws FileNotFoundException, IOException {
//得到图片缓冲区 参数为 宽 高 颜色
BufferedImage bi = new BufferedImage(150, 70, BufferedImage.TYPE_INT_RGB);
//得到绘制环境 (画图的笔)
Graphics2D g2 = (Graphics2D) bi.getGraphics();
//设置背景
g2.setColor(Color.green); //设置颜色
g2.fillRect(0, 0, 150, 70); //填充图片 参数为 x y 宽 高
//设置背景边框
g2.setColor(Color.RED);
g2.drawRect(0, 0, 150-1, 70-1);
//设置字体样式 参数分别为 格式 ,类型,大小
g2.setFont(new Font("宋体",Font.BOLD,18));
g2.setColor(Color.black); //设置字体颜色
//将字符串添加到图片上
g2.drawString("HelloWorld", 3, 50);
//保存图片 参数分别为 图片缓冲区 图片格式 图片存放路径
ImageIO.write(bi, "JPEG", new FileOutputStream("E:/a.jpg"));
}
}