你好,欢迎进入江苏优软数字科技有限公司官网!

诚信、勤奋、创新、卓越

友好定价、专业客服支持、正版软件一站式服务提供

13262879759

工作日:9:00-22:00

Tomcatd详细介绍及--手写MyWebServer.java

发布时间:2026-02-17

浏览次数:0

WEB 开发介绍

WEB在英语里表达的意思是网,是除了页面图片cssjs之外的网络资源。

它用于表示 WEB 服务器(主机)供浏览器访问的资源

存在于 WEB 服务器,也就是主机之上,可供外界来进行访问的那些 Web 资源,其被划分成为了:

静态的 web 资源,也就是像 html 页面这类的,是指在 web 页面里,供人们去浏览的数据,自始至终都是不会发生改变的。

- 动态 web 资源,比如 (java)、PHP 等。

3. 静态 web 资源开发技术

- Html、CSS,js 等

4. 常用动态 web 资源开发技术:

、、、PHP、ASP.NET 等

开发技术栈图

BS 与 CS 开发BS 开发

1. B:(浏览器,各式各样的种类太多其中有ffintellij idea tomcat配置,还有ie,另外还有edge)

2. S: (服务端, 考虑很多)

3. 示意图

BS 的解读

那是兼容性这回事儿,毕竟,众多浏览器种类繁多,结果就情况是,你所编写的程序,在特定某个浏览器内会意外出现问题,然而在其他的浏览器那里却是全然正常没有状况了。

(2) 安全性方面,一般情形下,BS 安全性能,相较于 CS 而言,在控制方面,并非那般容易把控。

(3) 易用性, BS 好于 CS, 浏览器电脑有

(4) 扩展性, BS 相对统一,只需要写 Serve

手写 .java

java复制代码import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
/**
 * 自己写的一个 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 文件返回即可=> 如何读取文件内容
            // 得到文件输入流(字符输入流), 和 src/hello.html
            BufferedReader bufferedReader =
                    new BufferedReader(new FileReader("src/hello.html"));
            String buf = "";
            // 循环读取 hello.html
            while ((buf = bufferedReader.readLine()) != null) {
                outputStream.write(buf.getBytes());
            }
            outputStream.close();
            socket.close();
        }
        serverSocket.close();
    }
}

常用 服务软件

将其顺序打乱并调整表述:一种由组织供给的Web服务器,它给予对jsp的支持,它是一种轻量级的容器(服务器),还是当前应用最为广泛的服务器(免费)。

Jboss,它是一个遵从规范的存在,它支持所有的规范,并且是免费提供这种支持的。

一款由公司所开发的服务器,它被归类为商业服务器,其质量达到了产品级,不过应用的情况很少。

4. Resin,它属于公司的产品范畴,它是一款极为流行的服务器,它针对和JSP进行了相关提供。

良好的支持, 性能也比较优良(收费)

这件产品属于公司,它支持规范,并且持续完善以契合新的开发需求,适用于大型项目,收费,使用频率不高,适合大公司,很猛。

目录结构

启动 Tomca

执行命令: run

1. 停止 1. 点击 服务器窗口,直接点击的关

开启 根文件夹,进入 其中的 bin 文件夹,找到里面的 .bat 文件,用鼠标左键双击两下,如此这般,便有机会暂停 服务器运行(此为推荐做法)。

修改 服务端

最好在10000以上

服务中部署 WEB 应用什么是Web应用

可以说,WEB应用属于多个web资源所构成的集合,简而言之,web应用能够被理解成硬盘之上的一个目录,此目录是用来去管理多个web资源的。

被称作Web应用程序,或者Web工程的内容,通常就是Web应用,通俗来讲,它也就是网站。

WEb应用组成

一项 WEB 应用,是由好些个 WEB 资源或者别的文件所构成的,这里面涵盖着 html 文件,还有 css 文件,以及 js 文件,另外还有动。

態網頁面,Java程序,支持jar包intellij idea tomcat配置,配置文件等,開發人員在開發時,針對web應用。

将这些文件依照规定的目录结构去存放,不然的话,当把 web 应用交付给 web 服务器进行管理的时候,不但说不定会致使 web 应用没办法被访问,而且还会造成 web 服务器启动出现报错。

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

部署方式1:

将 web 工程的目录拷贝到 的 目录下

这是一个名为news的Web工程,当前其里面全部都是静态资源,这些静态资源包括html以及图片。

2. 将该news目录/文件夹 拷贝到 的目录下

3. 在浏览器里进行输入操作,输入的内容呢,则是: http://ip:port/news/子目录../文件 ,这一长串字符。

部署方式2:

通过配置文件来部署(只做介绍)

在处于下的conf目录之下,比如hsp.xml这样的配置文件存在于此,要提醒的是,知晓借助配置能够将一个web应用映射到指定的目录,而这能够解决磁盘空间分配方面的问题。

发起对 web 工程的访问,具体为访问这样一个链接地址,即 http://ip:port/hsp/index.html ,这一行为所代表的含义是,其所访问的是 D:\album 目录所在处且名为 index.html 的工程,而此工程属于 ROOT 的范畴,是对该工程的一种访问操作。

2.1,在浏览器地址栏当中,输入访问地址,具体如下:http://ip:port ,当不存在 Web 工程或者应用名的情况下,默认所访问的是 ROOT 工程。

2.2 于浏览器地址栏之中进行输入的那个访问地址是这样的,http://ip:port/工程名/ ,其不存在资源名,并且是默认去访问 index.jsp 页面。

浏览器访问 Web 服务过程

回顾前面的 开发技术

浏览器访问 web 服务器文件 UML 时序图

注意事项和细节热加载选项说明

解读

当我们进行更新操作时,会自动更新类与资源,此为用“on”表示的情况,当jsp/html文件修改时,能够生效,然而要是修改的是java文件,就需要特定动作才会生效。“on frame”表示的是,当IDEA失去焦点,比如处于最小化状态时,也会致使jsp/html发生更新了,不过要是java修改了,依旧需要进行端口修改。

这里被修改的端口, 仅仅会对当下的项目产生影响,并非是去改动.xml。

3. out 目录是什么

当开启运行的时候,会产生出一个 out 目录,这个目录是原本项目资源的映射体现,我们通过浏览器所访问的资源正是这个 out 目录。

当我们把外部的资源,诸如图片、文件、js、css等等,拷贝到项目里时,要是出现了没法访问的404错误。那么解决的方式是,重启Tom。

工程的目录

如有侵权请联系删除!

13262879759

微信二维码