JavaWeb学习笔记(一)

  • Java Web 开发入门
  • 一、基本概念
  • 1. WEB开发相关知识
  • 2.WEB应用程序
  • 3.WEB发展史
  • 3.1 静态资源
  • 3.2 动态资源
  • 4.WEB服务器
  • 4.1 简介
  • 4.2 常见的WEB服务器
  • 4.3 Tomcat服务器
  • 5.Tomat服务器
  • 5.1 目录结构介绍
  • 5.2 Tomcat服务器虚拟目录的映射方式
  • (1) 自动映射方式
  • (2)手动映射方式
  • (3)基于$CATALINA_BASE/conf/[enginename]/[hostname]的虚拟目录映射
  • 5.3 修改默认端口号
  • 5.4 Intellij的Web应用
  • 5.5 建立映射关系
  • 6.HTTP协议
  • 6.1 什么是HTTP协议?
  • 6.2 HTTP协议的版本
  • 6.3 HTTP请求
  • 6.4 HTTP响应


Java Web 开发入门

一、基本概念

1. WEB开发相关知识

WEB,就是表示网页的意思,他们用于表示Internet主机上提供给外界访问的资源,资源类型分为如下:

  • 静态资源:HTML页面静态资源,指WEB页面中提供用户浏览的数据始终是不变
  • 动态资源:指WEB页面提供用户浏览的数据是有**程序产生(Java/PHP等,动态的HTML页面)**的,不同时间点访问WEB页面看到内容是不相同(淘宝每个人看到页面是不同),内心:浏览器只能识别HTML页面

静态WEB资源实现技术:HTML

常用动态WEB资源技术,动态生成HTML页面:Jsp/Servlet、PHP、ASP、Python

在Java中,动态WEB资源开发技术统称为Java Web。

2.WEB应用程序

WEB应用程序指供浏览器访问的程序,通常简称为 Web Application,例如 a.htmlb.html… … 多个WEB资源,这些WEB资源用于提供对外服务,此时,应该把这些WEB资源放置到一个目录中,以组成一个WEB应用(WEB程序)

一个WEB应用是由多个静态WEB资源和动态WEB资源组成,例如,html、css、js文件,JSP文件、Java程序、支持jar包、配置文件(properties)等等

WEB Application开发完成以后,若你想供外界进行访问,需要将WEB应用所在目录交给WEB服务器管理,这个过程称为:

虚拟目录的映射

静态和动态web资源->WEB所在目录->web服务器中进行管理

3.WEB发展史

3.1 静态资源

java开发的设计文档怎么做 javaweb开发文档_java开发的设计文档怎么做


静态WEB资源有以下缺点

  • 静态WEB页面中的内容无法动态更新,所有用户看到内容都是一样
  • 当我们向让WEB页面好看只能使用CSS或者JavaScript做动态效果
  • 静态WEB页面无法连接数据库,无法实现和用户的交互
  • 当我们学习JavaScript之后,也能解决这个问题
3.2 动态资源

java开发的设计文档怎么做 javaweb开发文档_Java_02

4.WEB服务器

4.1 简介

WEB服务器是指在网络上处于某种类型计算机的程序,是可以向发出请求的浏览器提供文档的程序

WEB服务器是一种被动程序,只有当网络上运行在其他计算机中的浏览器发送请求的时候,服务器才会进行响应

4.2 常见的WEB服务器

Weblogic、WebSphere(IBM),Tomcat(开源组织Apache),IIS(微软)

疑问:学习WEB开发,为什么必须要先安装WEB服务器?

在本地计算机上随便创建WEB页面,其他用户是无法进行访问,但是启动Tomcat服务器,把页面放置到WEB复苏期中,用户就可以访问(前提:同一个局域网中或者IP外网)

  • 不管任何的WEB资源,想被远程计算机进行访问,都必须有一个与之对应的网络通信程序,当用户来访问的时候,这个网络程序读取WEB资源,并且把数据发送给来访者
4.3 Tomcat服务器

