回顾springmvc项目创建、及踩坑排错

一、前言

许久没有创建springmvc项目了,本文简单回顾一下,使用纯Java代码做配置与测试

二、搭建步骤

1.创建一个空的maven项目,添加依赖

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.3.16</version>
</dependency>

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</version>
    <scope>provided</scope>
</dependency>

2.使用Java代码方式配置

spring配置

@Configuration
@ComponentScan(basePackages = "com.lys",useDefaultFilters = true,
excludeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION,classes = Controller.class)})
public class SpringConfig {
}

springMVC配置

@Configuration
@ComponentScan(basePackages = "com.lys",useDefaultFilters = false,
includeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION,classes = Controller.class)})
public class SpringMvcConfig {
}

web.xml配置

public class WebInit implements WebApplicationInitializer {
    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
        // 加载springmvc的配置文件
        context.register(SpringMvcConfig.class);
        ServletRegistration.Dynamic springmvc = servletContext.addServlet("springmvc", new DispatcherServlet(context));
        springmvc.addMapping("/");
        springmvc.setLoadOnStartup(1);
    }
}

三、测试

1.写一个简单的controller来测试一下

@RestController
public class HelloController {
    @GetMapping("/demo")
    public String hello(){
        return "demo 123";
    }
}

2.配置启动项

点击Edit Configurations,然后点击+,新增tomcat配置,填写完必要的参数后,点击右下角OK保存

3.启动项目,访问http://localhost:8080/demo,即可看到屏幕输出了“demo123”的字样。

四、遇到问题

1.idea社区版没有tomcat支持?

莫慌,社区版安装一下插件支持即可

2.启动提示版本不可用

由于我电脑安装了jdk8和jdk12两个版本,启动时遇到下面的问题。

注意你项目的jdk版本要一致,注意检查下面三个地方要一致。

再次启动项目,就可以解决上述的问题了


如果上面的操作还不能解决,再试试在pom.xml里面手动指定项目的jdk版本,如下:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
            </includes>
        </resource>
    </resources>
</build>

3.无法再次启动项目

百度说程序被占用了,我也不知道为舍这个,最后我是通过重启电脑它又好使了。

哪位大神知道这个指点一下哈,哈哈

本次分享到这,下期见!


版权声明:本文为weixin_44107140原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。