首页IT科技day09512(day09-Tomcat01)

day09512(day09-Tomcat01)

时间2025-07-30 20:48:51分类IT科技浏览4598
导读:Tomcat01 1.WEB开发介绍 WEB,在英文中WEB表示网/网络资源,它用于表示WEB服务器(主机)供浏览器访问的资源 WEB服务器(主机)上供外界访问的Web资源为: 静态web资源(如html页面):指web页面中供人们浏览的数据始终是不变的...

Tomcat01

1.WEB开发介绍

WEB               ,在英文中WEB表示网/网络资源                  ,它用于表示WEB服务器(主机)供浏览器访问的资源 WEB服务器(主机)上供外界访问的Web资源为: 静态web资源(如html页面):指web页面中供人们浏览的数据始终是不变的 动态web资源       ,比如Servlet            、PHP等 静态web资源开发技术:HTML            ,CSS                   ,JS等 常用动态web资源开发技术:Servlet          ,SpringBoot        ,SpringMVC                    ,PHP             ,ASP.NET等

BS开发和CS开发:

1.1BS开发

B:browser(浏览器)

S:Server(服务端)

对BS的解读:

兼容性:

因为浏览器的种类很多    ,编写的程序可能在一个浏览器上面是正常的                     ,在另一个浏览器上面就会出现问题

安全性:

通常情况下                ,BS的安全性不如CS好控制

易用性:BS好于CS,浏览器电脑有

扩展性:BS相对统一                  ,只需要写Server端

1.2CS开发

C:Client(客户端)

S:Server(服务端)

2.JavaWeb服务软件

2.1JavaWeb服务器软件介绍

学习JavaWeb开发                   ,需要先安装JavaWeb服务器软件(我们把安装了JavaWeb服务软件的主机称为Web服务器/JavaWeb服务器)    ,在web服务器中开发相应的web资源

思考:学习JavaWeb开发               ,为什么必须要先安装WEB服务软件?

答:需要安装                  ,理解Tomcat本质就是一个java程序       ,只是这个程序可以处理来自浏览器的HTTP请求            ,和 Javase基础的网络服务是一样的

使用netstat -anb指令打开运行端口                   ,可以看到tomcat的监听端口的监控程序是java.exe          ,这说明Tomcat本质就是一个java程序        ,它并没有脱离底层的jdk            。在启动java程序的时候启动了jre的运行环境                    ,所以它在后台显示的监控程序是java.exe             ,并不是想象中的Tomcat.exe.

2.2手写简单的Web服务程序

Java基础-IO/网络编程

hello.html:

Helloooooo! I am a web server!

MyTomcat.java:

