I am new to spring MVC and I am trying to build an application. However, while running the application I am getting an error that "No mapping found for HTTP request with URI". I am including my code and console log as well. Please help me to sort this out
This is my Web App Initializer class
public class SpringWebAppInitializer implements WebApplicationInitializer {
public void onStartup(ServletContext servletContext) throws ServletException {
AnnotationConfigWebApplicationContext appContext = new AnnotationConfigWebApplicationContext();
appContext.register(ApplicationContextConfig.class);
ServletRegistration.Dynamic dispatcher = servletContext.addServlet("SpringDisptacher", new DispatcherServlet(appContext));
dispatcher.setLoadOnStartup(1);
dispatcher.addMapping("/");
// UtF8 Charactor Filter.
FilterRegistration.Dynamic fr = servletContext.addFilter("encodingFilter", CharacterEncodingFilter.class);
fr.setInitParameter("encoding", "UTF-8");
fr.setInitParameter("forceEncoding", "true");
fr.addMappingForUrlPatterns(null, true, "/");
}
}
This is my ApplicationContextConfig Class
@Configuration
@ComponentScan("com.wfm.account.*")
@EnableTransactionManagement
public class ApplicationContextConfig {
@Autowired
private static Environment env;
private static final String JDBC_DRIVER_CLASS = "oracle.jdbc.driver.OracleDriver";
private static final String JDBC_URL = "URL";
private static final String DB_USERNAME = "cisadm";
private static final String DB_PASSWORD = "PASSWORD";
@Bean(name = "viewResolver")
public InternalResourceViewResolver getViewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("/WEB-INF/views");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
@Bean(name = "dataSource")
public DataSource getDataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
//Set Driver properties
dataSource.setDriverClassName(JDBC_DRIVER_CLASS);
dataSource.setUrl(JDBC_URL);
dataSource.setUsername(DB_USERNAME);
dataSource.setPassword(DB_PASSWORD);
System.out.println("Data Source is : " + dataSource);
return (DataSource) dataSource;
}
@Bean(name = "transactionManager")
public DataSourceTransactionManager getTransactionmanagerDataSource() {
DataSourceTransactionManager txManager = new DataSourceTransactionManager();
DataSource dataSource = this.getDataSource();
txManager.setDataSource(dataSource);
return txManager;
}
}
This is my Controller
public class UserController {
@Autowired
private UserDao userDao;
@RequestMapping(value = {"/"}, method = RequestMethod.GET)
public String welcome(Model model) {
userDao.insertUser("SYSUSER", "sysuer15", "abc@com.au", "0893266188");
User userDetails = userDao.findUser("N018003");
model.addAttribute("user", userDetails);
return "welcome";
}
}
This console log
16:36:06.795 [main] DEBUG o.s.web.servlet.DispatcherServlet - Published WebApplicationContext of servlet 'SpringDisptacher' as ServletContext attribute with name [org.springframework.web.servlet.FrameworkServlet.CONTEXT.SpringDisptacher]
16:36:06.797 [main] INFO o.s.web.servlet.DispatcherServlet - FrameworkServlet 'SpringDisptacher': initialization completed in 2828 ms
16:36:06.798 [main] DEBUG o.s.web.servlet.DispatcherServlet - Servlet 'SpringDisptacher' configured successfully
Dec 20, 2018 4:36:06 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8080"]
Dec 20, 2018 4:36:06 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-nio-8009"]
Dec 20, 2018 4:36:06 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in [11,285] milliseconds
16:36:08.335 [http-nio-8080-exec-2] DEBUG o.s.web.servlet.DispatcherServlet - DispatcherServlet with name 'SpringDisptacher' processing GET request for [/WorkforceManagement/]
16:36:08.355 [http-nio-8080-exec-2] WARN o.s.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/WorkforceManagement/] in DispatcherServlet with name 'SpringDisptacher'
16:36:08.356 [http-nio-8080-exec-2] DEBUG o.s.web.servlet.DispatcherServlet - Successfully completed request