You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tomcat部署Plutext docx-html-editor时表单跳转404错误解决方法

Plutext docx-html-editor 部署Tomcat后表单提交跳转404问题

问题描述

  • 将Plutext的docx-html-editor war包部署至Tomcat服务器后,index.html可正常渲染
  • 提交表单跳转至其他页面时,出现404错误:The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
  • 已尝试操作:更换Maven插件版本、将javax servlet替换为最新的jakarta servlet
  • 相关配置:pom.xml构建配置与Web.xml Servlet配置见附图

排查与解决方向

1. 核对Servlet映射路径与表单Action

  • 确认web.xml(或Servlet注解)中配置的url-pattern与表单的action路径完全匹配。比如表单提交路径为/process,但Servlet映射的是/editor/process,就会触发404。
  • 注意Tomcat上下文路径:如果war包部署时上下文不是根路径(例如war包名为docx-editor.war,上下文路径为/docx-editor),表单action需带上上下文路径,或使用相对路径(如action="./process")。

2. 确保Jakarta Servlet适配完全

从javax切换到jakarta时,需完成以下全量替换:

  • pom.xml中所有Servlet相关依赖替换为Jakarta版本,例如:
    <dependency>
        <groupId>jakarta.servlet</groupId>
        <artifactId>jakarta.servlet-api</artifactId>
        <version>6.0.0</version>
        <scope>provided</scope>
    </dependency>
    
  • 修改web.xml的根命名空间为Jakarta EE规范:
    <web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
             version="6.0">
    
  • 代码中所有Servlet相关类的导入包从javax.servlet.*改为jakarta.servlet.*,比如HttpServletRequest、HttpServlet等。

3. 验证Maven打包的正确性

  • 解压war包,检查WEB-INF/classes目录下是否存在对应Servlet的class文件,WEB-INF/lib目录是否包含所有必要依赖包。
  • 确认war包目录结构符合规范:index.html位于war根目录,配置文件在WEB-INF下,编译后的类文件在WEB-INF/classes。

4. 通过Tomcat日志定位根源

查看Tomcat安装目录下logs/catalina.out或localhost.log文件,搜索表单提交请求的日志记录,通常能找到更详细的错误信息(如Servlet类找不到、映射配置错误等),直接定位问题原因。

内容的提问来源于stack exchange,提问作者Dhruvin Moradiya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 12:15:19