目录
目的: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
- SpringMVC 其实是Spring提供的一个基于MVC设计模式的轻量级的Web 开发框架,本质上相当于一个Servlet,其实可以说他就是一个Servlet
- 由于SpringMVC 本身就是Spring框架的一部分,所有与Spring框架可以无缝集成。是当今业内界最主流的Web开发框架。
注:在模拟这两个案例时,切记不可放在同一个项目下进行演示。因为两个案例都需要启动扫描核心配置文件,虽其方式不同,但不可放在同一项目下运行,xml配置版要和注解配置版分开!2.1 入门案例:基于xml配置文件 --------- 图集导航
文章图片
2.1.1 搭建环境
- 创建maven项目【2种方法开去我的主页面查询详情】
- 可根据导入webapp框架进行搭建项目
- 也可先创建一个普通的maven项目,在将其转换为web项目
- 可根据导入webapp框架进行搭建项目
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
- 图集导航
文章图片
注:在创建各种配置包或者业务处理包的时候要注意这些包一定要放在一个大包下,不可分包放在java的根目录下,必须放在java下的一个包的根目录下。因为到时候扫描配置类时要扫描的是一个包,必须放在一个包下。
文章图片
-----------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页面:显示内容
文章图片
Title - 锐客网
大家好呀!我是路遥叶子,欢迎来到叶子的空间!!!
2.1.4 编写核心配置文件springmvc:
----------用于扫描controller包
注:该springmvc文件要放在resources包下
文章图片
2.1.5 在web.xml中配置前端控制器:加载核心配置文件
文章图片
------注:直接复制即可,不需要我们写
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocationclasspath:springmvc.xml
springmvc*.action
2.1.6 编写首页index.jsp
--- 部署项目,链接跳转到list.jsp
文章图片
Title - 锐客网 入门案例---基于xml
2.1.7 启动访问及结果
文章图片
2.2 入门案例:基于注解配置类 ------- 图集导航
文章图片
2.2.1 搭建环境
- 创建项目
- 拷贝导入坐标
- 配置Tomcat
------- 该步骤和以上xml配置文件一样,这里就不多写了,可翻找按照上面步骤进行2.2.2 编写Controller 类
文章图片
- 业务处理入口,StudentController类
@Configuration//将当前类添加到spring容器中
@RequestMapping("/student")//给当前类中所有功能,设置一个路径访问前缀
public class StudentController {
/**
* 最终访问路径 /student/selectAll.action
* @return
*/
@RequestMapping("/selectAll")//给当前功能方法,设置一个访问路径
public String selectAll(){
return "/pages/list.jsp";
}
}
2.2.3 拷贝核心配置类
文章图片
—— 拷贝核心配置类: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页面,部署项目
- 显示内容
文章图片
----- index.jsp
Title - 锐客网
入门案例---基于注解
----- /pages/list.jsp
Title - 锐客网
大家好!欢迎来到路遥叶子的空间。
现在我们来测试一下通过扫描注解配置类访问的页面吧!
2.2.5 启动项目及结果
文章图片
三、对比总结
- 区别:基于xml配置文件 ---以及---- 基于注解配置类,两者的区别就在于注解配置类中的2个核心配置类取代了xml配置文件中对springmvc.xml以及web.xml的配置
- 效率:基于注解配置类的方式较xml配置文件来说,注解版更加的便捷,方便,易于开发者开发。现阶段大部分开发者都是使用的注解开发,只有极少数的或者必须要用xml方式开发的人在使用。
- 建议:2种方式各位都可以学习一下,建议将注解版敲的烂熟于心。多使用注解版,xml版可以学习了解一下。当然能掌握2种方式就更棒了。
- 【springmvc|SpringMVC注解版 --PK-- xml版入门案例】裁决:作为本期裁判,我宣布,本轮【SpringMVC注解版 --PK-- xml版】比赛,最后的胜利者为注解小朋友。
推荐阅读
- 大数据课设&毕设|大数据接私活200元,做个简易的HDFS浏览器(一)
- 如何向Spring IOC 容器 动态注册bean
- 安装教程|Linux-安装Redis(详细教程)
- 基于Web的酒店客房管理系统的设计与实现
- spring|Spring Cloud构建分布式微服务架构 - 企业分布式微服务云架构构建
- 分享Spring Cloud分布式微服务架构源码结构
- java|SpringCloud 分布式微服务架构
- spring|Spring Cloud分布式微服务云架构服务组件
- 记一个 Base64 有关的 Bug