SpringMVC注解版 --PK-- xml版入门案例

目录

目的:SpringMVC初步了解

一、 先来带伙伴们先了解一下什么是SpringMVC?

二、两个入门案例带你走进SpringMVC

2.1 入门案例:基于xml配置文件

2.1.1 搭建环境

2.1.2 编写Controller

2.1.3 编写list.jsp页面:显示内容

2.1.4 编写核心配置文件springmvc:

2.1.5 在web.xml中配置前端控制器:加载核心配置文件

2.1.6 编写首页index.jsp

2.2 入门案例:基于注解配置类

​ 2.2.1 搭建环境

2.2.2 编写Controller 类

2.2.3 拷贝核心配置类

2.2.4 编写jsp页面,部署项目

2.2.5 启动项目及结果

三、对比总结


目的:SpringMVC初步了解

一、 先来带伙伴们先了解一下什么是SpringMVC?

  • SpringMVC 其实是Spring提供的一个基于MVC设计模式的轻量级的Web 开发框架,本质上相当于一个Servlet,其实可以说他就是一个Servlet

  • 由于SpringMVC 本身就是Spring框架的一部分,所有与Spring框架可以无缝集成。是当今业内界最主流的Web开发框架。

二、两个入门案例带你走进SpringMVC

注:在模拟这两个案例时,切记不可放在同一个项目下进行演示。因为两个案例都需要启动扫描核心配置文件,虽其方式不同,但不可放在同一项目下运行,xml配置版要和注解配置版分开!

2.1 入门案例:基于xml配置文件

--------- 图集导航

SpringMVC注解版 --PK-- xml版入门案例_第1张图片

2.1.1 搭建环境

  • 创建maven项目【2种方法开去我的主页面查询详情】

    • 可根据导入webapp框架进行搭建项目

    • 也可先创建一个普通的maven项目,在将其转换为web项目

maven创建web项目的两种方式【骨架创建webPK转换web】_zsy3757486的博客-CSDN博客目录1.1 选中所需的webapp骨架1.2 进行填写公司域名及项目名1.3 确认Maven相关信息1.4 确认项目名及项目的存放路径1.5 框架方式项目创建完成1.6 注意:自动导入jar包2、普通maven项目转为web项目具体步骤2.1 直接选中Maven2.2 进行填写公司域名及项目名2.3 确认Maven相关信息2.4 确认项目名及项目的存放路径2.5 手动创建webapp包以及WEB-INF包2.6 进行Maven项目转web相关的操作...https://blog.csdn.net/zsy3757486/article/details/121837331?spm=1001.2014.3001.5502

  • 配置Tomcat

  • 拷贝相关坐标

war
​
    
        UTF-8
        1.8
        1.8
    
​
    
​
        
            org.springframework
            spring-context
            5.2.4.RELEASE
        
        
            org.springframework
            spring-aspects
            5.2.4.RELEASE
        
        
            org.springframework
            spring-test
            5.2.4.RELEASE
        
        
            org.springframework
            spring-webmvc
            5.2.4.RELEASE
        
        
        
            org.springframework
            spring-jdbc
            5.2.4.RELEASE
        
​
​
        
        
            mysql
            mysql-connector-java
            8.0.24
        
        
            com.alibaba
            druid
            1.2.4
        
        
            org.mybatis
            mybatis
            3.5.7
        
        
            tk.mybatis
            mapper
            3.5.2
        
        
            com.github.pagehelper
            pagehelper
            3.7.5
        
​
        
        
            org.mybatis
            mybatis-spring
            2.0.5
        
​
        
            junit
            junit
            4.12
        
​
        
        
            com.fasterxml.jackson.core
            jackson-databind
            2.10.2
        
​
        
        
            io.springfox
            springfox-swagger2
            2.7.0
        
        
            io.springfox
            springfox-swagger-ui
            2.7.0
        
​
​
        
        
            commons-fileupload
            commons-fileupload
            1.4
        
​
        
        
            javax.servlet
            javax.servlet-api
            3.1.0
            provided
        
        
            javax.servlet.jsp
            javax.servlet.jsp-api
            2.3.1
            provided
        
​
        
            javax.servlet
            jstl
            1.2
        
        
            org.slf4j
            slf4j-log4j12
            1.7.10
        
​
​
    

2.1.2 编写Controller

  • 业务处理入口,UserController

  1. 图集导航

SpringMVC注解版 --PK-- xml版入门案例_第2张图片

注:在创建各种配置包或者业务处理包的时候要注意这些包一定要放在一个大包下,不可分包放在java的根目录下,必须放在java下的一个包的根目录下。因为到时候扫描配置类时要扫描的是一个包,必须放在一个包下。

SpringMVC注解版 --PK-- xml版入门案例_第3张图片       

 -----------  UserController类

@Controller   //将当前类添加到spring容器中
@RequestMapping("/user")  //给当前类中所有功能,设置一个路径访问前缀
public class UserController {
    
