2015-04-04 5 views
0

У меня есть только Java-конфигурация в Spring Application. Я создал пользовательский объект и Dao для поиска/создания пользователей. Контроллер имеет два метода GET - один для пользователя и один для списка пользователей и один метод POST - для создания/редактирования пользователя.JspViewResolver не работает в java-конфигурации на основе весеннего приложения

После запуска на сервере Tomcat 7 он дает ошибку 404 и сообщение, что «Запрошенный ресурс недоступен.

грузоотправитель сервлет конфигурируется в SpringWebAppInitializer.class:

public class SpringWebAppInitializer implements WebApplicationInitializer { 

@Override 
public void onStartup(ServletContext servletContext) throws ServletException { 

    AnnotationConfigWebApplicationContext appContext = new AnnotationConfigWebApplicationContext(); 
    appContext.register(ApplicationContextConfig.class); 

    servletContext.addListener(new ContextLoaderListener(appContext)); 

    AnnotationConfigWebApplicationContext dispatcherContext = new AnnotationConfigWebApplicationContext(); 
    dispatcherContext.register(DispatcherServlet.class); 

    ServletRegistration.Dynamic dispatcher = servletContext.addServlet("SpringDispatcher", new DispatcherServlet(dispatcherContext)); 
    dispatcher.setLoadOnStartup(1); 
    dispatcher.addMapping("/");  
    } 
} 

Посмотреть распознаватель определяется в ApplicationContextConfig.class:

@Configuration 
@ComponentScan("pl.wybornie.entity") 
@EnableTransactionManagement 
public class ApplicationContextConfig extends WebMvcConfigurerAdapter { 

@Bean(name = "viewResolver") 
public InternalResourceViewResolver getViewResolver() { 

    InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); 
    viewResolver.setPrefix("/WEB-INF/pages/"); 
    viewResolver.setSuffix(".jsp"); 
    return viewResolver; 
    } 
//other configuration beans... 
} 

файлы JSP для USERLIST и UserForm находятся в папке WebContent проекта в разделе:/WEB-INF/pages/user/*. Jsp

Приводятся следующие контроллеры, отвечающие за получение изображений:

@Controller 
@SessionAttributes({"user"}) 
public class UserController { 

@Autowired 
private UserDao userDao; 

@RequestMapping(value = "/user_list.html", method = RequestMethod.GET) 
public String list(Model model, HttpServletRequest request) { 
    model.addAttribute("userList", userDao.usersList()); 

    return "user/userList"; 
} 

@RequestMapping(value = "/create.html", method = RequestMethod.GET) 
public String edit(@RequestParam(value="id", required=false) Long id, Model model) { 
    User user = userDao.findOrCreate(id);  
    model.addAttribute("user", user); 
    return "user/userForm"; 
} 

@RequestMapping(method = RequestMethod.POST) 
public String submitForm(@ModelAttribute("user") User user, BindingResult bindingResult, HttpServletRequest request, Model model) { 

    userDao.saveOrUpdate(user); 

    return "redirect:user_list.html"; 
} 

    public void setUserDao(UserDao userDao) { 
    this.userDao = userDao; 
    } 
} 

ответ

3

Ваш класс должен расширять WebMvcConfigurerAdapter класс.

@Configuration 
@ComponentScan("pl.wybornie.entity") 
@EnableWebMvc 
public class ApplicationContextConfig extends WebMvcConfigurerAdapter{ 


} 
+0

Я forgetted об этом, но к сожалению, это не является причиной моей проблемы ... – argh