首页 > 技术文章 > 如何创建并运行一个Servlet程序

Solitary-Rhyme 2021-11-20 00:09 原文

1. 安装并运行Tomcat

我使用的Tomcat版本是8.0.50 x64,如果你懒得去找其它版本可以点这里下载(提取码:e7t4),下载后解压,点击.\bin\目录下的startup.bat文件,可以看到命令窗口打开并显示服务器启动成功,Tomcat就运行成功了。如果没有启动成功或命令行窗口一闪而过,那么可能是你的JAVA_HOME配置错误,请重新配置JAVA_HOME

 

接下来测试Tomcat服务器,在保持命令行窗口打开的情况下,打开游览器,在网址栏输入http://localhost:8080,如果出现如下界面,就说明Tomcat服务器运行正常

 

如果要关闭Tomcat服务器只需要关闭命令行窗口即可

 

2. 设置Servlet程序前置

首先新建一个Web项目(记得把刚才打开的Tomcat的命令行窗口关掉)

 

 然后在根目录下,新建一个Module,这次选Java

 

 接下来右键新建的Java Module,选择add Framework Support...,勾选Web Application,不要动其它选项

 创建成功后目录如下图

 

 

 接下来,需要安装tomcat的servlet第三方JAR包。如果你使用的是我提供的链接下载的资源,可以在 .\lib\ 下找到servlet-api.jar文件

 在Module根目录下,创建一个bin文件夹来装jar包,将准备好的JAR包直接拖进去,右键JAR包,选择Add as Library

 

接下来要指定这个项目使用的Tomcat服务器

打开Run -> Edit Configurations,点击右上角的加号

 

 在左边的列表里找到Tomcat,选中Local,出现如下界面。点击下方的Fix,再点Apply

 

到这里,所有的前置工作就准备完毕了

 

 

3. 创建Servlet程序

在src目录下创建一个Java文件,implements Servlet接口,如果你前面配置正常,这里就可以正常引用接口。

然后使用快捷键快速实现接口,最终效果如下

import javax.servlet.*;
import java.io.IOException;

public class ServletHello implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        
    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {

    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}

我们主要使用service方法来获取反馈用以测试,在service里面写点东西,比如 System.out.println("HELLO!!!"); 什么的

 接下来,打开工程下web/WEB-INF/web.xml,这里还要添加一些东西,具体每行代码的作用可以看注释

 

<?xml version="1.0" encoding="UTF-8"?>
<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">

    <!--servlet标签给Tomcat配置Servlet程序-->
    <servlet>
        <!--servlet-name标签:给Servlet程序起别名-->
        <servlet-name>ServletHello</servlet-name>
        <!--servlet-class标签是Servlet程序的全类名-->
        <servlet-class>ServletHello</servlet-class>
    </servlet>

    <!--servlet-mapping标签给servlet程序配置访问地址-->
    <servlet-mapping>
        <!--servlet-name标签的作用是告诉服务器,当前配置的地址给哪个servlet程序使用-->
        <servlet-name>ServletHello</servlet-name>
        <!--url-pattern标签配置访问地址-->
        <!--/斜杠在服务器解析的时候表示地址为:http://ip:port/工程路径
        在底下这个例子中/hello表示http://ip:port/工程路径/hello-->
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>

 

最后,运行程序,弹出首页。再在网址后加入上面程序指定的"hello"

页面跳转,回到IDEA看看终端,发现输出了指定的语句。至此一个Servlet程序就创建成功了

推荐阅读