Java 在本地服务器和tomcat之间更改url上下文

Java 在本地服务器和tomcat之间更改url上下文,java,tomcat,spring-mvc,spring-security,thymeleaf,Java,Tomcat,Spring Mvc,Spring Security,Thymeleaf,嗨,我正在开发一个有奇怪问题的应用程序。该应用程序在本地tomcat和远程tomcat部署中都可以正常工作,但在某些模块上url上下文会发生变化 下面是一个例子: 首先,我在我的Web.xml中有这一点,以消除疑虑: <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-map

嗨,我正在开发一个有奇怪问题的应用程序。该应用程序在本地tomcat和远程tomcat部署中都可以正常工作,但在某些模块上url上下文会发生变化

下面是一个例子:

首先,我在我的
Web.xml
中有这一点,以消除疑虑:

<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
然而,当动作发生时,它进入了我刚才解释的内容

我无法检查应用程序日志,我不确定这是tomcat问题、spring安全问题还是thymeleaf问题


关于我如何解决这个问题有什么线索吗?否则,我将不得不坚持访问远程日志,这将花费我一点时间来获取访问这些日志的凭据。

考虑到包含表单的页面已经到达,您只需使用“核心”标记库来解析表单的上下文:

<html xmlns:c="http://java.sun.com/jsp/jstl/core"> ...
。。。
而且

<c:url value="/customer/relations/add/" var="customerUrl" />
<form name="cra" method="POST" enctype="application/x-www-form-urlencoded" action="${customerUrl}">

当您试图访问url或将数据发布到url时,请使用

"${pageContext.request.contextPath}/customer/..."
或者您需要包含JSTL代码

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

并使用c:url标记指定url,如

<c:url value="/customer/relations/add/"/>


问题出在服务器端。显然有一些缓存没有被刷新,所以对我的html/thymeleaf的更改没有通过。请注意,这也可能是不干净的代码问题,也可能是本地浏览器缓存问题。

作为第一步,使用Firebug或其他方法检查传出请求URL。如果它包含正确的上下文,您将知道如何查看服务器端。如果没有,那么客户端。它还可能显示指向错误URL的重定向,这可能会提供其他提示。您是否尝试将th:action设置为th:action=“@{'/testapp/customer/relations/add/'}”,以查看它是否有效?我知道这不是正确的方法,但试着尝试一下。好吧,这很奇怪,但显然我的应用程序现在运行得很好。我什么也没做。这很奇怪。我只是把它留在了周末。可能是服务器问题?thymeleaf不需要这样做。请记住,我没有为JSP使用传统的视图解析器。问题是别的,我用的是百里香。请参阅我对另一个答案的评论。
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:url value="/customer/relations/add/"/>