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;
    }
}
相关推荐
dddaidai1231 小时前
深入JVM(四):垃圾收集器
java·开发语言·jvm
BBB努力学习程序设计1 小时前
Java方法(函数)完全指南:初学者的第一个"工具箱"
java
爬山算法2 小时前
Netty(19)Netty的性能优化手段有哪些?
java·后端
love is sour2 小时前
深入浅出 jmap:Java 内存分析的“显微镜“
java·开发语言·测试工具·性能优化
想用offer打牌2 小时前
虚拟内存与寻址方式解析(面试版)
java·后端·面试·系统架构
代码or搬砖2 小时前
SQL核心语法总结:从基础操作到高级窗口函数
java·数据库·sql
月明长歌2 小时前
【码道初阶】【Leetcode94&144&145】二叉树的前中后序遍历(非递归版):显式调用栈的优雅实现
java·数据结构·windows·算法·leetcode·二叉树
杰克尼2 小时前
蓝桥云课-5. 花灯调整【算法赛】
java·开发语言·算法
wanghowie2 小时前
01.02 Java基础篇|核心数据结构速查
java·开发语言·数据结构
乂爻yiyao2 小时前
java并发演进图
java