在CentOS 7中手工打造和运行xml文件配置的Servlet,然后使用curl、浏览器、telnet等三种工具各自测试

下载Openjdk并配置环境变量

https://jdk.java.net/java-se-ri/11-MR2是官网下载Openjdk 11的地方。
在CentOS 7中手工打造和运行xml文件配置的Servlet,然后使用curl、浏览器、telnet等三种工具各自测试_第1张图片

sudo wget https://download.java.net/openjdk/jdk11.0.0.1/ri/openjdk-11.0.0.1_linux-x64_bin.tar.gz下载openjdk 11。
在CentOS 7中手工打造和运行xml文件配置的Servlet,然后使用curl、浏览器、telnet等三种工具各自测试_第2张图片

sudo mkdir -p /usr/openjdk11创建目录,sudo tar zx openjdk-11.0.0.1_linux-x64_bin.tar.gz -C /usr/openjdk11/把文件解压到/usr/openjdk11/目录里。
在这里插入图片描述

sudo vim /etc/profile把下边两行内容:

export JAVA_HOME=/usr/openjdk11/jdk-11.0.0.1/
PATH=$PATH:$JAVA_HOME/bin

写进去。
tail -n 2 /etc/profile看到/etc/profile最后两行的内容。
在这里插入图片描述

source /etc/profile使配置文件生效。
在这里插入图片描述

java -version显示如下就是配置好了:

openjdk version "11.0.0.1" 2023-05-09
OpenJDK Runtime Environment 18.9 (build 11.0.0.1+3-5)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.0.1+3-5, mixed mode)

在这里插入图片描述

下载Tomcat并解压

https://archive.apache.org/dist/tomcat/是下载Tomcat的官网地址。
在CentOS 7中手工打造和运行xml文件配置的Servlet,然后使用curl、浏览器、telnet等三种工具各自测试_第3张图片

sudo wget -c https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.80/bin/apache-tomcat-9.0.80.tar.gz下载tomcat 9.0.80。
在CentOS 7中手工打造和运行xml文件配置的Servlet,然后使用curl、浏览器、telnet等三种工具各自测试_第4张图片

sudo tar zxf apache-tomcat-9.0.80.tar.gz进行解压。
在这里插入图片描述

创建Servlet,编译并运行

sudo vim TestServlet.java把下边的内容写进去:

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class TestServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        System.out.println("TestServlet 在处理get()请求...");
        PrintWriter out = response.getWriter();
        response.setContentType("text/html;charset=utf-8");
        out.println("Servlet doGet
"
); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("TestServlet 在处理post()请求..."); PrintWriter out = response.getWriter(); response.setContentType("text/html;charset=utf-8"); out.println("Servlet doPost
"
); } }

在CentOS 7中手工打造和运行xml文件配置的Servlet,然后使用curl、浏览器、telnet等三种工具各自测试_第5张图片

sudo javac -cp apache-tomcat-9.0.80/lib/servlet-api.jar TestServlet.java进行编译。
在这里插入图片描述

sudo mkdir -p apache-tomcat-9.0.80/webapps/MyWebApp/WEB-INF/
sudo mkdir -p apache-tomcat-9.0.80/webapps/MyWebApp/WEB-INF/classes
在tomcat中webapps目录下创建特定的目录。
在这里插入图片描述

sudo vim apache-tomcat-9.0.80/webapps/MyWebApp/WEB-INF/web.xml把下边的内容写进去:


<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
  http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  version="4.0"
  metadata-complete="true">

    <description> Servlet Example. description>
    <display-name> MyServlet Example display-name>
    <request-character-encoding>UTF-8request-character-encoding>

    <servlet>
      <servlet-name>myServletservlet-name>
      <servlet-class>TestServletservlet-class>
    servlet>

    <servlet-mapping>
      <servlet-name>myServletservlet-name>
      <url-pattern>/myservleturl-pattern>
    servlet-mapping>

web-app>

在CentOS 7中手工打造和运行xml文件配置的Servlet,然后使用curl、浏览器、telnet等三种工具各自测试_第6张图片

sudo cp TestServlet.class apache-tomcat-9.0.80/webapps/MyWebApp/WEB-INF/classes/把上边sudo javac -cp apache-tomcat-9.0.80/lib/servlet-api.jar TestServlet.java生成的TestServlet.class复制到apache-tomcat-9.0.80/webapps/MyWebApp/WEB-INF/classes/里边。
在这里插入图片描述

sudo chmod u+x apache-tomcat-9.0.80/bin/startup.sh为当前用户给启动脚本加上可执行权限。
在这里插入图片描述

sudo apache-tomcat-9.0.80/bin/startup.sh启动。
在CentOS 7中手工打造和运行xml文件配置的Servlet,然后使用curl、浏览器、telnet等三种工具各自测试_第7张图片

sudo chmod u+x apache-tomcat-9.0.80/bin/shutdown.shshutdown.sh脚本给当前用户赋予可执行权限,sudo apache-tomcat-9.0.80/bin/shutdown.sh关闭tomcat。
在CentOS 7中手工打造和运行xml文件配置的Servlet,然后使用curl、浏览器、telnet等三种工具各自测试_第8张图片

测试

curl测试

curl http://localhost:8080/MyWebApp/myservlet访问一下。
在这里插入图片描述

浏览器测试

在浏览器里边输入http://localhost:8080/MyWebApp/myservlet

在CentOS 7中手工打造和运行xml文件配置的Servlet,然后使用curl、浏览器、telnet等三种工具各自测试_第9张图片

telnet测试

还可以使用telnet手工拼接报文。
1.在命令行里边输入telnet
2.在telnet>提示符下输入open 127.0.0.1 8080
3.然后按下Ctrl+],请注意Ctrl在屏幕上显示为^
4.在telnet>提示符下按下Enter。
5.然后输入GET /MyWebApp/myservlet HTTP/1.1,按下回车,再输入Host: localhost。即如下所示:

GET /MyWebApp/myservlet HTTP/1.1
Host: localhost

6.按下Ctrl+c退出。

在CentOS 7中手工打造和运行xml文件配置的Servlet,然后使用curl、浏览器、telnet等三种工具各自测试_第10张图片

此文章为10月Day 25学习笔记,内容来源于极客时间《深入拆解 Tomcat & Jetty》。

你可能感兴趣的:(深入拆解Tomcat,&,Jetty,centos,xml,servlet)