美文网首页
JavaWeb (day8)

JavaWeb (day8)

作者: 定格r | 来源:发表于2019-04-23 19:25 被阅读0次

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:动态资源(需要先转换成静态资源再被浏览器识别)

相关文章

网友评论

      本文标题:JavaWeb (day8)

      本文链接:https://www.haomeiwen.com/subject/uvjzwqtx.html