Java后端进阶之路: JavaWeb(一)

简介: Java后端进阶之路: 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.bhtml....等等多个web资源,此资源可以被外界访问,可以为外界服务;
  • 你们可以访问到的任何一个页面或者是资源,都存在与这个世界的某一个角落的计算机上
  • URL:通过这个来作为连接访问
  • 这个统一的web资源会被放在同一个文件夹下,web应用程序-->tomcat:服务器
  • 一个web应用由多部分组成(静态web,动态web)
  • html,css,js
  • jsp,servlet
  • java
  • jar包
  • 配置文件(Properties)

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

1.3静态web

  • .htm.html这些网页后缀,如果服务器存在这些东西,我们可以直接进行读取

  • 静态web存在缺点
  • web页面无法动态更新,所有的用户都看到的是同一个页面
  • 轮播图,点击特效:伪动态
  • javaScript【实际开发中,用的最多】
  • VBscript【微软开发】
  • 它无法实现和数据库交互(数据无法持久化,用户无法交互)

1.4 页面动态展示

页面会动态的展示:web的页面展示的效果因人而异,

  • 缺点:加入服务器的动态web资源出现了错误,我们需要重新编写我们的后台程序,重新发布。
  • 以前的网站,停机维护就是如此

优点:

  • Web页面可以动态更新,所有用户看到的都不是同一个页面
  • 可以和数据库交互(数据持久化,注册,信息可以得到保存)

2.web服务器

2.1 服务端技术

ASP:

  • 微软:国内最早流星的是ASP
  • 在html中嵌入VB的脚本,ASP+HTML
  • 在ASP开发中,基本一个页面,大量互相嵌套的业务逻辑代码,造成维护成本过高

PHP:

  • PHP将开发速度很快,功能强大,跨平台,代码简单(70%,wp)
  • 无法承载大访问量的情况(局限性)

JSP/Servlet

B/S 浏览与服务器

C/S 客户端与服务器

  • sun公司主推的B/S架构
  • 基于java语言的(所有大公司,或者一些开源的组件,都是用java写的)
  • 可以承载三高的问题带来的影响
  • 语法想ASP-->JSP加强市场强度

2.2web服务器

作用:接收用户的请求给予相应的响应,是一种被动操做,用来处理用户请求给用户返回响应信息

lls

微软:ASP,,windows中自带的

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来说,

诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为10

工作3-5年可以尝试手写tomcat服务器

下载tomcat:

  1. 安装 and 解压
  2. 了解配置文件以及目录结构
  3. 这个东西的作用

3,tomcat

3.1安装tomcat

下载windows 64安装包

解读tomcat的文件目录

3.2启动,关闭tomcat

访问测试url:

http://localhost:8080/

3.3配置

核心文件:

可能遇到的问题:

1.java环境变量没有配置

2.闪退问题,需要配置兼容性

3.乱码问题要去配置文件设置

可以配置启动的端口号

  • tomcat的默认端口号为:8080
  • mysql:3306
  • http:80
  • https:443
<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

可以配置主机名称

  • 默认的主机名为localhost=>127.0.0.1
  • 默认网站应用存放位置为:webapps
<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

高难度面试题

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

  1. 输入一个域名:回车
  2. 检查本机的C:\Windows\System32\drivers\etc\hosts配置文件下有没有这个域名的映射
  1. 有:直接返回对应的ip地址,这个地址中有我们访问的web程序,可以直接访问
127.0.0.1 www.qingjiang.com


  1. 没有:上dns服务器上找,找到的话就返回,没有的话返回你的网页走丢了

3.tomcat文档本地地址http://localhost:8080/examples/

3.4发布web网站

  • 先写网站放到tomcat/webapps/,服务器中指定的web应用文件夹下,就可以访问了

网站该有的结构

--webapps:tomcat服务器的web目录
    -root
    -项目名: 网站的目录名
      -web-inf
        -web.xml
        -classes:java
            -lib:web应用所依赖的jar包
      -index.html
         -static
            css
                style
            js
            img

HTTP协议:面试

Maven:构建工具

  • Maven安装包

Servlet

  • helloword
  • Servlet
  • 原理

4.http

4.1什么是http

