首页调用网站栏目id,网站后台登入密码忘记了,百度关键词怎么做排名,网站运营与公司从此开始#xff0c;我们步入SpringMVC的学习。 SpringMVC是一种基于Java实现MVC模型的轻量级Web框架 先来看一下web程序是如何工作的#xff1a;
因为是异步调用#xff0c;所以后端不需要返回view视图#xff0c;将其去除前端如果通过异步调用的方式进行交互#xff0…从此开始我们步入SpringMVC的学习。 SpringMVC是一种基于Java实现MVC模型的轻量级Web框架 先来看一下web程序是如何工作的
因为是异步调用所以后端不需要返回view视图将其去除前端如果通过异步调用的方式进行交互后台就需要将返回的数据转换成json格式进行返回SpringMVC主要负责的就是 controller如何接收请求和数据如何将请求和数据转发给业务层如何将响应数据转换成json发回到前端
1SpringMVC入门案例
1.创建web工程(Maven结构)
2.设置tomcat服务器加载web工程(tomcat插件)
3.导入坐标(SpringMVCServlet)
4.定义处理请求的功能类(UserController)
5.设置请求映射(配置映射关系)
6.将SpringMVC设定加载到Tomcat容器中
步骤1:创建Maven项目
打开IDEA,创建一个新的web项目
步骤2:补全目录结构
创建java目录 打开项目架构
将刚创建的java目录设置为源码目录
步骤3:导入jar包
将pom.xml中多余的内容删除掉再添加SpringMVC需要的依赖
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsdmodelVersion4.0.0/modelVersiongroupIdorg.fage/groupIdartifactIdspringMVC001/artifactIdpackagingwar/packagingversion1.0-SNAPSHOT/versionnamespringMVC001 Maven Webapp/nameurlhttp://maven.apache.org/urldependenciesdependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion3.1.0/versionscopeprovided/scope/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion5.2.10.RELEASE/version/dependency/dependenciesbuildpluginsplugingroupIdorg.apache.tomcat.maven/groupIdartifactIdtomcat7-maven-plugin/artifactIdversion2.1/versionconfigurationport80/portpath//path/configuration/plugin/plugins/build/project 注意 这里的打包必须是 packagingwar/packaging **说明:**servlet的坐标为什么需要添加scopeprovided/scope? scope是maven中jar包依赖作用范围的描述 如果不设置默认是compile在在编译、运行、测试时均有效 如果运行有效的话就会和tomcat中的servlet-api包发生冲突导致启动报错 provided代表的是该包只在编译和测试的时候用运行的时候无效直接使用tomcat中的就避免冲突
步骤4:创建配置类
//springmvc配置类本质上还是一个spring配置类
Configuration
ComponentScan(itheima.controller)
public class SpringMvcConfig {
}步骤5:创建Controller类 设置映射路径为/save即外部访问路径: RequestMapping(“/save”) 设置当前操作返回结果为指定json数据本质上是一个字符串信息: ResponseBody 创建对应的处理方法public String save() Controller
public class UserController {//设置映射路径为/save即外部访问路径RequestMapping(/save)//设置当前操作返回结果为指定json数据本质上是一个字符串信息ResponseBodypublic String save(){System.out.println(user save ...);return {info:springmvc save};}//设置映射路径为/delete即外部访问路径RequestMapping(/delete)ResponseBodypublic String delete(){System.out.println(user delete ...);return {info:springmvc delete};}
}步骤6:使用配置类替换web.xml
将web.xml删除换成ServletContainersInitConfig 创建servlet容器createServletApplicationContext 加载springmvc配置类SpringMvcConfig.class 设置由springmvc控制器处理的请求映射路径 加载spring配置类:createRootApplicationContext(),可以直接返回null因为用不到 public class ServletContainersInitConfig extends AbstractDispatcherServletInitializer {//加载springmvc配置类protected WebApplicationContext createServletApplicationContext() {//初始化WebApplicationContext对象AnnotationConfigWebApplicationContext ctx new AnnotationConfigWebApplicationContext();//加载指定配置类ctx.register(SpringMvcConfig.class);return ctx;}//设置由springmvc控制器处理的请求映射路径protected String[] getServletMappings() {return new String[]{/};}//加载spring配置类protected WebApplicationContext createRootApplicationContext() {return null;}
}步骤7:配置Tomcat环境
需要再pom中的build中配置tomcat7-maven-plugin包括端口80路径/ 添加maven
步骤8:启动运行项目 控制台信息 上图说明已经启动了tomcat
步骤9:浏览器访问 控制台
至此SpringMVC的入门案例就已经完成。 注意事项
SpringMVC是基于Spring的在pom.xml只导入了spring-webmvcjar包的原因是它会自动依赖spring相关坐标AbstractDispatcherServletInitializer类是SpringMVC提供的快速初始化Web3.0容器的抽象类AbstractDispatcherServletInitializer提供了三个接口方法供用户实现 createServletApplicationContext方法创建Servlet容器时加载SpringMVC对应的bean并放入WebApplicationContext对象范围中而WebApplicationContext的作用范围为ServletContext范围即整个web容器范围getServletMappings方法设定SpringMVC对应的请求映射路径即SpringMVC拦截哪些请求createRootApplicationContext方法如果创建Servlet容器时需要加载非SpringMVC对应的bean,使用当前方法进行使用方式和createServletApplicationContext相同。createServletApplicationContext用来加载SpringMVC环境createRootApplicationContext用来加载Spring环境
知识点1Controller
名称Controller类型类注解位置SpringMVC控制器类定义上方作用设定SpringMVC的核心控制器bean
知识点2RequestMapping
名称RequestMapping类型类注解或方法注解位置SpringMVC控制器类或方法定义上方作用设置当前控制器方法请求访问路径相关属性value(默认)请求访问路径
知识点3ResponseBody
名称ResponseBody类型类注解或方法注解位置SpringMVC控制器类或方法定义上方作用设置当前控制器方法响应内容为当前返回值无需解析
2入门案例总结
一次性工作 创建工程设置服务器加载工程导入坐标创建web容器启动类加载SpringMVC配置并设置SpringMVC请求拦截路径SpringMVC核心配置类设置配置类扫描controller包加载Controller控制器bean 多次工作 定义处理请求的控制器类定义处理请求的控制器方法并配置映射路径RequestMapping与返回json数据ResponseBody
3工作流程
请见SpringMVC工作流程
[声明]内容主要来源黑马程序员网上资源学习