package tomcat_demo; import java.io.*; import java.net.ServerSocket; import java.net.Socket; /** * @author 李 * @version 1.0 * 这是我们自己写的一个web服务    ,可以返回hello.html给浏览器 */ public class MyTomcat { public static void main(String[] args) throws IOException { //1.在9999端口监听 ServerSocket serverSocket = new ServerSocket(9999); //如果serverSocket没有关闭                     ,就等待连接                ,不停地等待 while (!serverSocket.isClosed()) { System.out.println("======我的Web服务在9999端口监听======"); //2.等待浏览器/客户端来连接,得到socket // 该socket用于通信 Socket socket = serverSocket.accept(); //3.通过socket得到输出流 OutputStream outputStream = socket.getOutputStream(); // 返回给浏览器/客户端 //4.读取hello.html文件返回即可==>如何读取文件内容 // 得到文件字符输入流,和文件关联 BufferedReader bufferedReader = new BufferedReader(new FileReader("src/tomcat_demo/hello.html")); String buf = ""; //循环读取hello.html while ((buf = bufferedReader.readLine()) != null) { outputStream.write(buf.getBytes());//如果想展示中文字符                  ,可以使用字符流 } //4.关闭流 bufferedReader.close(); outputStream.close(); socket.close(); } serverSocket.close(); } }

http://localhost:9999/表示浏览器向localhost(127.0.0.1即本机)的9999端口发出请求

上述的整个过程是:服务器MyTomcat在localhost主机的9999端口监听                   ,浏览器向localhost的9999端口发送请求    ,服务器监听到请求后将hello.html文件的内容读取到内存中               ,然后通过socket将数据打入数据通道中                  ,浏览器就拿到了数据       ,并将其展示在页面上

2.3常用的JavaWeb服务软件

Tomcat:由Apache组织提供的一种Web服务器            ,提供对jsp和Servlet的支持                      。它是一种轻量级的javaWeb容器(服务器)                   ,也是当前应用最广的JavaWeb服务器(免费)

Jboss:是一个遵从JavaEE规范的应用服务器          ,同时也是免费的

GlassFish:由Oracle公司开发的一款JavaWeb服务器        ,是一款商业服务器                    ,达到产品级质量(应用很少)

Resin:是CAUCHO公司的产品             ,是一个非常流行的服务器    ,对Servlet和jsp提供了良好的支持                     ,性能也比较优良(收费)

WebLogic:是Oracle公司的产品                ,支持JavaEE 规范,而且不断地完善以适应新的开发需求                  ,适合大型项目(收费                   ,用得不多    ,适合大公司)

下面主要理解Tomcat服务器

3.Tomcat

Tomcat官方文档:https://tomcat.apache.org/download-80.cgi

3.1Tomcat下载和安装

Tomcat官方站点:https://tomcat.apache.org

获取Tomcat安装程序包

tar.gz是Linux操作系统下的安装版本 zip是Windows系统下的压缩版本

使用zip包安装Tomcat:找到需要用的Tomcat版本对应的zip压缩包               ,解压到需要安装的目录即可

在官网https://tomcat.apache.org/whichversion.html                  ,可以看到Tomcat仍然是支持JSP和EL的

3.2Tomcat启动

双击bin目录下的startup.bat文件

输入http://localhost:8080/       ,显示如下界面代表安装成功            ,默认在8080端口

注意不要关闭黑窗口                   ,关闭了          ,tomcat服务就停止了

在开发中查看哪些端口在监听        ,可以使用命令:netstat -an

3.3Tomcat启动故障排除

双击startup.bat文件                    ,如果出现一个小黑窗口然后就没了             ,原因是没有配置好JAVA_HOME环境变量

Tomcat本质是一个Java程序    ,所以要jdk                     ,会去根据Java_HOME使用指定的jdk

JAVA_HOME必须全大写

JAVA_HOME中间必须是下划线

JAVA_HOME配置的路径只需要配置到jdk的安装目录即可                ,不需要带上bin目录

端口8080被占用了[查看端口:netstat -anb]

如果其他服务程序占用了8080端口,可以关闭该服务                  ,或者修改Tomcat服务的默认端口8080

3.4Tomcat目录结构

conf目录中的server.xml文件用于配置tomcat的基本设置(启动端口                   ,关闭端口    ,主机名)

conf目录中的web.xml文件用于指定tomcat运行时配置(比如Servlet等)

webapps目录是存放web应用的               ,也就是网站

3.5catalina启动Tomcat

在cmd中切换到Tomcat的bin目录                  ,输入catalina run       ,回车            ,即可启动tomcat服务

3.6关闭Tomcat

点击tomcat服务器窗口                   ,直接点击关闭按钮

进入Tomcat的bin目录下的shutdown.bat双击          ,就可以停止Tomcat服务器(推荐

在默认情况下        ,tomcat服务器在8080端口等待浏览器发送请求;此外还有一个监听端口8009                    ,8009端口可以接收关闭指令shutdown      。8009端口监听到关闭指令之后就会按照正常流程去关闭tomcat服务器         。这种关闭方式可以正常地被写入日志中                      。

3.7Tomcat服务中部署web应用

什么是web应用

WEB应用是多个web资源的集合          。简单地说             ,可以把web应用理解为硬盘上的一个目录    ,这个目录用于管理多个web资源 Web应用通常也称之为web应用程序                     ,或web工程                ,通俗地说就是网站

WEB应用组成

一个web应用由多个web资源或其他文件组成,包括html文件                  ,css文件                   ,js文件    ,动态web页面               ,java程序                  ,支持jar包       ,配置文件等      。

开发人员在开发web应用时            ,要按照规定目录结构存放这些文件                     。否则                   ,在把web应用交给web服务器管理时          ,不仅可能会使web应用无法访问        ,还会导致web服务器启动报错              。

JavaWeb程序/应用/工程目录结构

部署方式1:将web工程的目录拷贝到Tomcat的webapps目录下

news Web工程(目前都是静态html                    ,图片)(news为工程名) 将该news目录拷贝到Tomcat的webapps目录下 浏览器输入:http://ip[域名]:port/news/子目录.../文件名

部署方式2:通过配置文件来部署(用得不多)

在Tomcat下的conf目录/Catalina/locathost/下             ,配置文件    ,比如hsp.xml

(即                     ,tomcat通过配置                ,可以把一个web应用映射到指定的目录,可以解决磁盘空间分配的问题)

访问web工程:http://ip[域名]:port/hsp/index.html,就表示访问D:\album目录下的index.html

ROOT工程的访问

在浏览器地址栏中输入的访问地址如下:http://ip[域名]:port                  ,没有Web工程/应用名时                   ,默认访问的就是ROOT工程 在浏览器地址栏中输入的访问地址如下:http://ip[域名]:port/工程名    ,没有资源名               ,默认访问的就是index.jsp页面

localhost:8080/test/test.html

其中locathost:8080是你要访问的服务器                  ,test是要访问的网站(web应用)       ,test.html是该网站的资源

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
交互用户行为七个阶段(1.3 简单用户交互) windows10电脑特别卡(Win10电脑卡顿不流畅怎么版?这5项设置能提速十倍)