目錄
關鍵詞
- 靜態資源和動態資源
- 同源策略和跨域
- 同源概念:
- 協議、域名、端口相同,則表示他們同源。
- 同源策略只對限制js來讀寫其他域的dom數據做了限制,對加載的其他靜態資源如javascript、css、圖片等仍然認爲屬於同源。
- 同源概念:
學習目標
- java開發環境搭建
- http協議
- Java web概述與工程創建
java簡史
- 1995年,SUN發佈JAVA
- 2009年,甲骨文公司宣佈收購Sun
- 2010年,Java共同創始人之一詹姆斯*高斯林從Oracle公司辭職
- 2011年,Java7正式發佈
- 2014年,發佈了Java8正式版
jdk-下載和安裝
JDK版本已至13,目前仍以JDK8使用最多
- 下載jdk8安裝文件到本地
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html - 安裝並配置環境變量
java-特點
Java是一次編寫到處運行,跨平臺
java虛擬機JVM,運行字節碼.class
java是一門面向對象編程語言,類和對象
棧、堆、方法區、運行時常量池
eclipse安裝
- Eclipse是一個開放源代碼的,基於Java的可擴展開發平臺。Eclipse官方版是一個集成開發環境(IDE)。
- 解壓即安裝
- 配置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基礎算法
二分法查找運行結果截圖
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;
}
}
冒泡算法運行結果截圖
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
運行結果截圖
工程截圖
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);
}
}