Day36-web基本理念、web服务器、Tomcat
基本概念
web开发:
- web:网页,如:www.baidu.com
- 静态web
- html、css
- 提供给所有人看的数据始终不会发生变化!
- 动态web
- 提供给所有人看的数据始终不会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同!
- 几乎是所有的网站都是动态web
- 技术栈:Servlet/JSP,ASP,PHP
在java中,动态web资源开发的技术统称为JavaWeb;
web应用程序
web应用程序:可以提供浏览器访问的程序;
- a.html、b.html…多个web资源,这些资源可以被外界访问,对外界提供服务;
- 你们能访问到的任何一个页面或则资源,都存在于这个世界的某一个角落的计算机上。
- URL
- 这个统一的web资源会被放在同一个文件夹下,web应用程序依赖于Tomcat服务器
- 一个web应用由多部分组成(静态web,动态web)
- html,css,js
- jsp,servlel
- java程序
- jar包
- 配置文件(Properties)
- web应用程序编写完毕后,若想提供给外界访问:需要一个服务器来统一管理;
静态web
- *.htm, *.html这些都是网页的后缀,如果服务器上一直存在这些东西,我们就可以直接进行读取,通过网络。
-
静态web存在的缺点
-
Web页面无法动态更新,所有用户看到的都是同一个页面
-
轮播图,点击特效:伪动态
-
JavaScript(实际开发中,用的做多)
-
VBScript
-
-
它无法和数据库交互(数据无法持久化,用户无法交互)
-
动态web
页面会动态展示:“web的页面展示的效果因人而异”
缺点:
- 假如服务器的动态web资源出现了错误,我们需要重新编写我们的后台程序,重新发布;
- 停机维护
优点:
- Web页面无法动态更新,所有用户看到的都不是同一个页面
- 它可以数据库交互(数据持久化:注册,商品信息,用户信息…)
web服务器
技术讲解
ASP:
- 微软:国内最早流行的就是ASP;
- 在HTML中嵌入了VB的脚本代码,ASP + COM;
- 在ASP开发中,基本一个页面都有几千行的业务代码,页面极其混乱
- 维护成本高
- C#语言
- LLS
<h1>
<h1><h1>
<h1>
<h1>
<h1>
<h1>
<%
System.out.println("xiaozhao")
%>
<h1>
<h1>
<h1><h1>
<h1>
php
- PHP开发速度很快,功能很强大,跨平台,代码很简单(70%中小型网站,WP)
- 无法承载大访问量的情况(局限性)
JSP/Servlet:
B/S:浏览和服务器
C/S:客户端和服务器
-
sun公司主推的B/S架构
-
基于java语言的(所有的大公司,或者一些开源的组件,都是有java写的)
-
可以承载三高问题带来的影响
-
语法像ASP,ASP可以转JSP,加强市场强度;
web服务器
服务器是一种被动的操作,用来处理用户的一些请求和给用户一些相应信息;
lls
微软的;ASP…,Windows中自带
Tomcat
面向百度编程
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个java初学web的人来说,它是最佳的选择
Tomcat 实际上运行JSP 页面和Servlet。Tomcat最新版本为10.0.14
…
工作3-5年后,可以尝试手写Tomcat服务器
下载Tomcat:
- 安装or解压
- 了解配置文件及目录
- 这个东西的作用
Tomcat
安装Tomcat
- 在官网下载压缩包[此处使用的是版本是9.0.65](Apache Tomcat® - Apache Tomcat 9 Software Downloads)
- 对安装包进行解压
Tomcat启动和配置
- 文件夹作用:
- 启动和关闭Tomcat
- 打开bin
- 双击startup.bat
- 验证是否安装成功
- 出现页面
- 输入网址localhost:8080会出现Tomcat的页面(上一步骤打开的页面不关闭)
- 关闭,双击shutdown.bat
可能遇到的问题
- java环境变量没有配置
- 闪退问题(需要配置兼容性)
- 乱码问题(配置文件中的设置)
配置
- 核心配置
- 可以配置启动的端口号
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
tomcat的默认端口号为:8080
mysql的默认端口号为:3306
http的默认端口号为:80
https的默认端口号为:443
- 可以配置主机名称
默认的主机名为:localhost等价于127.0.0.1(可以在系统里面进行更改,C》System32》drivers》etc》hosts进行更改)
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
默认的网站应用存放位置为:webapps
- 打开webapps对网页进行修改
修改
- 高难度面试题
请谈谈网站是如何进行访问的!
1.输入一个域名;回车
2.检查本机的C:Windows\System32\drivers\etc\hosts配置文件下有没有这个域名映射
- 有:直接返回对应的ip地址,这个地址中,有我们需要访问的web程序,可以直接访问
127.0.0.1 localhost:8080
- 没有:去DNS服务器赵,找到的就返回,找不到就返回找不到
- 可以配置一下环境变量(可选项,方便随时启动)
发布web网站
-
将自己写的网站,放到服务器(Tomcat)中指定的web应用的文件夹(webapp)下,就可以访问了
网站应该有的结构
--webapps :Tomcat服务器的web目录 -ROOT -xiaozhao:网站的目录名 -WEB-INF -classes:java程序 -lib:web应用所依赖的jar包 -web.xml:网站配置文件 -index.html 默认的首页 - static -css -style.css -js -img -......