Circular view path

最近学习一下springboot的相关知识,跟着视频构建第一个demo,但是运行起来,访问某个请求时,一直报异常:
这里写图片描述
大概的意思就是这个请求会被视图解析器解析到login页面。
pom.xml如下,springboot基础配置:

<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 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.java.jy.restart</groupId>
  <artifactId>springboot1</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>springboot1 Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <!-- 配置spring boot所需的依赖 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.10.RELEASE</version>
    </parent>
  <dependencies>
    <!-- spring boot的相关启动 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- 热部署 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
            <scope>true</scope>
        </dependency>

        <!-- log4j -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j2</artifactId>
        </dependency>

        <!-- 使用Jasper引擎解析JSP -->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>

        <!--jsp支持-->
        <!-- servlet 依赖. -->
        <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>javax.servlet-api</artifactId>
          <scope>provided</scope>
        </dependency>
        <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>jstl</artifactId>
        </dependency>
  </dependencies>
  <build>
  <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <!-- 没有该配置,devtools 不生效 -->
                <fork>true</fork>
            </configuration>
        </plugin>
    </plugins>
    <finalName>springboot1</finalName>
  </build>
</project>

然后controller层代码如下:

package cn.java.controller.front;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@EnableAutoConfiguration
public class LoginController {
    @RequestMapping("/login")
    public void login(String userName,String pwd) {
        System.out.println(userName + "=" + pwd);
    }
    public static void main(String[] args) {
        SpringApplication.run(LoginController.class, args);
    }
}

上网搜了一下报错原因,很多都是说要引入依赖。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

但是引入之后仍然报错,不起作用。
后面我对比了一下自己和视频中代码不一样的地方,就是@RequestMapping(“/login”)这里,视频中是@RequestMapping(“/login.do”)。我修改成视频中的时,再去浏览器访问,只输出结果,没有抛出异常。这是为什么呢?我的方法名字也是login。
在springboot中,如果你的url的匹配路径和方法名字相同,它会默认给你请求定位到请求路径名的页面,如果没有该页面,则抛出异常。
所以只需要@RequestMapping里面的路径和注解的方法名不一样就可以避免这个异常信息了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值