我们开发时候都会使用Tomcat服务器,因为其是免费(开源)。www.apache.org

Tomcat : Java的Servlet和JSP的容器,动态生成HTML页面

(1) 下载Tomcat绿色版本

java开发的设计文档怎么做 javaweb开发文档_HTTP_03

(2)启动Tomcat服务

解压Tomcat的包,bin目录中有可执行文件(exe、cmd、bat)

java开发的设计文档怎么做 javaweb开发文档_Java_04


java开发的设计文档怎么做 javaweb开发文档_HTTP_05

(3)访问成功

http://localhost:8080/ 或者 http://127.0.0.1:8080/ 或者使用本机分配 http://192.168.43.133:8080/

java开发的设计文档怎么做 javaweb开发文档_HTTP_06

5.Tomat服务器

5.1 目录结构介绍

java开发的设计文档怎么做 javaweb开发文档_Java_07

5.2 Tomcat服务器虚拟目录的映射方式
(1) 自动映射方式

Tomcat服务器会自动管理webapps目录下的所有的web应用,并且把它映射成虚拟目录。
Tomcat服务器webapps目录中的web引用是可以被外界直接访问

java开发的设计文档怎么做 javaweb开发文档_java_08

(2)手动映射方式

在磁盘的任意的位置建立一个文件夹,管理WEB资源,在config文件夹下server.xml中可以配置手动映射关键,在<host>标签中配置

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />
        <!-- 
        <Context path="/虚拟映射目录" docBase="WEB应用的绝对路径"/>
        -->
         <Context path="/xyj" docBase="D:/yu"/>
      </Host>
(3)基于$CATALINA_BASE/conf/[enginename]/[hostname]的虚拟目录映射
5.3 修改默认端口号

当一个Tomcat启动的时候,会占用3个端口(8005、8080、8009),如果向启动多个Tomcat服务,那么每个服务的端口号都应该是不一样。

<Connector port="8001" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />
5.4 Intellij的Web应用

IDEA中配置跟Tomcat之间的关系,提高效率

5.5 建立映射关系

WEB-INF文件夹是特殊的文件夹,无法被直接访问

6.HTTP协议

6.1 什么是HTTP协议?

HTTP是hypertext transfer protocol
(超文本传输协议),它是TCP/IP协议的一种应用层协议(面试题:TCP协议几次握手,并且每次握手都做了什么事情?),用于定义WEB浏览器和WEB服务器之间交换数据的过程

6.2 HTTP协议的版本

HTTP/1.0 HTTP/1.1

HTTP/1.0 :客户端和WEB服务器建立连接后,只能获得一个WEB资源

HTTP/1.1 :客户端和WEB服务器建立连接后,只能获得多个WEB资源

6.3 HTTP请求

(1) HTTP请求包括的内容

客户端连接上服务器之后,向服务器请求某个WEB资源,称为客户端向服务端发送一个HTTP REUEST。

一个完整HTTP请求包含:

  • 一个请求行
  • 若干个消息头
  • 实体内容

(2)请求行说明

Request Method:
GET,请求方式一共有:GET、POST、DELETE、PUT、HEAD、OPTIONS、TRACE,但是HTML页面只能支持两种请求方式GET、POST

  • GET请求:在URL地址后面附带参数信息,并且有限制量级1KB左右
  • POST请求:在请求的实体内容中可以看到传递的数据,无限制量级

(2)请求头说明

java开发的设计文档怎么做 javaweb开发文档_服务器_09

Accept:浏览器通过这个头信息告诉服务器,支持哪些数据类型

Accept-encoding:浏览器通过这个头信息告诉服务器,支持哪些压缩格式

Accept-language:浏览器通过这个头信息告诉服务器,支持哪些语言环境

HOST:浏览器通过这个头信息告诉服务器,支持哪些主机

User-Agent:是使用浏览器的内核

6.4 HTTP响应

java开发的设计文档怎么做 javaweb开发文档_java开发的设计文档怎么做_10