Bal*_*ian 6 java jsp spring-mvc spring-boot
我正在尝试使用Spring引导和Hibernate构建一个基本的MVC应用程序,如ORM和MySql作为数据库.我现在面临的问题是,JSP视图都没有得到解决.
当我尝试使用带有以下URL的GET请求获取注册表单时出现404错误:
http://localhost:9000/users/register/
这是我在我的应用程序中的设置.
目录结构:
-src
-main
-java
-com
ApplicationStart.java
-controllers
UserController.java
-repositories
UserRepository.java
-webapp
-WEB-INF
-jsp
register.jsp
-resources
application.properties
Run Code Online (Sandbox Code Playgroud)
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";
}
}
Run Code Online (Sandbox Code Playgroud)
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>
<!-- HIBERNATE -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
</dependency>
<!-- MYSQL -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)
主类
@ComponentScan
@Configuration
@EnableAutoConfiguration
public class ApplicationStart {
public static void main(String[] args)
{
SpringApplication.run(ApplicationStart.class, args);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的应用程序的当前设置.任何有关如何解决问题的帮助非常感谢.
如果需要更多信息,请评论.
谢谢-
Spring Boot对JSP的支持有限,因为它使用了嵌入式servlet容器.从Spring Boot 参考文档:
运行使用嵌入式servlet容器的Spring Boot应用程序(并打包为可执行存档)时,JSP支持存在一些限制.
- 使用Tomcat它应该可以使用war包装,即可执行的war会起作用,并且也可以部署到标准容器(不限于但包括Tomcat).由于Tomcat中的硬编码文件模式,可执行jar将无法工作.
- Jetty目前不能用作带JSP的嵌入式容器.有一个JSP示例,您可以看到如何设置.
首先让您的应用程序成为可执行的战争,并确保使用Tomcat(在启动应用程序时检查日志).除非您明确声明应该包含Jetty,否则您使用的是Tomcat,因为默认情况下会提供.或者,尝试更改您的视图技术,这可能需要更多初始工作,但可以显着缩短开发期间的周转时间,请参阅Hotswapping.
归档时间: |
|
查看次数: |
8478 次 |
最近记录: |