什么是java web
java web 的基本概念
web 本身是网页的意思,表示我们可以从互联网上拿到一定的资源。
对于web,我们可以分为静态web 和动态web。(静态:用户看到的数据始终不会变化,也就是没有后台数据和网页进行交互;动态:和静态相反,就是提供给用户看的数据会发生变化,不同人看到的也可能是不一样的。也就是会有后台数据和网页进行交互)
而在java 中,开发动态web 的技术称之为JavaWeb。
web 程序
而对于一个web 网页的生成,我们都知道,需要用代码进行编写,生成一个个web 应用程序。
而对于这个应用程序,一定是浏览器可以访问的应用程序。写的多个web 网页,也就是多个web 资源,对于这些web 资源可以被外界访问,可以对外提供服务。我们可以访问的这些web 资源,都存在于世界上的某一个计算机上的某个文件夹中。
web 应用程序是不能自己启动的,所以我们需要通过tomcat 进行访问。一个web 应用由多部分组成(静态web 和动态web)。需要多种技术(html/css/js//jsp/servlet//java//配置文件)。
web 应用程序编写完成之后,若想提供给外界访问,需要一个服务器进行统一管理。
对于静态web,比如abc.html 文件,是存在某一个计算机上的。客户端和服务器是通过网络进行交互的。经由网络,对web 资源进行传输。而静态资源的特点就是无法动态更新,每个用户看到的都是同一个页面。同时无法和db 进行交互,数据无法持久化,用户无法交互。
对于动态web,通过服务器,获取数据,加载到html 页面中,返回给客户端。其实这个过程就是可以和db 进行交互,得到数据,根据请求参数进行判断,返回对应的数据,从而实现一个“动态”的功能。
什么是web 服务器
web 概念回顾
所有的服务都需要一个web server。实现web 的技术手段有很多,比如说asp/jsp/php。
asp 是微软提出的,就是在html 页面中嵌入业务逻辑代码。我们都知道html 应用程序是需要浏览器进行读取并展示的。所以这样每一个页面都需要大量的代码。
对于jsp/servlet,语法很像asp。也是在html 页面中嵌入大量业务代码。java 是可以承载三高问题带来的影响的。(三高:高并发、高性能、高可用)
php 开发速度快,功能强大却无法承载大访问量的情况,这是它的局限性。
web 服务器的作用
服务器是一种被动的操作,web 服务器的作用就是接收用户请求,返回给用户响应信息。
常用并且重点使用的服务器就是Tomcat。
Tomcat 的学习步骤
学习tomcat 的步骤(三部曲):
- 下载安装
- 了解配置文件及目录结构
- 了解这个东西的作用
用jdk 举例来说,学习jdk 的三个步骤
- 下载安装
- 了解配置文件及目录结构
- 在jdk 文件夹中:bin 文件存的是执行文件,如java.exe, javac.exe, java 反编译工具,java 编译工具等,都在这个文件夹里。
- include 文件中包含了很多和c 语言的文件(因为java 底层是c++ 实现的)
- jre 文件里面是有大量的环境相关的文件。比如说jre/lib 里面有大量的jar 包,比如爱平时使用的aplet,字体,security 等等。java 的核心jar 包在jre/lib/rt.jar。(runtime)
- 打开rt.jar 包之后,可以看到很多文件夹,有java,org,jdk,javax,META-INFO 等等。打开java 文件夹,里面就有lang 文件夹,再深入一层就会发现很多常用的类。
- 了解这个东西的作用
安装tomcat
对于安装tomcat,可以到官网 下载符合系统的tomcat服务器安装包。下载完之后,解压压缩包。解压之后就可以直接使用了。
tomcat 的目录结构
主要的几个文件夹的介绍:
bin:包含启动关闭的脚本文件
conf:配置文件
lib:依赖的jar 包
logs:日志
temp:临时文件
webapps:放网站的。我们都知道,所有网页都是放在一个文件夹里的,对于tomcat 服务器,网页就是放在这个文件夹里的。
work:工作目录
各个文件夹了解完之后,我们可以到里面看一下具体的东西。
首先启动tomcat,我们打开bin 文件夹,看到里面有个startup.sh 文件,运行这个就可以启动tomcat 了。对应shutdown.sh 就是关闭的脚本。
启动tomcat 之后,我们本地访问localhost:8080 就可以看到对应的网页。
配置
打开conf 配置文件夹,里面有众多的配置文件。server.xml 文件就是服务器的核心配置文件,我们把它打开,就可以看到我们在本地访问tomcat 的时候的url 的具体参数。如端口号8080,和默认的host 配置:localhost。
在打开服务器之后,有个对应的网站localhost:8080 可以访问某个tomcat 的默认页面。这个网页页面其实是存在于webapps 文件夹下的ROOT 文件夹内的。
我们都知道,在webapps 文件夹里面,一个文件夹代表一个web 应用。ROOT 代表一个应用,docs 代表一个应用,examples 代表一个应用,host-manager 代表一个应用。
打开ROOT 文件夹之后,我们可以看到一个index.jsp 文件。打开之后,可以看到这个jsp 就是在html 代码里嵌入了一些java 代码。这个index.jsp 就是我们在本地启动tomcat 服务器之后打开的默认的网页。
对于这个server.xml 配置文件,我们可以更改其中的host name 配置,也可以更改appBase 的配置,对应访问默认的tomcat 主页的时候就可以有着不同的效果。默认的主机名称是localhost,我们可以把它更改为各种不同的主机名称。同时配置的appBase 是webapps,这个是默认的网页存储位置,也可以改成其他的文件夹位置,都是可以的。
对于上图,更改Connector 的port 配置,就会变更默认网页的默认端口号配置。
如何发布一个web 网站
由于上面的conf 文件夹中的server.xml 文件中的配置,我们可以到webapps 中添加一个文件夹,可以自己创建一个html 文件,在这之后我们就可以通过域名进行访问此html 网页了。
步骤总结如下:
将自己写的网站,放到服务器(Tomcat)中指定的web 应用的文件夹(webapps)下,就可以访问了。
网站应该有的结构
-- webapps:tomcat 服务器的web 目录。里面就是对应的项目。
- ROOT 是自带的项目名。以下新建的ROOT2 可以模仿ROOT 文件夹的内容。
- ROOT2 自建的网站目录名
- WEB-INF 这个文件夹是放网站程序的
- classes:java 程序
- lib web 应用所依赖的jar 包
- web.xml 网站配置文件
- index.html/index.jsp 默认的首页。只要是index 开头的,都是默认的页面。
- static 可以放一些资源文件