Java 在eclipse中的tomcat上运行maven项目时未找到请求资源404错误
我正在eclipse中的tomcat上运行基于maven的SpringREST应用程序。在tomcat服务器上运行项目时,显示未找到404请求资源。我从()导入了rest项目 my web.xml文件:Java 在eclipse中的tomcat上运行maven项目时未找到请求资源404错误,java,eclipse,spring,maven,tomcat,Java,Eclipse,Spring,Maven,Tomcat,我正在eclipse中的tomcat上运行基于maven的SpringREST应用程序。在tomcat服务器上运行项目时,显示未找到404请求资源。我从()导入了rest项目 my web.xml文件: <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.or
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>roo-spring-data-jpa</display-name>
<description>Roo generated roo-spring-data-jpa application</description>
<!-- Enable escaping of form submission contents -->
<context-param>
<param-name>defaultHtmlEscape</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:META-INF/spring/applicationContext*.xml</param-value>
</context-param>
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter>
<filter-name>HttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter>
<filter-name>Spring OpenEntityManagerInViewFilter</filter-name>
<filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>HttpMethodFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>Spring OpenEntityManagerInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- Creates the Spring Container shared by all Servlets and Filters -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- Handles Spring requests -->
<servlet>
<servlet-name>roo-spring-data-jpa</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/spring/webmvc-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>roo-spring-data-jpa</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>10</session-timeout>
</session-config>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/uncaughtException</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/resourceNotFound</location>
</error-page>
}
我在这里呆了一个小时,所以我把它贴在这里。谁能帮帮我吗。提前感谢。这是一个常见问题。按照以下步骤操作:
- 单击窗口>显示视图>服务器或右键单击中的服务器 “服务器”视图,选择“属性”
- 双击服务器,打开服务器的概览屏幕。在 服务器位置选项卡,选择“使用Tomcat位置”
- 保存配置并重新启动服务器
就这样 这个问题可能有多种原因
请共享您的web.xml和文件夹结构,以便更好地理解请尝试
http://localhost:8080/spring-数据手册重置/index.jsp
如果不起作用
然后
手动将spring data book reset.war
文件复制到Tomcat/webapps/
中,并以这种方式手动启动服务器-->进入终端中的Tomcat/bin
并键入sh catalina.sh run
。现在尝试使用您的url。它可能有用。
如果不起作用,有时可能是您的配置问题。然后在此处发布您的
web.xml
和ApplicationContextConfiguration.xml
。请检查您的构建路径条目是否正在导出到Tomcat。检查Web部署程序集中项目属性下的条目
希望这有助于显示您的代码。@Jens。谢谢您的重播。我从[]导入了该项目。在这个项目中,我正在运行rest项目。我需要在这里发布哪个文件。@Jens。嘿,我每次运行我的项目时都会遇到相同的错误。你能帮我一下吗?我从这个URL下载了代码:[]即使我运行任何一个项目,它也会出现相同的错误。谢谢你的重播。当前在服务器位置选项卡设置为“使用工作空间元数据”,我无法将其更改为“使用tomcat安装”。当我点击“UseTomcat安装”时,它并没有选择它。在eclipse中删除服务器配置并添加一个新的服务器。然后你就可以编辑了。然后,你需要添加一个新的服务器。谢谢你的重播。因为它是SpringRESTJPA应用程序,所以我没有任何web.xml文件。你可以在这里查看我导入的项目。谢谢你的重播。我刚从git导入了代码。您可以在()检查我的代码。我从上面的链接导入了rest项目。很抱歉反应太晚。
package com.oreilly.springdata.rest;
import javax.persistence.EntityManagerFactory;
import javax.sql.DataSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.orm.jpa.vendor.Database;
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;
/**
* Spring JavaConfig configuration class to setup a Spring container and infrastructure components like a
* {@link DataSource}, a {@link EntityManagerFactory} and a {@lin PlatformTransactionManager}.
*
* @author Oliver Gierke
*/
@Configuration
@ComponentScan
@EnableJpaRepositories
@EnableTransactionManagement
class ApplicationConfig {
/**
* Bootstraps an in-memory HSQL database.
*
* @return
* @see http
* ://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/jdbc.html#jdbc-embedded-database
* -support
*/
@Bean
public DataSource dataSource() {
EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
return builder.setType(EmbeddedDatabaseType.HSQL).build();
}
/**
* Sets up a {@link LocalContainerEntityManagerFactoryBean} to use Hibernate. Activates picking up entities from the
* project's base package.
*
* @return
*/
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
vendorAdapter.setDatabase(Database.HSQL);
vendorAdapter.setGenerateDdl(true);
LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean();
factory.setJpaVendorAdapter(vendorAdapter);
factory.setPackagesToScan(getClass().getPackage().getName());
factory.setDataSource(dataSource());
return factory;
}
@Bean
public PlatformTransactionManager transactionManager() {
JpaTransactionManager txManager = new JpaTransactionManager();
txManager.setEntityManagerFactory(entityManagerFactory().getObject());
return txManager;
}