Java教程

JavaWeb学习(一)

本文主要是介绍JavaWeb学习(一),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

JavaWeb

1、基本概念

1.1、前言

web开发:

  • web 网页的意思 www.baidu.com
    • 静态web
      • html、css
      • 提供给所有人看到的数据始终不会发生变化
    • 动态web
      • 页面会动态变化,每个人都不一样
      • 技术栈:Servlet/JSP、ASP、PHP

在 Java 中,动态 web 资源开发的技术统称为 JavaWeb

1.2、web 应用程序

web 应用程序:可以提供浏览器访问的程序

  • a.html、b.html ... 多个 web 资源可以被外界访问,对外界提供服务
  • 这个统一的 web 资源会被放在同一个文件夹下,web 应用程序 ——> Tomcat:服务器
  • 一个 web 应用有多部分组成
    • html、css
    • jsp、servlet
    • java 程序
    • jar 包
    • 配置文件

web 应用程序编写完毕后,若想提供给外界访问:需要一个服务器统一管理

1.3、静态 web

  • *.html、 *.htm,这些都是网页的后缀,如果服务器一直存在这些东西,我们就可以直接读取
  • 静态 web 存在的缺点
    • Web 页面无法动态更新
      • 轮播图、点击特效、伪动态
      • JavaScript
      • VBScript
    • 无法与数据库交互(数据无法持久化,用户无法交互)

1.4、动态 web

页面动态变化,因人而异

缺点:

  • 假如服务器动态web资源出现错误,我们就要重新编写我们的后台程序,重新发布

优点:

  • 可以和数据库交互(数据持久化)

2、web 服务器

2.1、技术详情

  • ASP

    • 微软
    • 在HTML中嵌套了VB脚本
    • 在ASP开发当中,基本一个页面都有几千行代码,维护成本很高
      • 就是html代码里面嵌套 java 代码 <% %>
  • PHP

    • 开发速度快,功能强大,跨平台,代码简单
    • 无法承载大访问量的情况
  • JSP/Servlet

    • B/S:浏览器服务器
    • sun公司主推的B/S架构
    • 基于java语言
    • 语法像ASP

2.2、服务器

服务器是一种被动的操作,用于处理用户的一些请求和给用户一些响应信息

  • IIS

    • 微软
    • window自带
  • Tomcat

  • Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

    Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个Java初学web的人来说,它是最佳的选择

    Tomcat 实际上运行JSP 页面和Servlet。Tomcat最新版本为10.0.5

3、Tomcat

3.1、安装tomcat

官网:https://tomcat.apache.org/

3.2、tomcat启动和配置

  1. tomcat 的 bin 包下的文件,打开即可
  1. http://localhost:8080/ 出现如下界面就说明开启了
  1. 配置:config 文件

    server.xml:服务器核心配置文件,可以修改端口号(默认8080),可以修改主机的名称(默认 localhost —> 127.0.0.1,但是这个要去改系统)

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    
    <Host name="localhost"  appBase="webapps"
        unpackWARs="true" autoDeploy="true">
    
  2. 常见端口号

    tomcat:8080

    mysql:3306

    http:80

    https:443

3.3、高难度面试题

请你谈谈网站是如何进行访问的?

  1. 输入一个域名
  2. 检查本机下的 C:\Windows\System32\drivers\etc\hosts 配置文件有没有这个域名的映射
    1. 有直接去对应的ip地址
    2. 没有就去DNS找
    3. 再找不到就返回找不到

3.4、发布一个 web 网站

不会就先模仿

4、Http

4.1、什么是http

超文本传输协议(HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。

  • 超文本:图片、音乐、视频、定位、地图....
  • 端口:80

https:安全的

  • 端口:443

4.2、两个时代

  • http1.0
    • http/1.0:客户端可以与web服务器连接后,只能获得一个web资源
  • http2.0
    • http/1.1:可以获得多个web资源

4.3、http请求

  • 客户端 ——> 服务器

百度:

Request URL: https://www.baidu.com/
Request Method: GET
Status Code: 200 OK    状态码
Remote(远程) Address: 14.215.177.39:443
Referrer Policy: no-referrer-when-downgrade
Accept: text/html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9     语言:zh-CN
Cache-Control: max-age=0
Connection: keep-alive

4.3.1、请求行

  • 请求行的请求方法:GET
  • 请求方式:GET/POST(一个更高效、一个更安全)
    • get:请求能够携带的参数比较少,大小有限制,会在浏览器的url地址栏显示数据内容,不安全,但是高效
    • post:请求携带的参数没限制,大小没限制,浏览器不会显示,安全,但不高效

4.3.2、消息头

Accept:告诉浏览器,所支持的数据类型
Accept-Encoding:支持哪种编码格式:utf-8...
Accept-Language:告诉浏览器,它的语言环境   
Cache-Control:缓存控制
Connection:告诉浏览器,请求完成是断开还是保持连接
Host:主机

4.4、http响应

  • 服务器 ——> 客户端
Cache-Control: private   缓存控制
Connection: keep-alive   连接:保持连接
Content-Encoding: gzip   编码
Content-Type: text/html; 类型

4.4.1、响应体

Accept:告诉浏览器,所支持的数据类型
Accept-Encoding:支持哪种编码格式:utf-8...
Accept-Language:告诉浏览器,它的语言环境   
Cache-Control:缓存控制
Connection:告诉浏览器,请求完成是断开还是保持连接
Host:主机
Refresh:告诉客户端多久刷新一次
Location:让网页重新定位    

4.4.2、响应状态码

  • 200:请求响应成功 200
  • 3**:请求重定向
  • 4**:找不到资源 404
  • 5**:服务器代码错误 500 502->网关错误
这篇关于JavaWeb学习(一)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!