※※※※※※※※※※※※※※※※※※※※追記前の仮説※※※※※※※※※※※※※※※※※※※※
tomcatデフォルト(現在公式からダウンロードできる最新の9)であれば「ROOT」ディレクトリがあるはずです。
そこがいわゆる「WebRoot」(ドキュメントルート)になっていて
仰っている「tomcatのトップページ」はそのROOTディレクトリ配下のindex.jspが実行されて表示されています。
つまり、http://localhost:8080/
が見ているディレクトリは
tomcatインストールディレクトリ/webapps/ROOT/
であり、基本的にはそこからのパスとなります。
ということで、静的ファイルはROOT配下に置けば良いということになります。
質問者さんの参照しようとしているディレクトリ・ファイルはROOT配下ではなくwebapps配下に置かれたということで、そもそもブラウザからアクセスできない領域に置かれているため、ROOT配下にないので404となったわけですね。
※※※※※※※※※※※※※※※※※※※※/追記前の仮説※※※※※※※※※※※※※※※※※※※※
当方の環境と確認手順です。
・Windows
・tomcat9 ダウンロードページ
手順
0. ダウンロードページより「64-bit Windows zip 」をダウンロードし、PC内の任意のフォルダに展開
0. tomcat展開ディレクトリ/bin/
配下でコマンドプロンプトにてstartup.bat
を実行し、起動
0. http://localhost:8080/
をURLとしてブラウザで実行。tomcatのトップページ表示を確認
0. ROOTディレクトリ配下に「test」ディレクトリを作り、「aa.txt」を作り「test」とだけ入力し保存
0. http://localhost:8080/test/aa.txt
をURLとしてブラウザで実行。
結果(FireFoxですがブラウザは関係ないです):
余談:
・・・でとりあえず表示は出来るようになったのですが、
実際のアプリケーション開発はIDE(Eclipseなど)上で行うことがほとんどですし、
ローカルに入れたtomcatで確認することが多いかと言うと、ちょっと微妙。
私が関わってきたプロジェクトもあくまでEclipse内でWebサーバー立ち上げてブラウザで確認していました。
そもそもテキストファイル表示するためだけに環境整えるわけではないと思うので、
そこは正直なところ飛ばしてもいいんじゃないかなと思う次第です。
提示された書籍は2010年出版のようですし、今から学ぶとしたらちょっと古すぎるかなと。
使われてるtomcat9のリリースはWikipediaによると2018年1月ですしね(資料により若干時期に揺れがあるようですが)
書籍とは確実にバージョンが違います。
Webサーバーだと仕様にそこまで大きな違いはないかもしれませんが、中にはマイナーバージョンアップでディレクトリ構成が変わってしまうフレームワークもあるので、やはり書籍は自身が導入しようとしている環境にあわせるべきですし、新しい方が良いのは言うまでもありません。
Webサーバー内包したEclipseが出ているように便利な時代です。
環境構築部分はある程度ショートカットして、早いところHello Worldしてプログラミングに入りましょうよ。
追記
ただ、当方環境ではwebapps/test1
としたaa.txtもhttp://localhost:8080/test1/aa.txt
でアクセスして表示されました。
ディレクトリ名、ファイル名を変更すると404になり、URLを変更後の名前に合わせるときちんと表示されます。
URLが間違っているか、置き場所が間違っているかどちらかではないでしょうか。
つまり、ほぼ同じようにやって再現確認できないので、あとはこれまでのヒントを元に自身で試行錯誤してもらうしかない状況です。
よく「外部CSSが反映されない」という質問が上がってきますが、それと同じく
URLが間違っているか、正しい場所にファイルがないか、ファイルが破損しているか
のいずれかだと思います。