2016-09-25 385 views
0

我收到一個錯誤在編譯成功時,在mybrowser中運行時出現了一個意外錯誤(type = Not Found,status = 404)錯誤。
爲什麼我的應用程序找不到我的jsp頁面?我應該包含哪些內容才能找到這些內容?我得到有一個意外的錯誤(type = Not Found,status = 404)錯誤?

application_configuration

@Configuration 
@EnableWebMvc 
@ComponentScan(basePackages = "com.EventToday.event") 
public class ApplicationConfig { 

      @Bean 
      public ViewResolver viewResolver() { 
       InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); 
       viewResolver.setViewClass(JstlView.class); 
       viewResolver.setPrefix("/WEB-INF/pages/"); 
       viewResolver.setSuffix(".jsp"); 
       return viewResolver; 
      } 

      @Bean 
      public MessageSource messageSource() { 
       ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); 
       messageSource.setBasename("messages"); 
       return messageSource; 
      } 

} 

#hibernate_configuration 
@Configuration 
@EnableTransactionManagement 
@ComponentScan({ "com.EventToday.event" }) 
@PropertySource(value = { "classpath:application.properties" }) 
public class hibernateconfig { 

     @Autowired 
     private Environment environment; 

     @Bean 
     public LocalSessionFactoryBean sessionFactory() { 
      LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean(); 
      sessionFactory.setDataSource(dataSource()); 
      sessionFactory.setPackagesToScan(new String[] { "com.EventToday.event.model" }); 
      sessionFactory.setHibernateProperties(hibernateProperties()); 
      return sessionFactory; 
     } 

     @Bean 
     public DataSource dataSource() { 
      DriverManagerDataSource dataSource = new DriverManagerDataSource(); 
      dataSource.setDriverClassName(environment.getRequiredProperty("spring.datasource.driverClassName")); 
      dataSource.setUrl(environment.getRequiredProperty("spring.datasource.url")); 
      dataSource.setUsername(environment.getRequiredProperty("spring.datasource.username")); 
      dataSource.setPassword(environment.getRequiredProperty("spring.datasource.password")); 
      return dataSource; 
     } 

     private Properties hibernateProperties() { 
      Properties properties = new Properties(); 
      properties.put("spring.jpa.properties.hibernate.dialect", environment.getRequiredProperty("spring.jpa.properties.hibernate.dialect")); 
      properties.put("spring.jpa.show_sql", environment.getRequiredProperty("spring.jpa.show-sql")); 
      properties.put("spring.jpa.properties.hibernate.format_sql", environment.getRequiredProperty("spring.jpa.properties.hibernate.format_sql")); 
      return properties;   
     } 

     @Bean 
     @Autowired 
     public HibernateTransactionManager transactionManager(SessionFactory s) { 
      HibernateTransactionManager txManager = new HibernateTransactionManager(); 
      txManager.setSessionFactory(s); 
      return txManager; 
     } 


} 


#service_controller 

@RestController 
@RequestMapping("/") 
public class eventController { 

    @Autowired 
    private eventsServices eventsservices; 


    @RequestMapping(value="/events", 
      method=RequestMethod.GET 
      //produces=MediaType.APPLICATION_JSON_VALUE 
      ) 
    public ResponseEntity<Collection<events>> getEvents(){ 
     Collection<events> evnts = eventsservices.findAll(); 

     return new ResponseEntity<Collection<events>>(evnts,HttpStatus.OK); 

    } 

    @RequestMapping(value="/events/{id}", 
      method=RequestMethod.GET 
      //produces=MediaType.APPLICATION_JSON_VALUE 
      ) 
    public ResponseEntity<events> getEvent(@PathVariable("id") int id){ 
     events evnts = eventsservices.findById(id); 
     if(evnts==null){ 
      return new ResponseEntity<events>(evnts, HttpStatus.NOT_FOUND); 
     } 

     return new ResponseEntity<events>(evnts,HttpStatus.OK); 

    } 
} 

#pom.xml 

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.EventToday</groupId> 
    <artifactId>EventToday</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>EventToday</name> 
    <description>projects for events</description> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.4.1.RELEASE</version> 
     <relativePath/> <!-- lookup parent from repository --> 
    </parent> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
     <java.version>1.8</java.version> 
     <springframework.version>4.0.6.RELEASE</springframework.version> 
     <hibernate.version>4.3.6.Final</hibernate.version> 
     <mysql.version>5.1.31</mysql.version> 
     <joda-time.version>2.3</joda-time.version> 
     <testng.version>6.9.4</testng.version> 
     <mockito.version>1.10.19</mockito.version> 
     <h2.version>1.4.187</h2.version> 
     <dbunit.version>2.2</dbunit.version> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
      </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-tomcat</artifactId> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-orm</artifactId> 
      </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-data-jpa</artifactId> 
     </dependency> 
     <!-- <dependency> 
      <groupId>org.apache.tomcat.embed</groupId> 
      <artifactId>tomcat-embed-jasper</artifactId> 
      <scope>provided</scope> 
     </dependency> --> 
     <!-- Hibernate --> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-entitymanager</artifactId> 
      <version>${hibernate.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-core</artifactId> 
      </dependency> 

     <!-- jsr303 validation --> 
     <dependency> 
      <groupId>javax.validation</groupId> 
      <artifactId>validation-api</artifactId> 
      <version>1.1.0.Final</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-validator</artifactId> 
     </dependency> 

     <!-- MySQL --> 
     <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.mariadb.jdbc</groupId> 
      <artifactId>mariadb-java-client</artifactId> 
      <version>1.5.2</version> 
     </dependency> 

     <!-- < Servlet+JSP+JSTL > 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>javax.servlet-api</artifactId> 
      <version>3.1.0</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet.jsp</groupId> 
      <artifactId>javax.servlet.jsp-api</artifactId> 
      <version>2.3.1</version> 
     </dependency--> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>jstl</artifactId> 
      <version>1.2</version> 
     </dependency> 

    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 
    </build> 


</project> 

#/WEB-INF/pages/ in in src/java/webapp/ 

what i'm missing here? 
+0

如果從Eclipse中運行/ STS再檢查一次是否罐子實際拷貝到WEB_INF/lib目錄?您可以轉到服務器選項卡,右鍵單擊應用程序,然後單擊「瀏覽部署位置」。不知道爲什麼,但有時Eclipse不會複製它們。 –

+0

謝謝!現在解決。 – bharat

回答

2

你需要把@ResponseBody在你休息的方法。

這個標籤告訴Spring返回對象是響應的內容。

+0

它沒有工作。你能解釋一下嗎? – bharat

+0

您已經將控制器標記爲RestController。 RestController標籤來自Spring 4.x,它已經包含ResponseBody。這是不好的答案它不會幫你... –

0

由於萊安德羅丹塔斯說你應該在你的休息方法上添加@ResponseBody。即

@RequestMapping(value="/events", 
     method=RequestMethod.GET 
     //produces=MediaType.APPLICATION_JSON_VALUE 
     ) 
@ResponseBody 
public ResponseEntity<Collection<events>> getEvents(){ 
    Collection<events> evnts = eventsservices.findAll(); 

    return new ResponseEntity<Collection<events>>(evnts,HttpStatus.OK); 

} 

註釋,表示方法的返回值應綁定到該網絡響應體link

+1

不,這是不好的答案,RestController已經包含ResponseBody它是多餘的... –

相關問題