Javaweb01:web的基本概念
1、基本概念
1.1、前言
web开发:
- web 网页
- 静态web:
- html ,css
- 提供给所有人看的数据始终不会发生变化!
- 动态web:
- 淘宝,几乎所有的网站
- 提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同!
- 技术栈:Servlet、JSP、ASP、PHP
- 在Java中,动态web资源开发的技术统称为Javaweb
1.2、web应用程序
web应用程序:可提供浏览器访问的应用程序
- a.html、b.html…多个web资源,这些web资源可以被外界访问,对外界提供服务
- 你们能访问到的任何一个页面或者资源 ,都存在于这个世界的某一角落的计算机上
- URL:url是统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
- 这个统一的web资源会被放在同一个文件夹上,web应用程序–Tomcat:服务器
- 一个web应用由多部分组成(静态web,动态web)
1、html,css,js
2、jsp,servlet
3、java程序
4、jar包
5、配置文件(properties)
- web应用程序编写完毕后,若想提供给外界访问,需要一个服务器来统一管理
1.3、静态web
-
*.htm=*.html 这些都是网页的后缀,如果服务器上一直存在这些东西,我们就可以直接进行读取。
-
静态web存在的缺点:
1、web页面无法动态更新,所有用户看到都是同一个页面:轮播图,点击特效:伪动态
用到Javascript【实际开发中,用的最多】,VBscript
2、它无法和数据库交互(数据无法持久化,用户无法交互)
1.4、动态web
- 页面会动态展示:“web的页面展示的效果哦因人而异”
-
缺点:加入服务器的动态web资源出现了错误,我们需要重新编写我们的后台程序,重新发布(停机维护)
-
优点:web页面可以动态更新,所有用户看到都不是同一个页面,可以数据交互(数据持久化:注册,商品信息,用户信息)
新手村----魔鬼训练(分析原理,看源码)—PK场
Javaweb02:web服务器详解
2.1、技术讲解
ASP:
-
微软:国内最早流行的就是ASP
-
在HTML中嵌入了VB脚本,ASP+COM;
-
在ASP开发中,基本一个页面都有几千行业务代码,页面极其混乱
-
维护成本高
-
C#
<h1> <h1><h1> <h1> <h1> <h1> <% java代码 %> <h1> <h1> <h1><h1> <h1>
PHP:
- PHP开发速度快,功能抢答,跨平台,代码简单(70%,WP)
- 无法承载大访问量的情况(局限性)
**JSP=Servlet:**在HTML代码中嵌入大量的Java代码
B/S:浏览和服务器
C/S:客户端和服务器
- SUN公司主推B/S架构
- 基于Java语言(所有的大公司,或一些开源的组件,都是用Java写的)
- 可以承载三高问题(高并发,高可用,高性能)带来的影响
- 语法像ASP,ASP–>JSP,加强市场强度
JSP(全称JavaServer Pages),JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言
2.2、web服务器
服务器是一种被动的操作,用来处理用户的请求和给用户响应的信息
IIS
微软的,ASP…Windows中自带的
Tomcat
面向百度编程
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,是最佳的选择,tomcat实际运行JSP页面和servlet,Tomcat最新版本为10.0.5**。**
工作3-5年之后,尝试手写tomcat服务器
Javaweb03:Tomcat
3.1、安装tomcat
3.2、Tomcat启动和配置
文件夹的作用
启动-关闭Tomcat
访问测试:http://localhost:8080/
可能出现的问题:
- Java环境变量没有配
- 闪退问题:需要配置兼容性
- 乱码问题:配置文件中设置
3.3、配置
可以配置主机的名称
默认的主机名为:localhost->127.0.0.1
默认网站应用存放的位置:webapps
高难度面试题:请你谈谈网站时如何进行访问的?
- 输入域名,回车
- 检查本机的C:\Windows\System32\drivers\etc配置文件下有没有这个域名映射
有:直接返回对应的ip地址,这个地址中,有我们需要访问的web程序,可以直接访问
127.0.0.1 localhost
没有:去DNS(全世界的域名都在这),找到的话就返回,找不到就返回找不到
可以配置启动的端口号
- tomcat默认端口号:8080
- MySQL:3306
- http:80
- https:443
可以配置以下环境变量(可选项)
3.4、发布一个web网站
不会就先模仿
- 将自己写的网站放到服务器(Tomcat)中指定的web应用文件夹(webapps)下,就可以访问了
- 网站应该有的结构
-- webapps:Tomcat服务器的web目录
--ROOT
--xdy:网站的目录名
- WEB-INF
- web.xml:网站配置文件
- classes:java程序
- lib:web应用所依赖的jar包
- index.html 默认的首页
- static
- css
- style.css
- js
- img
-.......
javaweb04:Http
4.1、什么是http
http(超文本传输协议(Hyper Text Transfer Protocol)是一个简单的请求-响应协议,它通常运行在TCP之上。
- 文本:字符串,HTML…
- 超文本:图片,音乐,视频,定位,地图…
- 默认端口:80
https:安全的
- 默认端口:443
4.2、两个时代
4.3、http请求
4.4、http响应
**常见面试题:**当你的浏览器地址栏输入地址并回车的一瞬间到页面展示回来,经历了什么?
Javaweb05:Maven环境搭建
我为什么要学习这个这个技术?
- Javaweb开发中需要使用大量的jar包,我们收到你过去导入
- 如何让一个东西自动帮我导入和配置jar包
由此,maven诞生了
5.1、maven项目架构管理工具
1、目前用来方便导入jar包
2、maven核心思想 :约定大于配置
- 有约束,不要去违反
3、maven会规定如何去编写我们的Java代码,必须按照这个规范来
5.2、下载安装maven
1、官网:https://maven.apache.org/
5.3、配置环境变量
在环境变量中配置如下:
- M2_HOME :maven目录下的bin目录 E:\Maven\apache-maven-3.8.1\bin
- MAVEN_HOME:MAVEN目录下 E:\Maven\apache-maven-3.8.1
- 系统path中配置:%MAVEN_HOME%\bin
测试maven是否安装成功,命令行输入mvn -version
5.4、阿里云镜像
- 镜像:mirror 作用:加速我们的下载
- 国内建议使用阿里云的镜像
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
https://maven.aliyun.com/mvn/guide
为什么maven-repo里没有jar包?
5.5、本地仓库
建立一个本地仓库 localRepository
5.6、在idea中使用maven
-
启动idea
-
创建一个mavenweb项目
-
观察maven仓库中多了什么?
-
idea中maven的设置
IDEA项目创建成功后,看一样maven的配置,有时会使用idea默认,手动改为本地
- 这个只有在web应用下才有!
5.7、标记文件夹功能
5.8、在idea中配置Tomcat
报错点:
1、Error: Application Server not specified
解决方案:
2、Warning: No artifacts marked for deployment
**产生原因:**我们访问一个网站需要指定一个文件夹名字
解决方案:
连接成功
5.9、pom文件
pom.xml是maven的核心配置文件
**POM是项目对象模型(Project Object Model)**的简称,它是Maven项目中的文件,使用XML表示,名称叫做pom.xml。作用类似ant的build.xml文件,功能更强大。该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。事实上,在Maven世界中,project可以什么都没有,甚至没有代码,但是必须包含pom.xml文件。
maven由于他的约定大于配置,我们之后可能遇到写的配置文件无法导出或生效的问题,解决方案:
<!-- 在build中配置resource,来防止我们资源导出失败的问题-- >