Telnet is a "dumb terminal" program. When you connect to a server/port in telnet, what you type in goes straight to the other end, and any response from the other end goes straight to the console (or more accurately, stdout).
HTTP is a more complicated protocol. You can issue an HTTP GET via telnet, because the "GET" command itself is a single line of text. However, HTTP as practiced from a web browser includes not only the HTTP command, it also includes additional text lines such as the headers (which include the cookies), and in the case of POST, the form data. Since this constitutes multiple lines and the telnet command is normally expecting to initiate transmission when you hit the first end-of-line character, that makes using telnet as a "web browser" rather awkward. More so, even, because telnet stays connected continously, whereas HTTP connects and disconnects on a per-request basis.
Still, telnet is a useful way to
test an HTTP or email server and even to do limited REST functions.
How well it can handle pushing a "SHUTDOWN" command to Tomcat, I don't know. A lot depends on how Tomcat handles that end-of-line character. However, as was mentioned, the "netcat" (nc) command can copy data byte-for-byte, so if telnet doesn't work, try it.
Another possibility is to employ one of the
J2EE management protocols. JSR-88 defines a control and deployment protocol that can be used, for example. I think that there's a newer version, but I don't know what JSR number it is. Likewise, JSR-77 (?) defined a J2EE control standard.