Java Web 的基本概念
怀旧网个人博客网站地址:怀旧网,博客详情:Java Web 的基本概念
1、基本概念
1.1 前言
web开发:
-
web, 网页的意思
-
静态web
- html、css
- 提供给所有人看的数据,并且数据不会发生改变
-
动态web
- 淘宝、或者所有的网站;
- 提供给所有人看的数据始终会发生变化,么个人在不同的时间,不同的地点看到的信息各不相同;
- 技术栈:Servelt/JSP、ASP、PHP
在java中,动态web资源开发的技术统称为Java Web;
1.2 web 应用程序
web应用程序;可以提供浏览器访问的程序;
-
a.html、b.html......多个web资源,这些web资源可以被外界访问,对外界提供服务;
-
我们能访问到的任何一个界面或者资源,都存在于某一个角落的计算机上。
-
UTL
-
这个统一的web资源会被放在同一个文件件下,web应用程序-->Tomcat;服务器
-
一个web应用由多部分组成(静态web,动态web)
- html,css,js
- jsp,servlet
- java程序
- jarbao配置文件(Properties)
web应用程序编写完毕后,若想提供给外界访问,需要一个服务器来统一管理
1.3 静态 Web
- *.html,这些都是网页的后缀,如果服务器上一直存在这些东西,我们就可以直接进行读取(通过网络)
-
静态web存在的缺点
-
web 页面无法动态更新,所有用户看到的都是同一个页面
- 轮播图,点击特效,伪动态
- javascript【实际开发中,它用的最多】
- VBScript
-
它无法和数据库交互(数据无法持久化,用户无法交互)
-
1.4 动态 Web
页面会动态展示:“web 的页面展示效果因人而异”;
缺点:
- 加入服务器的动态web资源出现了错误,我们需要重新编写后台程序(并且需要重新发布)
有点:
- Web页面可以动态更新,所有用户看到的都不是同一个页面
- 它可以与数据库交互(数据持久化)
2、web 服务器
2.1 技术讲解
2.1.1 ASP
- 微软:国内最早流行的就是ASP
- 在HTML中嵌入了VB脚本,ASP+COM
- 在ASP开发中,基本一个页面(代码都在同一个文件中,维护困难,阅读困难)
- 维护成本高
- c#
2.1.2 PHP
- PHP开发速递很快,功能很强大,跨平台,代码很简单
- 无法承载大访问的情况(比较有局限性)
2.1.3 JSP/Servlet
B/S: 浏览器和服务
C/S:客户端和服务器
- sun公司主推的B/S架构
- 基于Java语言的(所有大公司,或者一些开源的组件,都是用java写的)
- 可以承载三高问题带来的影响
- 语法想ASP, ASP-->JSP,加强市场强度
2.2 Web 服务器
服务器是一种被动的操作,用来处理用户的一些请求和给用户一些响应信息;
IIS
微软的:ASP,windows中自带的
Tomcat
Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,最新的Servlet 和JSP规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为比较流行的Web应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。
下载Tomcat
- 安装Tomcat文件
- 了解配置文件及目录
- 这个东西的作用
3、安装Tomcat
官网下载地址:网页链接
- 去官网下载对应安装包
-
下载完成解压文件
-
文件目录介绍
- 启动关闭Tomcat
- 启动
访问bin目录
- 关闭
可以直接运行关闭,或者将cmd直接关闭即可
访问测试:网页链接
访问结果如下:
可能遇到的问题
-
java环境变量没有配置(运行脚本直接闪退)
- 运行闪退可以在 startup.bat 配置文件末尾添加语句 pause
-
闪退问题:需要配置兼容性
-
乱码问题:配置文件中设置
编辑 server.xml 配置文件
这里可以修改访问端口号
- tomcat默认端口:8080
- http: 80
- https: 443
- mysql: 3306
网站是如何访问的!
- 在浏览器端输入一个域名然后回车
- 首先会检查本机的etc/host配置文件下有没有这个域名映射;
- 有的话:直接返回对应的ip地址,这个地址中,有我们需要访问的web程序,可以直接访问
- 没有的话:就取DNS服务器去找。找到就返回对应ip地址,找不到就返回报错,找不到界面。
4、发布一个 web 网站
首先进入目录 \webapps 下
然后就root目录拷贝一份
进入目录,删除除了 WEB-INF 的其他所有文件
然后进入WEB-INF目录,修改web.xml 文件
删除,除头文件外的所有文件-容纳后返回上一层目录创建一个index.html文件
写入自己的前端代码-然后启动tomcat服务
访问目录
http://localhost:8080/ + 自己配置的文件件目录名称(我这边是huaijiuwang) + /index.html
进行访问
成功访问,当前写的前端界面
根据上面的例子,我们在查看webapps目录下,还有其他的文件,我们将域名替换访问一下其中的docs目录
提示:在root目录下访问可以不用输入文件的路径,然后其他的就需要写路径名称,以及index.html也不需要写,默认就会访问index前缀的文件。
4、HTTP
4.1、什么的HTTP
超文本传输协议(Hypertext [Transfer Protocol](https://baike.baidu.com/item/Transfer Protocol/612755?fromModule=lemma_inlink),HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而 [9]消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。
超文本传输协议:
- 文本:html、字符串...
- 超文本:图片、音频、视频、定位、地图等...
4.2、两个时代
- http 1.0
- HTTP/1.0: 客户端可以与web服务器连接环后,只能获得一个web资源(断开连接)
- http 2.0
- HTTP/1.1:客户端可以与web服务器连接后,可以获得多个web资源
4.3、HTTP 请求
- 客户端 --- 发请求(Request)--- 服务器
1、请求行
- 请求行中的请求方式:GET
- 请求方式:==GET、POST==、HEAD、DELETE、PUT、TRACT...
- Get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但高效。
- Post:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但不高效。
2、消息 头
4.4、HTTP 响应
- 服务器 --- 响应(Response)--- 客户端
1、响应体
2、响应状态码
200: 请求响应成功
3xx:请求重定向
- 重定向:你重新到我给你的新位置去;
4xx: 找不到资源 404
- 资源不存在;
5xx: 服务器代码错误 500
- 502: 网管错误
5、Maven
为什么要学习这个技术?
-
在 Java Web 开发中,需要使用大量的jar包,需要我们手动去导入;
-
如何能够让一个东西自动帮我导入和配置这些jar包;
为了解决这个问题:所以maven诞生了!
5.1、 Maven 项目架构管理工具
目的:就是用来方便导入jar包的!
maven的核心思想:约定大于配置
- 有约束,不要去违反
maven会规定好你该如何去编写我们的java代码,必须要安装这个规范来。
5.2、下载安装 Maven
maven官网地址:网页链接
下载完成后,直接解压即可
5.3、 配置环境变量
测试:
5.4、修改阿里云镜像
-
镜像:mirrors
- 作用:加速jar包的下载
-
国内最好使用阿里云的镜像
使用方式:
进入目录-编辑settings.xml:
加入代码:
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库snapshots</name>
<url>https://maven.aliyun.com/repository/apache-snapshots</url>
</mirror>
原文地址:https://blog.csdn.net/HUAIJIUdada/article/details/144371377
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!