JavaWeb (day8)

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 地址
image.png

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 的图片打开如下:

image.png

7.软件体系结构

常见的软件系统体系结构 B/S 、C/S
1、 C/S

  • C/S 结构即客户端/服务器 (Client/server),例如 qq
  • 需要编写服务器端程序,以及客户端程序
  • 缺点:软件更新时需要同时更新客户端和服务器端,比较麻烦
  • 优点:安全性比较好

2、B/S

  • B/S 结构即浏览器/服务器(Browser/Server);
  • 缺点:只需要编写服务器端程序
  • 缺点:安全性比较差
    web 资源
  • html:静态资源
  • JSP/servlet:动态资源(需要先转换成静态资源再被浏览器识别)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,907评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,546评论 1 289
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,705评论 0 238
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,624评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,940评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,371评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,672评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,396评论 0 195
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,069评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,350评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,876评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,243评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,847评论 3 231
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,004评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,755评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,378评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,266评论 2 259

推荐阅读更多精彩内容

  • 软件体系结构 常见的软件系统体系结构 B/S 、C/S 1、C/S C/S 结构即客户端/服务器 (Client/...
    Like_c1dc阅读 530评论 0 0
  • 工作流程 一次HTTP操作称为一个事务,其工作过程可分为四步: 1)首先客户机与服务器需要建立连接。只要单击某个超...
    保川阅读 4,490评论 2 14
  • Web应用程序 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。Inte...
    陈先森mansplain阅读 2,299评论 1 4
  • 本文整理自MIN飞翔博客 [1] 1. 概念 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或...
    HoyaWhite阅读 2,572评论 2 20
  • spring源码分析(七) 目录五、源码分析--5.8 Spring MVC 框架设计原理----5.8.1 Sp...
    毛子果阅读 335评论 0 0