Tomcat部署war包并成功访问网页详细图文教程

 更新时间:2023年12月26日 11:58:19   作者:别时须清欢  
Tomcat是目前web开发中非常流行的Web服务器,这篇文章主要给大家介绍了关于Tomcat部署war包并成功访问网页的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下

一. 什么是Servlet

servlet是一种实现动态页面所需的技术, 是一组Tomcat提供给程序员的API,帮助程序员高效开发的一个web app

二. 如何利用Tomcat部署war包

1. 创建一个maven项目

使用idea创建一个maven项目

只需要填写好存放位置, 并选择Maven项目即可. Name选项可根据自己需要填写

创建过后进入idea, 首次创建时, 会有一个加载过程, 稍等一会儿即可, 完成后会自动生成一个pom.xml文件

2. 引入依赖

进入中央仓库(中央仓库首页地址), 在搜索栏进行搜索servlet, 选择 Java Servlet API ,即可到达以下界面选择自己需要的版本号(Servlet版本号必须和Tomcat匹配)进行下载即可(对应servlet和Tomcat查询地址)

点击下载对应版本号进入该页面

选择Maven对话框, 将下面maven下面蓝色对话框中的内容复制到pom.xml文件中

输入 dependencies标签, 将上述复制内容粘贴到该标签内引入依赖. 首次引入时, 框内文字有些地方在idea上是红色的, 此时idea会自动将该依赖对应的jar包下载到本地, 等待下载完成刷新就不红了. 此时, 基本上我们的引入servlet就算完成了

除了将maven框内的内容复制到pom.xml文件中, 还可以选择下载对应的jar包, 然后将其拖拽到idea中即可

3. 创建目录

当上述都完成以后, 在idea项目栏中可以看到如下几个包

  • src包 : 代表源代码所在目录
  • main/java : 表示源代码的根目录, 后续创建的.java文件都会在该目录中
  • main/resources : 表示项目的一些资源文件所在目录
  • test/java : 表示测试代码的根目录

除了上述这些创建maven项目过后本身就有的文件, 还需要自身创建几个文件

1.创建webapp文件

注意一定是在main目录下创建一个名为 webapp 的目录

2.创建web.xml

先在 webapp 目录下创建一个 WEB-INF 目录

接着在 创建的 WEB-INF 目录下创建一个 web.xml 文件

完成过后, 在项目栏中便有了如下目录关系

3.编写 web.xml 文件

在web.xml 文件中直接粘贴以下代码, 可能会有红色报错, 此处并非代码错误, 而是ieda对于除java格式外的其他检测并不一定十分准确, 可以尝试利用ctrl + enter 处理报错, 不处理也可以.

<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
  <display-name>Archetype Created Web Application</display-name>
</web-app>

4. 编写代码

在main/java下创建一个java类并继承 HttpServlet, 重写doGet方法.

@WebServlet("/hello")
// 父类中已经有了doGet. 此处希望用子类代替父类的
public class HolleServlet extends HttpServlet {
    @Override
    // 由Tomcat来自动调用
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 父类的doGet方法只是返回一个错误页面 需要注释掉
        //super.doGet(req, resp);
        System.out.println("hello world");

        // resp.getWriter()返回的是一个PrintWriter,这是一个打印输出流
        // resp.getWriter().write 只能打印文本输出格式(包括标签), 但不可以打印对象
        resp.getWriter().write("hello");
    }
}

需要注意的事以下几点:

1.在这个类上方加上@WebServlet(“/hello”) 注解 : 表示Tomcat收到的请求中, 只有路径为/hello的请求才会去调用这个类的代码 (该注解必须加, 才能关联一个路径)

2.重写doGet方法(不一定为doGet方法, 需要构造什么请求就重写什么) , req表示收到的HTTP请求, resp表示要构造的HTTP响应. 当Tomcat收到Get请求时, 则会调用该方法.

3.HttpServletRequest 表示 HTTP 请求. Tomcat 按照 HTTP 请求的格式把 字符串 格式的请求转成了一个HttpServletRequest 对象. 后续想获取请求中的信息(方法, url, header, body 等) 都是通过这个对象来获取.

4.HttpServletResponse 表示 HTTP 响应. 代码中把响应对象构造好(构造响应的状态码, header, body 等)

