【JAVAEE系列之Spring】002第一个Spring Web应用

【创建一个Maven项目】

1. File-New-Project-Maven Project

2. 选择创建一个简单的项目

3. 填写项目信息,打包为WAR

4. 修改pom.xml配置文件,添加相关依赖

<properties>
    <java.version>1.8</java.version>
    <spring.version>4.1.5.RELEASE</spring.version>
</properties>

<dependencies>
<!-- Servlet API -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency> 
   
<!-- Spring Core -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${spring.version}</version>
    </dependency>

<!-- Spring MVC -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring.version}</version>
    </dependency>

</dependencies>

5. 创建两个包

6. 在com.springapp.config包下创建AppConfig配置类

@Configuration
@EnableWebMvc
@ComponentScan
(basePackages = {"com.springapp.controller"})
public class AppConfig {

}

点击按钮source-organize imports会自动导入所需要的jar包

7. 在config包下创建ServletInitializer配置类,并继承AbstractAnnotationConfigDispatcherServletInitializer,实现相关方法

public class ServletInitializer extends AbstractAnnotationConfigDispatcherServletInitializer{

    @Override
    protected Class<?>[] getRootConfigClasses() {
        // TODO Auto-generated method stub
        return new Class<?>[0];
    }

    @Override
    protected Class<?>[] getServletConfigClasses() {
        // TODO Auto-generated method stub
        return new Class<?>[]{AppConfig.class};
    }

    @Override
    protected String[] getServletMappings() {
        // TODO Auto-generated method stub
        return new String[]{"/"};
    }

}

8. 在controller包下创建一个控制器类HelloController

package com.springapp.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class HelloController {
    
    @RequestMapping("/hello")
    @ResponseBody
    public String hi() {
        return "Hello from Maven project!";
    }
}

9. 在pom.xml文件中添加打包配置

<build>
    <finalName>springwebapp</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.5</version>
            <configuration>
                <failOnMissingWebXml>false</failOnMissingWebXml>
            </configuration>
        </plugin>
    </plugins>
</build>        

10. 右键项目,run-run on server

 

posted @ 2019-08-06 15:50  技术小白2018  阅读(170)  评论(0编辑  收藏  举报