2017-06-22 9 views
0

私はすでにtomcat9にwar spring MVCをデプロイしています。既に実行していますが、春にgetmapping( "/ tesget")を作成しますが、サーブレットを作成すると結果のgetmappingが間違っています。TomcatにwarをデプロイするときのSpring MVC Servlet

コントローラ:

@GetMapping("tesget") 
@ResponseStatus(HttpStatus.OK) 
public List getTes2() throws Exception { 
    return userService.getTes2(); 
} 

サーブレット:

public class Servlet extends HttpServlet { 

     public void init() throws ServletException 
     { 
      // Do required initialization 
     } 

    public void doGet(HttpServletRequest request, 
      HttpServletResponse response) 
      throws ServletException, IOException { 

      PrintWriter out = response.getWriter(); 
      out.println("<HTML>"); 
      out.println("<HEAD>"); 
      out.println("<TITLE>Servlet Testing</TITLE>"); 
      out.println("</HEAD>"); 
      out.println("<BODY>"); 
      out.println("Welcome to the Servlet Testing Center"); 
      out.println("</BODY>"); 
      out.println("</HTML>"); 
     } 

     public void destroy() 
     { 
      // do nothing. 
     } 

} 

のweb.xml:私は、サーブレットと戦争を作成する前に、私はローカルホストに行くとき

<!DOCTYPE web-app PUBLIC 
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
"http://java.sun.com/dtd/web-app_2_3.dtd" > 

<web-app> 
    <servlet> 
     <servlet-name>Servlet</servlet-name> 
     <servlet-class>com.project.maven.config.Servlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>Servlet</servlet-name> 
     <url-pattern>/</url-pattern> 
    </servlet-mapping> 

</web-app> 

、私は通常実行しています: 8080/SpringNew/tesget、結果はtrue、データベースからのJSONをリストするが、私はサーブレットを作成すると、URL localhost:8080/SpringNew/te sgetは間違っています。結果は次のとおりです。

ようこそサーブレットのテストセンターに

この問題を解決する方法?ありがとう。

ボビー

答えて

0
  1. 何あなたの他の設定について!
  2. あなたの設定について確認している場合@GetMapping("/tesget")
+0

こんにちは、私は上記の別の答えで他の設定を投稿しました。チェックしてください。ありがとう!私はすでにgetmappingでテストしていますが、サーブレットのdoGetの結果であるjsonリストを出力しません。 –

+0

このリンクを見て、私はそれが助けて欲しいhttp://viralpatel.net/blogs/spring-4-mvc-rest-example-json/ – Generic

+0

まだ間違い。どうして? Tomcatにデプロイしたいときにconfigureサーブレットを置く必要がありますか? –

1

てみてください、あなたのコントローラクラスコード

  • を送信AppInitializer.java

    public class AppInitializer implements WebApplicationInitializer { 
    
        public void onStartup(ServletContext container) throws ServletException { 
    
         AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext(); 
         ctx.register(AppConfig.class); 
         ctx.setServletContext(container); 
    
         ServletRegistration.Dynamic servlet = container.addServlet(
           "dispatcher", new DispatcherServlet(ctx)); 
    
         servlet.setLoadOnStartup(1); 
         servlet.addMapping("/"); 
        } 
    } 
    

    HibernateConfiguration.java

    @Configuration 
    @EnableTransactionManagement 
    @ComponentScan({ "com.project.maven." }) 
    @PropertySource(value = { "classpath:application.properties" }) 
    
    public class HibernateConfiguration { 
    
        @Autowired 
        private Environment environment; 
    
        @Bean 
        public LocalSessionFactoryBean sessionFactory() { 
         LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean(); 
         sessionFactory.setDataSource(dataSource()); 
         sessionFactory.setPackagesToScan(new String[] { "com.project.maven.entity" }); 
         sessionFactory.setHibernateProperties(hibernateProperties()); 
         return sessionFactory; 
        } 
    
        @Bean 
        public DataSource dataSource() { 
         DriverManagerDataSource dataSource = new DriverManagerDataSource(); 
         dataSource.setDriverClassName(environment.getRequiredProperty("jdbc.driverClassName")); 
         dataSource.setUrl(environment.getRequiredProperty("jdbc.url")); 
         return dataSource; 
        } 
    
        private Properties hibernateProperties() { 
         Properties properties = new Properties(); 
         properties.put("hibernate.dialect", environment.getRequiredProperty("hibernate.dialect")); 
         properties.put("hibernate.show_sql", environment.getRequiredProperty("hibernate.show_sql")); 
         properties.put("hibernate.format_sql", environment.getRequiredProperty("hibernate.format_sql")); 
         return properties;   
        } 
    
        @Bean 
        @Autowired 
        public HibernateTransactionManager transactionManager(SessionFactory s) { 
         HibernateTransactionManager txManager = new HibernateTransactionManager(); 
         txManager.setSessionFactory(s); 
         return txManager; 
        } 
    
    } 
    

    AppConfig.java

    @Configuration 
    @EnableWebMvc 
    @ComponentScan(basePackages = "com.project.maven") 
    
    public class AppConfig extends WebMvcConfigurerAdapter { 
    
        @Bean 
        public ViewResolver viewResolver() { 
         InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); 
         viewResolver.setViewClass(JstlView.class); 
         viewResolver.setPrefix("/"); 
         viewResolver.setSuffix(".jsp"); 
         return viewResolver; 
        } 
    
        @Override 
        public void addResourceHandlers(ResourceHandlerRegistry registry) { 
         registry.addResourceHandler("/static/**").addResourceLocations("/static/"); 
         registry.addResourceHandler("**/**") 
         .addResourceLocations("classpath:/META-INF/resources/"); // harus ada folder resources di webapp/WEB-INF/ 
        }  
    
        @Bean 
        public MessageSource messageSource() { 
         ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); 
         messageSource.setBasename("messages"); 
         return messageSource; 
        } 
    
  • 関連する問題