Java Web知识必备

Java Web知识必备

web概念回顾

  • 软件架构
    1. C/S : 客户端/服务端
    2. B/S : 浏览器/服务端
  • 资源分类
    1. 静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源。静态资源可以直接被浏览器解 析如:html,css,JavaScript
    2. 动态资源:每个用户访问相同资源后,得到的结果可能不样。称为动态资源。动态资源被访问后,需要转为静态资源如:servlet,jsp,php
  • 网络通信三要素
    1. IP
    2. 端口号
    3. 传输协议
      Java Web知识必备_第1张图片

web服务器软件

  • 服务器:安装了服务器软件的计算机
  • 服务器软件:接收用户的请求,处理请求,做出响应
  • web服务器软件:接收用户的请求,处理请求,做出响应
    • web 服务器软件中,可以部署web项目,让用户通过浏览器来访问这些项目
    • web容器
  • 常见java相关的web服务器软件
    • Tomcat:Apache基金组织
      • Tomact文件
        Java Web知识必备_第2张图片
      • Tomact启动:
        • bin/startup.bat,双击运行该文件即可
        • 访问:浏览器输入:http://127.0.0.1:8080 回车
      • 配置:
        • 直接将项目放到webapps下即可
        • 简单部署:将项目打包成一个war包,再将war包放置webapps目录下,war包会自动解压

Servlet:server applet

  • 概念:运行在服务器的小程序
    • Servlet就是一个接口,定义了JAVA类被浏览器访问到(tomact识别)的规则
    • 将来我们自定义一个类,实现Servlet接口,复写方法
  • 快速入门
    1. 创建JAVA EE项目
    2. 定义一个类,实现Servlet
    3. 实现接口中的抽象方法
    4. 配置Servlet(在web.xml)

HTTP:

概念:Hyper Text Transfer Protocol 超文本传输协议
* 传输协议:定义了,客户端和服务端通信时,发送数据的格式
* 特点:
1. 基于TCP/IP的高级协议
2. 默认端口号:80
3. 基于请求响应模型:一次请求一次响应
4. 无状态:每次请求之间相互独立,不能交互数据
请求消息数据格式
1. 请求行
请求方式 请求URL 请求协议/版本
GET /login.html HTTP/1.1
* 请求方式:
* HTTP协议有七种请求方式,常用有两种
* GET:
1. 请求参数在请求行中,在URL后
2. 请求的URL长度有限制
* POST:
1. 请求参数在请求体中
2. 请求的URL长度没限制的
2. 请求头:客户端浏览器告诉服务器,访问使用的浏览器的信息
3. 请求空行:用于分割POST请求的请求头和请求体的
4. 请求体:封装POST请求信息的请求参数

Request :

    1. Request对象和Reponse对象是由服务器创建的我们来使用它们
    2. Request对象是来获取请求消息,Response对象是来设置响应消息
  • Request功能
    1、获取请求行数据
    2、获取请求头数据
    3、获取请求体数据

请求行

String method = req.getMethod();//获取请求方式
        System.out.println(method);
        String contextPath = req.getContextPath();//获取虚拟路径
        System.out.println(contextPath);
        String servletPath = req.getServletPath();//获取Servlet路径
        System.out.println(servletPath);
        String queryString = req.getQueryString();//获取请求参数
        System.out.println(queryString);
        String requestURI = req.getRequestURI();//获取请求的URI
        System.out.println(requestURI);
        String protocol = req.getProtocol();//获取协议鸡版本
        System.out.println(protocol);
        String remoteAddr = req.getRemoteAddr();//获取客户机的ip地址
        System.out.println(remoteAddr);

请求头

public class RequestDemo04 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //获取数据头
        String header = req.getHeader("user-agent");
        if(header.contains("Chrome"))
        {
            System.out.println("Chrome");
        }
        else if(header.contains("Firefox"))
        {
            System.out.println("Firefox");
        }
    }

请求体

  • 只有POST方式才有请求体,在请求体中封装了POST的请求的请求参数
  • 步骤
    • 获取流对象
    • 再从流对象中拿数据

BeanUtils工具类,简化数据封装

  • JAVABean:标准的JAVA类
    • 要求
      • 类必须被public修饰
      • 必须提供空参的构造器
      • 成员变量必须使用private修饰
      • 提供公共setter和getter
    • 功能:封装数据
    • 操作的是属性而不是成员变量

ServletContext对象:

  1. 概念:代表整个web应用,可以和程序的容器(服务器)来通信
  2. 获取:
    • 通过request对象获取
      • request.getServletContext()
  3. 功能:
    1. 获取MIME类型
    2. 域对象:共享数据
    3. 获取文件的真实路径
      持续更新~~~

你可能感兴趣的:(java,前端,开发语言)