I am trying to create a basic MVC application using Spring boot with Hibernate as ORM and MySql as the database. The problem I am facing is that jsp views are not resolved .
I get a 404 error when trying to get the registration form using a GET request with the following URL:
http://localhost:9000/users/register/
This is the setting that I have in my application.
Directory structure:
-src -main -java -com ApplicationStart.java -controllers UserController.java -repositories UserRepository.java -webapp -WEB-INF -jsp register.jsp -resources application.properties
UserController:
@RestController public class UserController { private UserRepository userRepository; @Autowired public UserController(UserRepository userRepository) { this.userRepository = userRepository; } @RequestMapping(value = "/users/register", method = RequestMethod.GET) public String Register() { return "register"; } }
Application.properties:
server.port: 9000
spring.datasource.url: jdbc: mysql: // localhost / Contacts
spring.datasource.driverClassName: com.mysql.jdbc.Driver
spring.datasource.username: root
spring.datasource.password:
spring.view.prefix: / WEB-INF / jsp /
spring.view.suffix: .jsp
pom.xml
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.1.3.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> </dependencies>
MAIN CLASS
@ComponentScan @Configuration @EnableAutoConfiguration public class ApplicationStart { public static void main(String[] args) { SpringApplication.run(ApplicationStart.class, args); } }
This is the current setup of my application. Any help on how to solve the problem is greatly appreciated.
Please comment if additional information is required.
Thanks.