1 基本概念
1.1 前言
web开发:
-
web,网页的意思
-
静态web
-
html,css
-
提供给所有的人看的数据始终不会发生变化!
-
-
动态web
-
淘宝,几乎是所有的网站;
-
提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同!
-
技术栈:Servlet/JSP/ASP/PHP
在Java中,动态web资源开发的技术称为Javaweb;
-
1.2web应用程序
web应用程序:可以提供浏览器访问的程序;
-
a.html、b.html......多个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
-
微软:国内最早流行
-
在HTML中嵌入VB脚本,ASP+COM;
-
在ASP开发中,基本一个页面,代码量高,维护困难
-
C#
-
IIS
<h1> <h1><h1> <% System.out.println("hello") %> <h1><h1> <h1>
PHP
-
PHP开发速度快、功能强大、跨平台、代码简单
-
无法承载访问量大的情况(局限性)
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 程序的首选。对于一个初学者来说,他是最佳的选择。
Tomcat 实际上运行JSP 页面和Servlet。Tomcat处理静态HTML的能力不如Apache服务器。Tomcat最新版本为10.0.23。
...
工作三到五年,可尝试手写TomCat服务器
下载tomcat;
-
安装或者解压
-
了解配置文件及目录结构
-
了解这个东西的作用
3 Tomcat
3.1 Tomcat官网
3.2 Tomcat启动与配置
文件配置相关信息:
启动、关闭Tomcat
可能问题:
-
Java环境变量没有配置
-
闪退问题:需要配置兼容性
-
乱码问题:配置文件中设置
3.3 配置问题
可以配置启动端口号
-
tomcat 默认端口号:8080
-
mysql默认端口号:3306
-
http:80
-
https:443
--> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
可以配置主机名称
-
默认主机名称为:localhost->127.0.01
-
默认网站应用存放的位置:webapps
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
高难度面试题
请你谈谈网站时如何进行访问的
-
输入域名;回车
-
检查本机的C:\Windows\System32\drivers\etc\hosts配置文件下有没有这个域名映射;
-
有,直接返回对应的ip地址,这个地址中有我们需要访问的web程序,可以直接访问
127.0.0.1 activate.navicat.com
-
无:去DNS服务器去找,找到就返回,未找到网页走丢
-
配置下环境变量(可选)
-
3.4 发布一个web网站
不会先仿照
-
将自己写的网站放到服务器(Tomcat)中指定的web应用文件夹(webapps),就可以访问了
网站应该有的结构
--webapps:Tomcat服务器中web目录 -Root -baistudy:网站的目录名 -WEB-INF -classes:java程序 -lib:web所依赖的jar包 -web.xml:网站的配置文件 -index.html :默认首页 -static -css -style.css -js -img -......