';找不到任何服务。”;Spring和jQuery中的错误(ajax调用)
我有一个Java服务器,在Spring框架下有多个GET和POST请求,工作正常。现在,我已经在我的项目中创建了一个jsp文件来创建一个简单的表单(CustomerID、Title、Message)。单击表单的submit按钮后,我想将JSON格式的表单数据发布到我的服务中。当我使用高级REST客户端触发此服务调用(POST请求)时,它工作正常。但是,当部署在Tomcat服务器上时,表单的这个特定前端不会在浏览器中打开。相反,我的屏幕上显示“找不到服务” 在摆弄了我的web.xml之后,我意识到如果我删除以下代码:';找不到任何服务。”;Spring和jQuery中的错误(ajax调用),jquery,ajax,spring,tomcat,http-post,Jquery,Ajax,Spring,Tomcat,Http Post,我有一个Java服务器,在Spring框架下有多个GET和POST请求,工作正常。现在,我已经在我的项目中创建了一个jsp文件来创建一个简单的表单(CustomerID、Title、Message)。单击表单的submit按钮后,我想将JSON格式的表单数据发布到我的服务中。当我使用高级REST客户端触发此服务调用(POST请求)时,它工作正常。但是,当部署在Tomcat服务器上时,表单的这个特定前端不会在浏览器中打开。相反,我的屏幕上显示“找不到服务” 在摆弄了我的web.xml之后,我意识到
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>ecvServlet</servlet-name>
<servlet-class>com.***.platform.ecvcheck.NodeStatusServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ecvServlet</servlet-name>
<url-pattern>/node</url-pattern>
</servlet-mapping>
CXF服务器
org.apache.cxf.transport.servlet.CXFServlet
1.
CXF服务器
/*
ecvServlet
com.**.platform.ecvcheck.NodeStatusServlet
1.
ecvServlet
/节点
从我的web.xml文件中,form.jsp文件可以正常打开。但是GET和POST请求(即使是与form.jsp无关的请求)都不会工作。因此,点击Submit按钮时不会调用任何服务
我的最终web.xml如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>feedex-app</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/appContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
<listener>
<listener-class>com.***.platform.config.PlatformContextLoaderListener</listener-class>
</listener>
<display-name>feedex-app</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
feedex应用程序
上下文配置位置
WEB-INF/appContext.xml
org.springframework.web.context.request.RequestContextListener
com.***.platform.config.PlatformContextLoaderListener
feedex应用程序
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
有人能帮助我如何在Tomcat服务器(webapp)中整合前端吗
谢谢大家! 添加以下内容修复了该问题:
<init-param>
<param-name>static-resources-list</param-name>
<param-value>/(\w)+.html</param-value>
</init-param>
静态资源列表
/(\w)+.html
我的最终web.xml如下所示
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>feedex-app</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/appContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
<listener>
<listener-class>com.***.platform.config.PlatformContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<init-param>
<param-name>static-resources-list</param-name>
<param-value>/(\w)+.jsp</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>ecvServlet</servlet-name>
<servlet-class>com.***.platform.ecvcheck.NodeStatusServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ecvServlet</servlet-name>
<url-pattern>/node</url-pattern>
</servlet-mapping>
<display-name>feedex-app</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
feedex应用程序
上下文配置位置
WEB-INF/appContext.xml
org.springframework.web.context.request.RequestContextListener
com.***.platform.config.PlatformContextLoaderListener
CXF服务器
org.apache.cxf.transport.servlet.CXFServlet
静态资源列表
/(\w)+.jsp
1.
CXF服务器
/*
ecvServlet
com.**.platform.ecvcheck.NodeStatusServlet
1.
ecvServlet
/节点
feedex应用程序
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
添加以下选项修复了该问题:
<init-param>
<param-name>static-resources-list</param-name>
<param-value>/(\w)+.html</param-value>
</init-param>
静态资源列表
/(\w)+.html
我的最终web.xml如下所示
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>feedex-app</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/appContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
<listener>
<listener-class>com.***.platform.config.PlatformContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<init-param>
<param-name>static-resources-list</param-name>
<param-value>/(\w)+.jsp</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>ecvServlet</servlet-name>
<servlet-class>com.***.platform.ecvcheck.NodeStatusServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ecvServlet</servlet-name>
<url-pattern>/node</url-pattern>
</servlet-mapping>
<display-name>feedex-app</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
feedex应用程序
上下文配置位置
WEB-INF/appContext.xml
org.springframework.web.context.request.RequestContextListener
com.***.platform.config.PlatformContextLoaderListener
CXF服务器
org.apache.cxf.transport.servlet.CXFServlet
静态资源列表
/(\w)+.jsp
1.
CXF服务器
/*
ecvServlet
com.**.platform.ecvcheck.NodeStatusServlet
1.
ecvServlet
/节点
feedex应用程序
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
您的CXFServlet url映射就是问题所在。您将映射设置为/*。因此,所有请求,甚至静态资源都被路由到CXFServlet。尝试将CXFServlet映射到其他对象。它会很好用的。您不需要静态资源列表。您的CXFServlet url映射就是问题所在。您将映射设置为/*。因此,所有请求,甚至静态资源都被路由到CXFServlet。尝试将CXFServlet映射到其他对象。它会很好用的。您不需要静态资源列表。前端文件放在哪里?在webapp文件夹(WEB-INF外部)。前端文件放在哪里?在webapp文件夹(WEB-INF外部)。