我在Spring MVC中显示jsp页面时遇到了问题。这是一个带有Gradle和IntelliJ CE的基本hello world Spring MVC:
我得到以下错误页面:
这是我的身材。格拉德尔:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:2.0.5.RELEASE")
}
}
plugins {
id 'java'
}
group 'com.helloct'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
bootJar {
baseName = 'gs-serving-web-content'
version = '0.1.0'
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
compile("org.springframework.boot:spring-boot-starter-web")
compile("org.springframework.boot:spring-boot-starter-thymeleaf")
compile("org.springframework.boot:spring-boot-devtools")
compile("org.springframework.boot:spring-boot-starter")
compile("org.springframework:spring-jdbc")
compile("com.h2database:h2")
compile("com.fasterxml.jackson.core:jackson-databind")
compile('javax.servlet:jstl')
compile('org.apache.tomcat.embed:tomcat-embed-jasper')
compile 'javax.servlet.jsp:javax.servlet.jsp-api'
testCompile("junit:junit")
}
视图解析器文件:
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "hello")
public class WebConfig implements WebMvcConfigurer {
@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setViewClass(JstlView.class);
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
}
控制器页面:
@Controller
public class JSPController {
@GetMapping("/jspPage")
public String home(){
return "jspPage";
}
}
jsp页面位置:
application.properties文件内容:
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
使用默认模板引擎,页面显示正确,但使用jsp,它无法工作
日志错误:
https://hastebin.com/lijekesoti.apache
注意:我知道Thymleleaf是推荐的Spring模板,但出于某种原因,我想使用JSP
更新
在paulsm4答案的帮助下阅读这篇文章后,删除以下行:
compile("org.springframework.boot:spring-boot-starter-thymeleaf")
删除视图解析器文件解决了我的问题。
事实证明,让JSP与Spring Boot一起工作并非易事。结果还表明,Spring Boot 1之间有重大变化。x(大多数Spring Boot/JSP教程都是针对它编写的)和Spring Boot 2。x。
我发现这些资源很有用:
我让JSP同时使用Spring Boot 1。x和2。x、 和Maven和Gradle在一起。我的项目在GitHub上:
以下是我需要做的重点:
>
我用Eclipse STS创建了我的初学者项目。
重要的是要指定“War”包装(相对于默认的“Jar”)
我在我的构建中添加了以下依赖项。格雷德尔:
dependencies {
compile('org.springframework.boot:spring-boot-starter-web')
compile('javax.servlet:jstl')
compile('javax.servlet:javax.servlet-api')
compile('org.apache.tomcat.embed:tomcat-embed-jasper')
compile('org.webjars:bootstrap:4.1.0')
testImplementation('org.springframework.boot:spring-boot-starter-test')
事实证明,不需要指定“tomcat嵌入”(默认情况下,它包含在spring-boot-starter-web中)。
但事实证明,除非显式地包含Tomcat嵌入jasper,否则嵌入式Tomcat不会处理JSP。
不要指定“thymeleaf”依赖项-它会与“jasper”冲突。
根据其他教程,我在我的应用程序中添加了这些行。属性:
spring.mvc.view.prefix: /WEB-INF/jsp/
spring.mvc.view.suffix: .jsp
我添加了还将这些行添加到我的根类中:
@SpringBootApplication
public class Test7Application extends SpringBootServletInitializer {
...
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Test7Application.class);
}
public static void main(String[] args) {
SpringApplication.run(Test7Application.class, args);
}
不幸的是,“其他教程”经常说创建文件夹。这行不通。
相反,我进行了测试。jsp文件夹中的文件
src/main/resources/META-INF/resources/WEB-INF/jsp
。
这些链接解释了为什么:
Spring Boot JSP 404
此时,我成功地使用Spring Boot显示了静态和. jsp页面。
我希望这有帮助!
我正在为我的项目实现登录功能。在前端,我使用角度8。我已经以这种方式实现了Angular 8和Springboot在同一端口8090上运行。 我有路由作为 Java:我已经将其设置为允许所有 /login请求 Web安全配置 但是,当我呼吁localhost:8090/登录时,我面对的还是浏览器 此应用程序没有针对/错误的显式映射,因此您将其视为回退。 Wed Feb26 14:42:50IST
bean名称'user'的BindingResult和普通目标对象都不能作为请求属性使用 Apr 05 2019 9:18:13 AM org.apache.catalina.core.StandardWrapperValve调用严重:在路径[/DataVisualization]的上下文中servlet[SpringController]的servlet.service()引发异常[处理JSP
我一直在尝试可视化地模拟交通问题,但由于某种原因,我在swing窗口中只得到了空白输出。我只看到一个灰色的屏幕,而不是一个不断移动的汽车画面。 我的绘画课如下所示: 在我的主函数中对类的调用如下: 然后,随着我模拟的每一次迭代,我打电话给 我错过了什么?
我在获取下拉列表的值时遇到了麻烦,我有学生实体和部分实体,它们之间有一个关系船,在jsp中它就像而不是这个在jsp中,我需要获得特定的bean属性名称,如 学生示范班 我的道实现是这样的 像金丝马龙一样。 控制器就像 我对这个问题的最后润色是如何获得指定bean属性名的下拉值(这里我想获得bean属性名称,如)com.chan.Eschool.student.model.Section@26552
本文向大家介绍Java +Tomcat + SpringMVC实现页面访问示例解析,包括了Java +Tomcat + SpringMVC实现页面访问示例解析的使用技巧和注意事项,需要的朋友参考一下 window7下Java环境安装记录: 一、安装Tomcat 1、下载tomcat 7.0,解压,无需安装,放置到目录:D:\apache-tomcat-7.0.90。 2、配置系统环境变量,CAT
我已经在后端计算了表单提交总量,现在我需要在JSP页面上的“total submission”标记旁边显示它。我尝试了各种方法,但似乎都不管用。在jsp页面上显示长值的最佳方法是什么?