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.0modelVersion>
  <groupId>com.java.jy.restartgroupId>
  <artifactId>springboot1artifactId>
  <packaging>warpackaging>
  <version>0.0.1-SNAPSHOTversion>
  <name>springboot1 Maven Webappname>
  <url>http://maven.apache.orgurl>
  
    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>1.5.10.RELEASEversion>
    parent>
  <dependencies>
    
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>

        
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-devtoolsartifactId>
            <optional>trueoptional>
            <scope>truescope>
        dependency>

        
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-log4j2artifactId>
        dependency>

        
        <dependency>
            <groupId>org.apache.tomcat.embedgroupId>
            <artifactId>tomcat-embed-jasperartifactId>
            <scope>providedscope>
        dependency>

        
        
        <dependency>
          <groupId>javax.servletgroupId>
          <artifactId>javax.servlet-apiartifactId>
          <scope>providedscope>
        dependency>
        <dependency>
          <groupId>javax.servletgroupId>
          <artifactId>jstlartifactId>
        dependency>
  dependencies>
  <build>
  <plugins>
        <plugin>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-maven-pluginartifactId>
            <configuration>
                
                <fork>truefork>
            configuration>
        plugin>
    plugins>
    <finalName>springboot1finalName>
  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.bootgroupId>
    <artifactId>spring-boot-starter-thymeleafartifactId>
dependency>

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

你可能感兴趣的:(springboot)