5.resp.getWriter() 会获取到一个流对象, 通过这个流对象就可以写入一些数据, 写入的数据会被构造成一个 HTTP 响应的 body 部分, Tomcat 会把整个响应转成字符串, 通过 socket 写回给浏览器.

5. 打包程序

使用maven窗口进行打包

找到里面的打包功能双击即可

需要注意的是, 当我们此时直接点击打包, 生成默认是一个名称复杂的 jar 包, 但是 Tomcat 认的是 war 包, 因此 我们需要修改一些 pom.xml 文件, 让其默认打包为一个自命名的 war包.

通过 packaging 标签表明打包形式, finalName标签表明 war 包名称. 完成后, 重新点击打包此时就可以获得一个自命名的 war 包了.

该 war 包位于一个 target 目录下

6. 部署程序

将上面的 war 包复制一份到 Tomcat/webapps 下

启动 Tomcat (Tomcat/bin/startup.bat) 加载 war 包, 在 webapps目录下便会生成一个同 war 包同名的目录, 此时便算部署完成了

7. 检验程序

运行 Tomcat 打开网页输入127.01.01:8080/0310/hello, 得到如下页面说明程序正确

这里, /0310 即为第一级目录, 也就是你的 Context Path 路径(包名路径) , hello 为Servlet Path 路径, 也就是你注解中的路径

至此, Tomcat 部署 war 包并访问就算告成了 !!!

总结

到此这篇关于Tomcat部署war包并成功访问网页的文章就介绍到这了,更多相关Tomcat部署war包访问网页内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Tomcat 7.0多端口配置详解

    Tomcat 7.0多端口配置详解

    这篇文章主要介绍了Tomcat 7.0多端口配置详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • netty 实现tomcat的示例代码

    netty 实现tomcat的示例代码

    这篇文章主要介绍了netty 实现tomcat,主要包括自定义基础类及netty 服务端的示例代码详解,通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 关于给Tomcat设置maxPostSize的问题及注意事项

    关于给Tomcat设置maxPostSize的问题及注意事项

    这篇文章主要介绍了关于给Tomcat设置maxPostSize的问题及注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Tomcat使用Log4j输出catalina.out日志

    Tomcat使用Log4j输出catalina.out日志

    今天小编就为大家分享一篇关于Tomcat使用Log4j输出catalina.out日志,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • 阿里云Centos7下安装Redis及tomcat设置自启动的方法

    阿里云Centos7下安装Redis及tomcat设置自启动的方法

    这篇文章主要介绍了阿里云Centos7下安装Redis及tomcat设置自启动的方法,本文实例代码相结合的形式给大家介绍的非常详细,需要的朋友可以参考下
    2018-03-03
  • Linux中使用Docker容器构建Tomcat容器的完整教程

    Linux中使用Docker容器构建Tomcat容器的完整教程

    Apache Tomcat 是一款广泛使用的开源 Java 应用服务器,适用于运行 Java Servlet 和 JSP 应用程序,本教程将详细介绍如何在 Docker 中构建并运行一个 Tomcat 容器,并提供相应的步骤和解释,需要的朋友可以参考下
    2024-09-09
  • redission-tomcat快速实现从单机部署到多机部署详解

    redission-tomcat快速实现从单机部署到多机部署详解

    这篇文章主要介绍了redission-tomcat快速实现从单机部署到多机部署详解,本文介绍一个基于redis的tomcat session管理开源项目:redission-tomcat,可无代码侵入式地快速实现session共享,需要的朋友可以参考下
    2019-06-06
  • Tomcat starup.bat脚本开机自启动的实现

    Tomcat starup.bat脚本开机自启动的实现

    本文主要介绍了Tomcat starup.bat脚本开机自启动的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • Maven3.8.1使用Tomcat8插件启动项目的方法(亲测有效)

    Maven3.8.1使用Tomcat8插件启动项目的方法(亲测有效)

    在本地maven的settings.xml文件中添加阿里云镜像,然后在pom.xml文件中添加tomcat8插件的配置,重新下载依赖,运行tomcat8:run命令,成功启动项目,本文介绍Maven3.8.1使用Tomcat8插件启动项目的方法,感兴趣的朋友一起看看吧
    2024-11-11
  • intelli idea中配置Tomcat找不到的解决办法

    intelli idea中配置Tomcat找不到的解决办法

    这篇文章主要介绍了intelli idea中配置Tomcat找不到的解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09

最新评论