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

目录
相关文章
|
2月前
|
JavaScript Java 大数据
基于JavaWeb的销售管理系统设计系统
本系统基于Java、MySQL、Spring Boot与Vue.js技术,构建高效、可扩展的销售管理平台,实现客户、订单、数据可视化等全流程自动化管理,提升企业运营效率与决策能力。
|
7月前
|
前端开发 Java 物联网
智慧班牌源码,采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署
智慧班牌系统是一款基于信息化与物联网技术的校园管理工具,集成电子屏显示、人脸识别及数据交互功能,实现班级信息展示、智能考勤与家校互通。系统采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署与私有化定制。核心功能涵盖信息发布、考勤管理、教务处理及数据分析,助力校园文化建设与教学优化。其综合性和可扩展性有效打破数据孤岛,提升交互体验并降低管理成本,适用于日常教学、考试管理和应急场景,为智慧校园建设提供全面解决方案。
475 70
|
4月前
|
SQL 前端开发 Java
JavaWeb 学习日记案例详解及 javaweb 完整项目案例实战指南
本文介绍了一个基于Spring Boot的JavaWeb企业员工管理系统完整案例,涵盖部门管理、员工管理、登录、异常处理、事务管理及AOP等核心功能实现,结合CSDN相关技术文章,提供详细技术方案与应用实例,适合JavaWeb开发者学习与参考。
190 0
|
9月前
|
SQL JavaScript 安全
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
403 11
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
|
8月前
|
Java API Docker
在线编程实现!如何在Java后端通过DockerClient操作Docker生成python环境
以上内容是一个简单的实现在Java后端中通过DockerClient操作Docker生成python环境并执行代码,最后销毁的案例全过程,也是实现一个简单的在线编程后端API的完整流程,你可以在此基础上添加额外的辅助功能,比如上传文件、编辑文件、查阅文件、自定义安装等功能。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
在线编程实现!如何在Java后端通过DockerClient操作Docker生成python环境
|
9月前
|
监控 前端开发 Java
构建高效Java后端与前端交互的定时任务调度系统
通过以上步骤,我们构建了一个高效的Java后端与前端交互的定时任务调度系统。该系统使用Spring Boot作为后端框架,Quartz作为任务调度器,并通过前端界面实现用户交互。此系统可以应用于各种需要定时任务调度的业务场景,如数据同步、报告生成和系统监控等。
361 9
|
9月前
|
存储 小程序 前端开发
微信小程序与Java后端实现微信授权登录功能
微信小程序极大地简化了登录注册流程。对于用户而言,仅仅需要点击授权按钮,便能够完成登录操作,无需经历繁琐的注册步骤以及输入账号密码等一系列复杂操作,这种便捷的登录方式极大地提升了用户的使用体验
2884 12
|
8月前
|
JavaScript Java Docker
干货含源码!如何用Java后端操作Docker(命令行篇)
只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
10月前
|
前端开发 Java 数据库连接
【潜意识Java】深度解读JavaWeb开发在Java学习中的重要性
深度解读JavaWeb开发在Java学习中的重要性
192 4
|
10月前
|
前端开发 NoSQL Java
【Java若依框架】RuoYi-Vue的前端和后端配置步骤和启动步骤
本文介绍了如何配置和启动基于Java的若依(RuoYi)项目,涵盖后端和前端的详细步骤。首先,准备Redis、MySQL以及IDE(如Idea和VS)。接着,通过GitHub获取代码并导入到IDE中,执行必要的SQL文件和配置数据库密码。然后,启动Redis并进行相关配置。最后,按照前端配置步骤克隆前端代码库,打开终端执行命令完成前端配置。整个过程详细记录了每一步的操作,帮助开发者顺利部署若依项目。 如果你觉得有帮助,请点赞、关注和收藏,这将是我持续分享的动力!
5087 4

热门文章

最新文章