1.web 服务器
web 服务器的作用是接收客户端的请求,给客户端做出响应。
Tomcat :当前应用最广的 javaweb 服务器
2.Tomcat 概述
Tomcat 服务器由 Apache 提供,开源免费。由于 Sun 和其他公司参与到 Tomcat 的开发中,所以最新的 JSP/Servlet 规范总能在 Tomcat 中体现出来。当前 最新的版本 Tomcat 8.0
3.Web 应用
静态应用:
1.在 webapps 目录下 创建一个目录(命名必须不包含中文和空格),这个目录称为项目目录;
2.在项目目录下创建 html 文件;
动态网站:
1.在 webapps 目录下 创建一个项目目录
2.在项目目录下创建如下内容:
- 创建 WEB-INF 目录
1>在 WEB-INF 目录下创建 web.xml 文件( web.xml 文件内容,我们可以去其他项目中借)- 创建静态或动态页面(index.xml)
4.idea 里面配置 javaweb 项目
https://www.cnblogs.com/cangqinglang/p/10027199.html
5.javaweb 配置外部应用
1.
conf/server.xml:打开 server.xml 文件,找到 <host> 元素,在其中添加 <Context> 元素,代码如下:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context path="hello-it" docBase="c:/hello"/>
</Host>
1》path:指当前应用的名称
2》 docBase:指当前应用的绝对路径
3》浏览器访问的路径
http://lacalhost:8080/hello-it/index.html
2.conf/catalana/localhost:在该目录下创建 itcast_hello.xml 文件,在该文件中编写 <Context>元素,代码如下:
<Context doBase="c:/hello"/>
1>文件名:指定当前应用名称
2> docBase:指当前应用的绝对路径
3>浏览器访问的路径
http://lacalhost:8080/itcast_hello/index.html
6.http 协议
协议:协议的甲乙双方,就是客户端和服务器!
理解成双方通行的格式。
- 请求协议
请求行
多个请求头信息:(头名称:头值)
空行
请求体 - 响应协议
响应行(协议/版本 状态码 状态码的解析)
响应头(key/value 格式)
空行
响应正文
4.请求头
Refere请求头
是一个比较有用的请求头,它可以用来做统计工作,也可以用来做防盗链
- 统计工作: 某公司网站在百度上做了广告,但不知道在百度上做广告对我们网站的访问量是否有影响,那么可以对每个请求中的 Referer 进行分析,如果 Referer 为百度的很多,那么说明用户都是通过百度找到我们公司网站的。
- 防盗链:某公司网站上有一个下载链接,而其他网站盗链了这个地址,这时我们可以使用 Referer 进行防盗链,在资源被下载之前,我们对 Referer 进行判断,如果请求来自本网站,那么允许下载,如果非本网站,先跳转本网站看广告,然后再允许下载。
5.响应头
响应头对浏览器来说很重要,它说明了响应的真正含义。
- 200: 请求成功,浏览器会把响应体体内容显示在浏览器中
- 404: 请求的资源没有找到,说明客户端错误的请求了不存在的资源
- 500:请求资源找到了,但服务器内部出现了错误
- 302:重定向,表示服务器要求浏览器重新再发一个请求,服务器会发送一个响应头 Location,它指定了新请求的 URL 地址

5.1其他响应头
1.告诉浏览器不要缓存的响应头:
- Expires:-1
- Cache-Control:no-cache
- Pragma:no-cache
2.自动刷新响应头,浏览器会在 3 秒后请求 http://www.itcast.cn:
Refresh:3;url=http://www.itcast.cn
6.java 画图
代码:
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FilterOutputStream;
import java.io.IOException;
public class image {
public static void main(String [] args) throws IOException {
//得到图片缓存区
BufferedImage bi=new BufferedImage(150,70,BufferedImage.TYPE_INT_BGR);
//得到它的绘制环境(这张图片的笔)
Graphics2D g2=(Graphics2D) bi.getGraphics();
//设置颜色
g2.setColor(Color.WHITE);
//填充整张图片(其实就是设置背景色)
g2.fillRect(0,0,150,70);
//设置边框线颜色
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("helloWord!",3,50);
//保存图片
ImageIO.write(bi,"JPEG",new FileOutputStream("E:/a.jpg"));
}
}
E 盘出现 a.jpg 的图片打开如下:

7.软件体系结构
常见的软件系统体系结构 B/S 、C/S
1、 C/S
- C/S 结构即客户端/服务器 (Client/server),例如 qq
- 需要编写服务器端程序,以及客户端程序
- 缺点:软件更新时需要同时更新客户端和服务器端,比较麻烦
- 优点:安全性比较好
2、B/S
- B/S 结构即浏览器/服务器(Browser/Server);
- 缺点:只需要编写服务器端程序
- 缺点:安全性比较差
web 资源 - html:静态资源
- JSP/servlet:动态资源(需要先转换成静态资源再被浏览器识别)
网友评论