目录
- 关键词
- 学习目标
- 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、图片等仍然认为属于同源。
学习目标
- 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);
}
}