嗨,我用spring初始化器创建了一个简单的Spring Boot应用程序。我在主应用程序类的同一文件夹中添加了一个控制器。
package com.demo.CrudOperations;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class RegistrationController {
@RequestMapping(value = "/welcome", method= RequestMethod.GET )
public String register(){
return "registration";
}
}
这是给我以下错误的网址http://localhost:8080/welcome
此应用程序没有针对/错误的显式映射,因此您将其视为回退。
Sat Dec 19 12:51:44 IST 2020出现意外错误(类型=未找到,状态=404)。
如果我使用@restController而不是@Controller,它会返回给我“注册”。在我的WEB-INF视图下,我创建了registration.jsp.这是application.properties文件
spring.mvc.view.prefix=/WEB-INF/views
spring.mvc.view.suffix=.jsp
pom。显示未知错误的xml。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.0-SNAPSHOT</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<groupId>com.CrudOperations</groupId>
<artifactId>CrudOperations</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>CrudOperations</name>
<description>Demo project for Crud Operations</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jersey</artifactId>
</dependency>
<!-- JSTL for JSP -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</repository>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</pluginRepository>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>
下面是目录结构的样子
有人能告诉我哪里出错了吗?
我还尝试添加@ResponseBody,但它给了我简单的字符串,而不是jsp文件。
这种依赖性意味着您在内部为Spring boot应用程序使用Spring MVC。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
因此,您需要在这里使用ModelAndView对象,该对象必须由您的方法返回,
ModelAndView是web MVC框架中模型和视图的持有者。注意,这些是完全不同的。该类仅保留这两者,以使控制器能够在单个返回值中同时返回模型和视图。表示处理程序返回的模型和视图,由DispatcherServlet解析。视图可以采用字符串视图名称的形式,该名称需要由ViewResolver对象解析;或者,可以直接指定视图对象。该模型是一个地图,允许使用按名称键控的多个对象。
有关ModelAndView的更多详细信息,请点击此处
试试这个
@RequestMapping(value = "/welcome", method= RequestMethod.GET )
public ModelAndView register(){
return new ModelAndView("registration");
}
我有同样的问题,我做了很多尝试,但没有一个奏效,因为,真正的问题是,叶子被禁用,application.yalm
server:
port: 8091
servlet:
session:
timeout: 600s
spring:
thymeleaf:
enabled: true
datasource:
name: dbname #数据库名
url: jdbc:mysql://localhost:3306/
username: username #用户名
password: password #密码
driver-class-name: com.mysql.cj.jdbc.Driver #数据库链接驱动
type: com.alibaba.druid.pool.DruidDataSource #使用druid数据源
servlet:
multipart:
max-file-size: 10MB
max-request-size: 10MB
redis:
port: 6379
host: "localhost"
mybatis:
type-aliases-package: matsk.mszdqabbs.Pojo
mapperLocations: classpath:mapper/*.xml
configuration:
use-generated-keys: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
logging:
pattern:
file: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n"
console: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n"
file:
max-history: 30
max-size: 10MB
path: "./logs"
name: "./logs/mszdqabbs.log"
level:
root: INFO
在属性末尾添加“/”:
spring.mvc.view.prefixWEB-INF视图
我想允许一个域的跨源请求。我的项目使用Spring,所以我想利用新的CORS支持。 我遵循下面的示例https://spring.io/blog/2015/06/08/cors-support-in-spring-framework#disqus_thread并尝试了第一个版本。我的控制器注释如下所示: 如果我理解正确的话,mvc-config是一种替代方法。我也试过了: 对于这两种方法,响应似乎
我真的很难理解JavaFX控制器,我的目标是写一个TextArea来充当日志。 我的代码在下面,但我希望能够改变值等从另一个类,我可以调用时需要。我试图创建一个扩展初始化的控制器类,但我无法使它工作。有谁能指引我正确的方向吗?
我有低于pom的。SpringBoot应用程序中的xml。在运行应用程序时,我没有遇到任何错误。但当我通过邮递员或浏览器点击URL时,控制器中的java代码不会被执行。 波姆。xml: 控制器: 项目执行截图: Spring Boot应用程序类: Spring启动存储库类: 将BasePackage添加为com后。下面是一个例外情况: 2022-03-21 09:51:35.169WARN 205
我试图从一个非常简单的控制器重定向到位于资源/模板中的jsp页面,但我不想使用ViewResolver java配置,而是想使用应用程序属性前缀和后缀! 控制器 以下是我的应用程序属性: jsp位置为: 但我总是犯这样的错误: 白标签错误页此应用程序没有/Error的显式映射,因此您将其视为回退。 EET 2019年11月13 13:38:55日星期三出现意外错误(类型=未找到,状态=404)。没
不工作的控制器: 工作控制器: