Tomcat部署war包时遇到的问题

2024-08-22 19:32

本文主要是介绍Tomcat部署war包时遇到的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天在服务器上部署项目war包的时候遇到了一个问题

当Tomcat启动时(正常启动)

打开浏览器进入项目(这里是PC端,项目主要面向手机端所以界面看上去有点大)

都是正常的,可是当我要post表单到servlet时候就会报错

404 原始服务器没有找到目标资源的当前表示,或者不愿意公开该目标资源

而检查了服务器环境变量,tomcat的service.xml后均没有问题

且tomcat下webapps目录内war包解压出来的文件均正常(WEB-INF下classes文件完整)

我就很纳闷了。找了许多的类似问题查看可却依然得不到答案(期间尝试解决方法较多这里就不写了)

后来在CSDN论坛中发帖求助,成功解决

具体如下:

期间很多楼的大佬都是说这个问题可能是没写ContextPath造成的

可事实上我是写了的。具体代码如下

  <form id="formId" action="${pageContext.request.contextPath}/PatrolResult" method="post">
                    <%-- <input type="hidden" name="method" value="delCheck">--%>
                <c:forEach items="${list}" var="pr">
                    <tr>
                        <td>${pr.line_name}</td>
                        <td>${pr.plan_date}</td>
                        <td>${pr.point_name}</td>
                        <td>${pr.user_name}</td>
                        <td>${pr.access_time}</td>
                        <td>${(pr.result_flag)==1?"正常":"未巡"}</td>
                    </tr>
                </c:forEach>

后来知道第六楼的大佬出现才明白与页面元素有关(可见基础扎实是多么的重要,个人感觉比较惭愧,还是要多回顾基础的东西)

[quote=引用 6 楼 叶遮沉阳 的回复:]
${pageContext.request.contextPath}失效的原因可能有两种:

1. jsp默认<%@ page isELIgnored="true"%>,只要在有EL表达式的jsp页面限制<%@ page isELIgnored="false"%>。 就可以正确解释EL表达式了。

2. 说是web.xml 里面的web-app元素声明的版本号太低,即2.4以上才能用。

建议换种方式:
[code=java]
<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
[/code]
使用 <%=basePath %> 替代 ${pageContext.request.contextPath}[/quote]

 

十分感激这位大佬的解答

这篇关于Tomcat部署war包时遇到的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1097193

相关文章

解读为什么@Autowired在属性上被警告,在setter方法上不被警告问题

《解读为什么@Autowired在属性上被警告,在setter方法上不被警告问题》在Spring开发中,@Autowired注解常用于实现依赖注入,它可以应用于类的属性、构造器或setter方法上,然... 目录1. 为什么 @Autowired 在属性上被警告?1.1 隐式依赖注入1.2 IDE 的警告:

解决java.lang.NullPointerException问题(空指针异常)

《解决java.lang.NullPointerException问题(空指针异常)》本文详细介绍了Java中的NullPointerException异常及其常见原因,包括对象引用为null、数组元... 目录Java.lang.NullPointerException(空指针异常)NullPointer

Docker部署Jenkins持续集成(CI)工具的实现

《Docker部署Jenkins持续集成(CI)工具的实现》Jenkins是一个流行的开源自动化工具,广泛应用于持续集成(CI)和持续交付(CD)的环境中,本文介绍了使用Docker部署Jenkins... 目录前言一、准备工作二、设置变量和目录结构三、配置 docker 权限和网络四、启动 Jenkins

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

关于Nginx跨域问题及解决方案(CORS)

《关于Nginx跨域问题及解决方案(CORS)》文章主要介绍了跨域资源共享(CORS)机制及其在现代Web开发中的重要性,通过Nginx,可以简单地解决跨域问题,适合新手学习和应用,文章详细讲解了CO... 目录一、概述二、什么是 CORS?三、常见的跨域场景四、Nginx 如何解决 CORS 问题?五、基

MySQL安装时initializing database失败的问题解决

《MySQL安装时initializingdatabase失败的问题解决》本文主要介绍了MySQL安装时initializingdatabase失败的问题解决,文中通过图文介绍的非常详细,对大家的学... 目录问题页面:解决方法:问题页面:解决方法:1.勾选红框中的选项:2.将下图红框中全部改为英

Nginx启动失败:端口80被占用问题的解决方案

《Nginx启动失败:端口80被占用问题的解决方案》在Linux服务器上部署Nginx时,可能会遇到Nginx启动失败的情况,尤其是错误提示bind()to0.0.0.0:80failed,这种问题通... 目录引言问题描述问题分析解决方案1. 检查占用端口 80 的进程使用 netstat 命令使用 ss

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