Tomcat(一)—— Tomcat的安装与运行

Tomcat简介

对一个Web应用服务器来说,它会完成底层的网络处理:包括Http协议报文格式的编解码、管理具体web请求处理线程等这些操作。

Tomcat是最流行的基于java的服务器,是Apache软件基金会出品的开源软件。

Tomcat的源代码是java写的,所以运行Tomcat需要依赖java虚拟机JVM,所以在安装Tomcat之前需要安装好JDK。

Tomcat安装(Windows)

  • 下载,从官网下载tomcat7的最新ZIP版本
  • 解压缩
  • 配置Tomcat环境变量
    • 计算机属性->高级系统配置->高级->环境变量->系统变量中新建
    • 增加环境变量:CATALINA_HOME,路径为Tomcat解压位置,如:D:\apache-tomcat-7.0.75
  • 设置UTF-8字符集
    • 进入Tomcat安装的conf文件夹,编辑server.xml
    • 找到配置8080默认端口的位置,在xml节点末尾增加URIEncoding=”UTF-8”

Tomcat验证安装(Windows)

  1. 进入系统解压缩后的tomcat目录
  2. 进入bin目录
  3. 执行startup.bat,看到如图提示代表启动成功
    这里写图片描述
  4. 使用浏览器输入:http://localhost:8080/

Tomcat安装(Linux)

  • 下载,从官网下载Tomcat7最新的tar.gz格式的版本
  • 解压缩: tar -zxvf apache-tomcat-7.0.73.tar.gz
  • 配置环境变量
    • sudo vim /etc/profile
    • 在最下方增加:export CATALINA_HOME=/developer/apache-tomcat-7.0.73,CATALINA_HOME为安装tomcat的路径
    • 保存退出,通过vim的 :wq 命令进行保存退出
    • 使配置生效 source /etc/profile
  • 配置UTF-8字符集
    • 进入tomcat安装的conf文件夹,编辑server.xml
    • 找到配置8080默认端口的位置,在xml节点末尾增加URIEncoding=”UTF-8”

Tomcat验证安装(Linux)

  1. 进入系统解压缩后的tomcat目录
  2. 进入bin目录
  3. 执行sudo ./startup.sh
  4. 打开启动tomcat机器的ip地址和默认8080端口,本机访问http://localhost:8080

Tomcat常用命令

  • Tomcat启动
    • Linux:${CATALINA_HOME}/bin/startup.sh
    • Windows:${CATALINA_HOME}/bin/startup.bat
  • Tomcat关闭
    • Linux:${CATALINA_HOME}/bin/shutdown.sh
    • Windows:${CATALINA_HOME}/bin/shutdown.bat

Tomcat运行

Tomcat作为一个Web服务器,可以加载HTML这种静态资源,也可以根据请求参数值得改变从而得到不同结果的动态资源(Servlet实现)。

下面,是一个Tomcat加载资源运行的例子。以去吃黄焖鸡为例。

  • 在Tomcat的webapps目录下,建立Restaurant目录。
  • 在Restaurant目录下创建BraisedChicken.html文件。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Restaurant-BraisedChicken</title>
</head>
<body>
    <h1> 今天中午去吃黄焖鸡米饭</h1>
</body>
</html>
  • 黄焖鸡可以选择分量和辣度。
  • 在Restaurant目录下创建WEB-INF/classes 文件夹
  • 创建BraisedChickenServlet.java
package com.meteor;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class BraisedChickenServlet extends HttpServlet{
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        PrintWriter writer = response.getWriter();

        String size = request.getParameter("size");
        String spicy = request.getParameter("spicy");

        if (size == null && size.equals("")) {
            size = "small";
        }

        if (spicy == null && spicy.equals("")) {
            spicy = "no spicy";
        }

        writer.println("<html><body>");
        writer.println("<h1> give me a "+size+" and "+spicy+" chicken</h1>");
        writer.println("</body></html>");
    }
}
  • 在WEB-INF目录下,创建web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0">
  <display-name>Restaurant</display-name>
  <servlet>
      <servlet-name>choose</servlet-name>
      <servlet-class>
        com.meteor.BraisedChickenServlet
      </servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>choose</servlet-name>
    <url-pattern>/choose</url-pattern>
  </servlet-mapping>
</web-app>        
  • 编译上面的Servlet
    • 试了很多次,最后把tomcat/lib下的servlet-api.jar和BraisedChickenServlet.java考到G盘根目录
    • 去除package com.meteor,把类移动到classes下
    • 去除web.xml中servlet中的com.meteor
    • 执行javac -cp servlet-api.jar -d . BraisedChickenServlet.java
    • 把生成的class文件复制到Restaurant/../WEB-INF/classes下
  • 运行Tomcat,localhost:8082/Restaurant/BraisedChicken.html 和 localhost:8082/Restaurant/choose?size=big&spicy=very spicy

猜你喜欢

转载自blog.csdn.net/u011741311/article/details/80136973