Http 超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。

  • 文本:html,字符串等等
  • 超文本:图片,音乐,视频,定位,地图
  • 端口号:80

Https:安全的

  • 端口443

4.2两个时代

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

4.3http请求

  • 客户端---》发送请求(Requset)---》服务器

百度:

Request URL: https://www.baidu.com/ //请求地址
Request Method: GET     get方法/post方法
Status Code: 200 OK   状态码:200
Remote Address: 163.177.151.110:443 地址加端口
Accept: text/html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9    语言
Cache-Control: max-age=0
Connection: keep-alive

1.请求行

  • 请求行中的请求方式:get/post
  • 请求方式: Get/post, HEAD,DELETE,put tract
  • get:请求能够携带的参数比较小,大小被限制,会在浏览器的url地址栏显示数据内容,不安全,但高效。
  • post:请求能够携带的参数没有限制,没有大小限制,不会在浏览器的URL地址栏显示数据内容,安全但不高效

2.消息头

Accept 告诉浏览器,它所支持的数据类型
Accept-Encoding 支持那种编码格式 gbk,utf-8,gb2312,iso8859-1(java默认编码)
Accept-Language    语言
Cache-Control 缓存控制
Connection 告诉浏览器请求完成是断开还是保持连接
HOST:主机

4.4HTTP响应

  • 服务器---》响应---》客户端

百度:

Cache-Control: private    缓存控制
Connection: keep-alive    连接:保持连接
Content-Encoding: gzip    编码
Content-Type: text/html;charset=utf-8 类型

1.响应体

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

2.响应状态码(重点)

200:请求响应成功

3xx:请求重定向

  • 重定向:你重新到我给你的新位置去

4xx:找不到资源:404

  • 资源不存在:

5xx:服务器代码错误 500   502:网关错误

常见面试题:

当你的浏览器中地址栏输入地址并回车的一瞬间到页面能够展示回来,经历了什么?


Java后端进阶之路: JavaWeb(二)https://developer.aliyun.com/article/1469548

目录
相关文章
|
14天前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
47 3
|
15天前
|
小程序 前端开发 算法
|
1月前
|
JSON 前端开发 Java
震惊!图文并茂——Java后端如何响应不同格式的数据给前端(带源码)
文章介绍了Java后端如何使用Spring Boot框架响应不同格式的数据给前端,包括返回静态页面、数据、HTML代码片段、JSON对象、设置状态码和响应的Header。
132 1
震惊!图文并茂——Java后端如何响应不同格式的数据给前端(带源码)
|
1月前
|
NoSQL 安全 Java
Java后端基础自测
Java后端基础自测
60 12
|
2月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
405 37
|
1月前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
【10月更文挑战第8天】本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
34 5
|
1月前
|
前端开发 小程序 Java
java基础:map遍历使用;java使用 Patten 和Matches 进行正则匹配;后端传到前端展示图片三种情况,并保存到手机
这篇文章介绍了Java中Map的遍历方法、使用Pattern和matches进行正则表达式匹配,以及后端向前端传输图片并保存到手机的三种情况。
19 1
|
1月前
|
前端开发 Java 应用服务中间件
Javaweb学习
【10月更文挑战第1天】Javaweb学习
31 2
|
1月前
|
算法 Java Linux
java制作海报五:java 后端整合 echarts 画出 折线图,项目放在linux上,echarts图上不显示中文,显示方框口口口
这篇文章介绍了如何在Java后端整合ECharts库来绘制折线图,并讨论了在Linux环境下ECharts图表中文显示问题。
39 1
|
1月前
|
算法 搜索推荐 Java
java 后端 使用 Graphics2D 制作海报,画echarts图,带工具类,各种细节:如头像切割成圆形,文字换行算法(完美实验success),解决画上文字、图片后不清晰问题
这篇文章介绍了如何使用Java后端技术,结合Graphics2D和Echarts等工具,生成包含个性化信息和图表的海报,并提供了详细的代码实现和GitHub项目链接。
104 0
java 后端 使用 Graphics2D 制作海报,画echarts图,带工具类,各种细节:如头像切割成圆形,文字换行算法(完美实验success),解决画上文字、图片后不清晰问题

热门文章

最新文章