SSM框架 --- SpringMVC --- exercise1

1.创建Maven项目

2.导入依赖(导入SpringMvc与Servlet的坐标):

XML 复制代码
    <dependencies>
<!--servlet依赖的坐标-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>
<!--springmvc依赖的坐标-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.3.33</version>
        </dependency>
    </dependencies>
<!--Tomcat的插件-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.1</version>
                <configuration>
                    <port>80</port>
                    <path>/</path>
                </configuration>
            </plugin>
        </plugins>
    </build>

servlet的作用:

Servlet主要用于处理客户端传来的Http请求,并返回一个响应。

Servlet是一种独立于平台和协议的服务器端Java技术,用于生成动态的Web页面。它通过创建一个框架来扩展服务器的能力,以提供在Web上进行请求和响应服务。当客户机发送请求至服务器时,服务器可以将请求信息发送给Servlet,并让Servlet建立起服务器返回给客户机的响应。Servlet的主要作用包括:

  1. 接收客户端的请求数据:专门用来接收客户端的请求数据,然后调用底层service处理数据并生成结果。
  2. 生成响应内容:根据客户端的请求,生成响应内容并将其传给服务器。
  3. 与其它服务器资源进行通信 :包括数据库和基于Java的应用程序,进行必要的通信和处理。
  4. 处理多个客户机的连接:接收多个客户机的输入,并将结果广播到多个客户机上,例如,可以作为多参与者的游戏服务器。
  5. 特殊处理:采用MIME类型过滤数据,例如图像转换和服务器端包括(SSI)。
  6. 提供定制处理:将定制的处理提供给所有服务器的标准例行程序,例如,修改如何认证用户。

Servlet的运行环境称为Servlet容器或Servlet引擎,它给发送的请求和响应之上提供网络服务。Servlet不能独立运行,必须被部署到Servlet容器中,由容器来实例化和调用Servlet的方法。Servlet容器在Servlet的生命周期内管理Servlet,如Servlet的创建、使用与销毁等。

3.创建SpringMvc的控制器类

在Controller包下创建UserController控制器类:

java 复制代码
//使用Controller来定义bean
@Controller
public class UserController {
    //设置当前操作的访问路径
    @RequestMapping("/save")
    //设置当前操作的返回值类型
    @ResponseBody
    public String save(){
        System.out.println("user save ...");
        return "'module' : 'springmvc'";
    }
}

4.初始化SpringMvc环境,设置SpringMvc加载对应的Bean

在Config包下创建SpringMvcConfig加载配置类

java 复制代码
//创建SpringMvc的配置文件,加载Controller对应的bean
@Configuration
@ComponentScan("com.itheima.Controller")
public class SpringMvcConfig {
}

5.初始化Servlet容器,加载SpringMvc环境,并设置SpringMvc技术处理的请求

在Config包下创建ServletContainersInitConfig类

java 复制代码
//定义一个servlet容器启动的配置类,在里面加载Spring的配置
public class ServletContainersInitConfig extends AbstractDispatcherServletInitializer {
    //加载SpringMvc容器配置
    @Override
    protected WebApplicationContext createServletApplicationContext() {
        AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
        ctx.register(SpringMvcConfig.class);
        return ctx;
    }
    //设置哪些请求归属SpringMvc处理
    @Override
    protected String[] getServletMappings() {
        return new String[]{"/"};
    }
    //加载Spring容器配置
    @Override
    protected WebApplicationContext createRootApplicationContext() {
        AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
        ctx.register(SpringConfig.class);
        return ctx;
    }
}
相关推荐
我是苏苏几秒前
设计模式01:创建型设计模式之单例、简单工厂的使用情景及其基础Demo
java·开发语言·设计模式
get_money_20 分钟前
代码随想录Day52 101. 孤岛的总面积,102. 沉没孤岛,103. 水流问题,104.建造最大岛屿。
java·开发语言·笔记·算法·深度优先·图论
理想青年宁兴星33 分钟前
【SpringBoot】Java中isEmpty使用不当报错空指针
java·spring boot·后端
硕风和炜36 分钟前
【LeetCode: 3159. 查询数组中元素的出现位置 + 统计下标】
java·算法·leetcode
jioulongzi1 小时前
jdk17+springboot3项目加密部署
java
阿泽不想掉光头发1 小时前
C#实现调用DLL 套壳读卡程序(桌面程序开发)
java·开发语言·后端·websocket·http·c#
bglmmz2 小时前
JPA查询部分字段的最佳实践
java·开发语言
一写代码就开心2 小时前
DBeaver 咋手动配置sqlite 驱动
java
小小药2 小时前
011-spring-整合三方框架的命名空间原理(重要)
java·数据库·spring
forestsea2 小时前
【深度学习】Java DL4J基于 CNN 构建车辆识别与跟踪模型
java·人工智能·深度学习·cnn·deep learning