    @RequestMapping("/selectAll") //给当功能方法,设置一个访问路径
    //定义一个方法
    public String selectAll(){
        //返回一个页面
        return "/pages/list.jsp";
    }
}
 //最终访问路径 /user/selectAll.action  类路径/方法路径.action 【action是在web.xml中配置的一个后缀】

2.1.3 编写list.jsp页面:显示内容

SpringMVC注解版 --PK-- xml版入门案例_第4张图片

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


大家好呀!我是路遥叶子,欢迎来到叶子的空间!!!

2.1.4 编写核心配置文件springmvc:

----------用于扫描controller包

注:该springmvc文件要放在resources包下

SpringMVC注解版 --PK-- xml版入门案例_第5张图片



    
    
    
    
      

2.1.5 在web.xml中配置前端控制器:加载核心配置文件

SpringMVC注解版 --PK-- xml版入门案例_第6张图片

 ------  注:直接复制即可,不需要我们写



    
    
        springmvc
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:springmvc.xml
        
    
    
        springmvc
        
        *.action
    

2.1.6 编写首页index.jsp

--- 部署项目,链接跳转到list.jsp

SpringMVC注解版 --PK-- xml版入门案例_第7张图片

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


   <%-- 在href路径写明我们的定义的路径: 类名/方法名/web.xml配置的路径后缀 .action--%>
入门案例---基于xml

2.1.7 启动访问及结果

SpringMVC注解版 --PK-- xml版入门案例_第8张图片

2.2 入门案例:基于注解配置类

------- 图集导航

SpringMVC注解版 --PK-- xml版入门案例_第9张图片 2.2.1 搭建环境

  • 创建项目

  • 拷贝导入坐标

  • 配置Tomcat

------- 该步骤和以上xml配置文件一样,这里就不多写了,可翻找按照上面步骤进行

2.2.2 编写Controller 类

SpringMVC注解版 --PK-- xml版入门案例_第10张图片

  • 业务处理入口,StudentController类

@Configuration   //将当前类添加到spring容器中
@RequestMapping("/student")   //给当前类中所有功能,设置一个路径访问前缀
public class StudentController {
    /**
     * 最终访问路径 /student/selectAll.action
     * @return
     */
    @RequestMapping("/selectAll")  //给当前功能方法,设置一个访问路径
    public String selectAll(){
        return "/pages/list.jsp";
    }
}

2.2.3 拷贝核心配置类

SpringMVC注解版 --PK-- xml版入门案例_第11张图片

—— 拷贝核心配置类:MvcConfiguration1用于扫描controller包(取代了xml配置文件springmvc.xml)【可自行根据需要添加修改扫描的包路径】

@Configuration  //注解标明这是一个配置类
@ComponentScan(basePackages = "com.czxy.controller")  // 设置需要扫描的指定包controller,可自行根据需要添加包路径
public class MvcConfiguration1 {
}

—— 拷贝核心配置类: webInitializer1(取代web.xml配置) 【直接拷贝即可】

public class WebInitializer1 implements WebApplicationInitializer {
​
    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        //1 配置spring工厂
        AnnotationConfigWebApplicationContext application = new AnnotationConfigWebApplicationContext();
        // 注册所有的配置类
        application.register(MvcConfiguration1.class);
​
        //2 post中文乱码
        FilterRegistration.Dynamic encodingFilter = servletContext.addFilter("encoding", new CharacterEncodingFilter("UTF-8"));
        encodingFilter.addMappingForUrlPatterns(null, true, "/*");
​
        //3 核心控制器
        ServletRegistration.Dynamic mvcServlet = servletContext.addServlet("springmvc", new DispatcherServlet(application));
        mvcServlet.addMapping("*.action");
        mvcServlet.setLoadOnStartup(2); //tomcat启动时,执行servlet的初始化方法
​
    }
}

2.2.4 编写jsp页面,部署项目

  • 显示内容

SpringMVC注解版 --PK-- xml版入门案例_第12张图片

----- index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


入门案例---基于注解

----- /pages/list.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


大家好!欢迎来到路遥叶子的空间。
现在我们来测试一下通过扫描注解配置类访问的页面吧!

2.2.5 启动项目及结果

SpringMVC注解版 --PK-- xml版入门案例_第13张图片

三、对比总结

  • 区别:基于xml配置文件 ---以及---- 基于注解配置类,两者的区别就在于注解配置类中的2个核心配置类取代了xml配置文件中对springmvc.xml以及web.xml的配置

  • 效率:基于注解配置类的方式较xml配置文件来说,注解版更加的便捷,方便,易于开发者开发。现阶段大部分开发者都是使用的注解开发,只有极少数的或者必须要用xml方式开发的人在使用。

  • 建议:2种方式各位都可以学习一下,建议将注解版敲的烂熟于心。多使用注解版,xml版可以学习了解一下。当然能掌握2种方式就更棒了。

  • 裁决:作为本期裁判,我宣布,本轮【SpringMVC注解版 --PK-- xml版】比赛,最后的胜利者为注解小朋友。

你可能感兴趣的:(springmvc,安利Java零基础,spring,java,spring,springmvc)