Tomcat部署war包并成功访问网页

这篇具有很好参考价值的文章主要介绍了Tomcat部署war包并成功访问网页。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一. 什么是Servlet

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

二. 如何利用Tomcat部署war包

1. 创建一个maven项目

使用idea创建一个maven项目

tomcat启动war包,tomcat,servlet,java

只需要填写好存放位置, 并选择Maven项目即可. Name选项可根据自己需要填写
创建过后进入idea, 首次创建时, 会有一个加载过程, 稍等一会儿即可, 完成后会自动生成一个pom.xml文件

tomcat启动war包,tomcat,servlet,java

2. 引入依赖

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

tomcat启动war包,tomcat,servlet,java

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

tomcat启动war包,tomcat,servlet,java

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

tomcat启动war包,tomcat,servlet,java

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

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

3. 创建目录

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

tomcat启动war包,tomcat,servlet,java

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

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

1.创建webapp文件

tomcat启动war包,tomcat,servlet,java

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

2.创建web.xml

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

tomcat启动war包,tomcat,servlet,java

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

tomcat启动war包,tomcat,servlet,java

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

tomcat启动war包,tomcat,servlet,java

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窗口进行打包

tomcat启动war包,tomcat,servlet,java

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

tomcat启动war包,tomcat,servlet,java

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

tomcat启动war包,tomcat,servlet,java

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

该 war 包位于一个 target 目录下

tomcat启动war包,tomcat,servlet,java

6. 部署程序

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

tomcat启动war包,tomcat,servlet,java

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

tomcat启动war包,tomcat,servlet,java

7. 检验程序

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

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

至此, Tomcat 部署 war 包并访问就算告成了 !!!文章来源地址https://www.toymoban.com/news/detail-705460.html

到了这里,关于Tomcat部署war包并成功访问网页的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Tomcat部署war程序

    目前比较流行的服务器。Tomcat虽然和Apache或者Nginx这些服务器一样,具有处理HTML页面的功能,但处理静态HTML的能力原不足它们,所以Tomcat通常作为Servlet和JSP容器,单独运行在后端。 我们下载tomcat8: Tomcat下载连接: https://tomcat.apache.org/download-80.cgi#8.5.83 点击apache-tomcat-8.5.83.e

    2024年02月06日
    浏览(44)
  • Tomcat 部署时 war 和 war exploded区别

    在 Tomcat 调试部署的时候,我们通常会看到有下面 2 个选项。 是选择war还是war exploded 这里首先看一下他们两个的区别: war 模式:将WEB工程以包的形式上传到服务器 ; war exploded 模式:将WEB工程以当前文件夹的位置关系上传到服务器; 简单点来说就是 Tomcat 的部署方式不一样

    2024年02月10日
    浏览(37)
  • 轻量级开源服务器Tomcat本地部署并将网页发布到公网远程访问

    目录 1.前言 2.本地Tomcat网页搭建 2.1 Tomcat安装 2.2 配置环境变量 2.3 环境配置 2.4 Tomcat运行测试 2.5 Cpolar安装和注册 3.本地网页发布 3.1.Cpolar云端设置 3.2 Cpolar本地设置 4.公网访问测试 5.结语 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大

    2024年02月04日
    浏览(84)
  • war包如何部署在tomcat

    话说上篇找到的一个开源项目,打包时war类型而非jar类型,因此学习了一下war包如何部署在tomcat, 以及如何访问项目。 首先,我们要确认系统安装了jdk和tomcat,没有的话大家可以去官网下载。 tomcat目录如下:这里就讲一下config和webapps bin:存放一些可以执行的二进制文件,

    2024年02月12日
    浏览(33)
  • Tomcat中利用war包部署

    在Tomcat中利用war包部署Web应用程序时,默认情况下,应用程序的上下文路径(也称为项目名称)将是war文件的名称(去除.war扩展名)。这意味着您在访问Web应用程序时必须在URL中包含项目名称。例如,如果war文件名为\\\"myapp.war\\\",则您必须访问\\\"http://localhost:8080/myapp/\\\"才能访问该

    2024年02月15日
    浏览(37)
  • 基于嵌入式Tomcat的War包启动器

    最近针对java项目的部署方式进行整理,jenkins/tomcat/windows工具/linux脚本/web部署平台等等 发现war包通过tomcat部署比较繁琐,等待时间长,配置规则复杂对于小白很不友好,也难以接入到自定义的部署工具/平台中 之前开发的Jar包部署平台是servlet开发通过嵌入式tomcat部署,借此打

    2024年02月11日
    浏览(56)
  • Linux中Tomcat发布war包后无法正常访问非静态资源

    在CentOS8中安装完WEB环境,首次部署WEB项目DEMO案例,发现可以静态的网页内容, 但是无法向后台发送异步请求,全部出现 404 问题,导致数据库数据无法渲染到界面上。 CentOS请求中提示 用来获取资源的连接不安全 因为使用的 HTTP 协议访问的项目 不安全是正常的,请暂时忽略

    2024年02月09日
    浏览(50)
  • Jenkins环境部署与应用(Tomcat+war包方式)

            本文章采用Tomcat+Jenkins.war的方式进行环境部署,这是通用环境,在任何系统下都可以这样部署。当然,Jenkins官方也有提供windows版本、linux版本、mac版本等其他安装方式。         实操环境是在windows11本地电脑安装的,也就是在本地搭建的环境,只能本地访问,作

    2024年02月16日
    浏览(42)
  • Unity打包浏览器端网页HTML(WebGL)以及部署到Tomcat浏览器访问报错问题解决

    Unity 默认打包是 PC 端客户端程序,想要打包浏览器可以访问的 WebGL 网页,需要修改一些配置。 我使用的 Unity 版本是 2021.3.24f1 。 1.1 点击 File —— Build Settings... 1.2 点击 Add Open Scenes .把全部场景加入 Scene In Build 列表中 网上说不全部加进去会找不到需要跳转的场景,我还没涉

    2024年02月16日
    浏览(57)
  • SpringBoot2.0(Spring读取配置文件常用方法,打war包在Tomcat中启动)

    在springBoot声明周期内,可以使用@Value注解从SpringBoot的默认配置文件中读取配置信息 例如在Controller中使用: @Value可以放到属性或方法上,能够正常使用的前提是所在类,必须在SpringBoot的生命周期内。 我们怎么把一个类放到Spring的生命周期中进行管理?使用的是@Component注解

    2024年02月09日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包