目录

  • 关键词
  • 学习目标
  • java简史
  • jdk-下载和安装
  • java-特点
  • eclipse安装
  • http协议
  • http1.1协议请求消息结构
  • http1.1协议响应消息结构
  • HTTP状态码
  • REST
  • Java Web
  • 练习1:java基础算法
  • 二分法查找运行结果截图
  • TestSearch.java二分法查找代码
  • 冒泡算法运行结果截图
  • BubbleSort.java冒泡算法代码
  • 练习2:搭建java web项目写一个servlet
  • 运行结果截图
  • 工程截图
  • HelloWeb.java代码


关键词

  • 静态资源和动态资源
  • 同源策略和跨域
  • 同源概念:
  • 协议、域名、端口相同,则表示他们同源。
  • 同源策略只对限制js来读写其他域的dom数据做了限制,对加载的其他静态资源如javascript、css、图片等仍然认为属于同源。

学习目标

  1. java开发环境搭建
  2. http协议
  3. Java web概述与工程创建

java简史

  • 1995年,SUN发布JAVA
  • 2009年,甲骨文公司宣布收购Sun
  • 2010年,Java共同创始人之一詹姆斯*高斯林从Oracle公司辞职
  • 2011年,Java7正式发布
  • 2014年,发布了Java8正式版

jdk-下载和安装

JDK版本已至13,目前仍以JDK8使用最多

  1. 下载jdk8安装文件到本地
    https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  2. 安装并配置环境变量

java-特点

Java是一次编写到处运行,跨平台
java虚拟机JVM,运行字节码.class
java是一门面向对象编程语言,类和对象
栈、堆、方法区、运行时常量池

eclipse安装

  1. Eclipse是一个开放源代码的,基于Java的可扩展开发平台。Eclipse官方版是一个集成开发环境(IDE)。
  2. 解压即安装
  3. 配置jre

http协议

  • Hypertext Transfer Protocol,超文本传输协议
  • 浏览器和服务器之间进行“沟通”的一种规范
  • http是属于“应用层的协议”,基于TCP/IP协议
  • http无状态协议

HTTP1.0定义了三种请求方法:GET, POST和HEAD方法。
HTTP1.1新增了五种请求方法:OPTION, PUT, DELETE, TRACE和CONNECT方法。

http1.1协议请求消息结构

  • 一个完整的http请求消息,包含一个请求行,若干个消息头(请求头),换行,实体内容

http1.1协议响应消息结构

  • 一个http响应代表服务器端向客户端会送的数据,它包括一个状态行,若干个消息头,以及空行、实体内容。

HTTP状态码

  • HTTP Status Code
    1xx:指示信息–表示请求已接收、继续处理
    2xx:成功–表示请求已被成功接收、理解、接受
    3xx:重定向–要完成请求必须进行更进一步的操作
    4xx:客户端错误–请求有语法错误或请求无法实现
    5xx:服务器端错误–服务器未能实现合法的请求

常见状态码:
200 OK
201 ……(待补充)

REST

REST(Representational State Transfer):表述性状态转移
如果一个架构符合REST原则,则称它为Restful架构,轻量级,跨平台,跨语言的设计;

基于HTTP协议的url:https://ke.qq.com/course/402016

GET(SELECT):从服务器取出资源(一项或多项)。
POST(CREATE):在服务器新建一个资源。
PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
DELETE(DELETE):从服务器删除资源。

Java Web

  • Java Web,是用Java技术来解决相关web互联网领域的技术总和。
  • web包括:web服务器和web客户端两部分。现在浏览器可以作为一种客户端,只需开发服务器端。
  • 技术:servlet、jsp、tomcat
  • 在eclipse下新建web工程

练习1:java基础算法

二分法查找运行结果截图

java 测试cpu java 测试开发_web

TestSearch.java二分法查找代码

public class TestSearch {

       public static void main(String[] args) {
           int[] arr = new int[] { 11, 22, 33, 45, 66, 67, 77, 88, 90 };
           System.out.println(search(arr, 11));
           System.out.println(search(arr, 45));
           System.out.println(search(arr, 67));
           System.out.println(search(arr, 88));
           System.out.println(search(arr, 99));
       }

       public static int search(int[] arr, int key) {
           int start = 0;
           int end = arr.length - 1;
           while (start <= end) {
               int middle = (start + end) / 2;
               if (key < arr[middle]) {
                   end = middle - 1;
               } else if (key > arr[middle]) {
                   start = middle + 1;
               } else {
                   return middle;
               }
           }
           return -1;
       }
}

冒泡算法运行结果截图

java 测试cpu java 测试开发_http_02

BubbleSort.java冒泡算法代码

public class BubbleSort {

  public static void main(String[] args) {
    int[] array={2,8,9,1,10,31,0};
    getSortD_X(array);
    getSortX_D(array);
  }
  public static void getSortD_X(int[] array){
    for (int i = 0; i < array.length; i++) {
      for(int j=0;j<array.length-1;j++){
        if(array[i]>array[j]){
          int temp=array[i];
          array[i]=array[j];
          array[j]=temp;
        }
      }
    }
    System.out.print("从大到小:");
    for (int i = 0; i < array.length; i++) {
      if(i==array.length-1){
        System.out.println(array[i]);
      }else{
        System.out.print(array[i]+",");
      }
    }
  }
  public static void getSortX_D(int[] array){
    for (int i = 0; i <array.length; i++) {
      for(int j=0;j<array.length-i-1;j++){
        if(array[j]>array[j+1]){
          int temp=array[j];
          array[j]=array[j+1];
          array[j+1]=temp;
        }
      }
    }
    System.out.print("从小到大:");
    
    for (int i = 0; i < array.length; i++) {
      if(i==array.length-1){
        System.out.println(array[i]);
      }else{
        System.out.print(array[i]+",");
      }
    }
  }
}

练习2:搭建java web项目写一个servlet

运行结果截图

java 测试cpu java 测试开发_java_03

工程截图

java 测试cpu java 测试开发_web_04

HelloWeb.java代码

package com.one.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class HelloWeb
 */
@WebServlet("/HelloWeb")
public class HelloWeb extends HttpServlet {
  private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public HelloWeb() {
        super();
    }

  /**
   * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
   */
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.getWriter().append("Served at: ").append(request.getContextPath());
    PrintWriter pw = response.getWriter();
    pw.print("hello world");
  }

  /**
   * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
   */
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doGet(request, response);
  }
}