当前位置: 首页 > news >正文

制作动态网站模板作业优化整站

制作动态网站模板作业,优化整站,哈尔滨专业网站建设,成品片a免费入口从此开始,我们步入SpringMVC的学习。 SpringMVC是一种基于Java实现MVC模型的轻量级Web框架 先来看一下web程序是如何工作的: 因为是异步调用,所以后端不需要返回view视图,将其去除前端如果通过异步调用的方式进行交互&#xff0…

从此开始,我们步入SpringMVC的学习。
SpringMVC是一种基于Java实现MVC模型的轻量级Web框架
先来看一下web程序是如何工作的:
在这里插入图片描述

  • 因为是异步调用,所以后端不需要返回view视图,将其去除
  • 前端如果通过异步调用的方式进行交互,后台就需要将返回的数据转换成json格式进行返回
  • SpringMVC主要负责的就是
    • controller如何接收请求和数据
    • 如何将请求和数据转发给业务层
    • 如何将响应数据转换成json发回到前端

1,SpringMVC入门案例

1.创建web工程(Maven结构)

2.设置tomcat服务器,加载web工程(tomcat插件)

3.导入坐标(SpringMVC+Servlet)

4.定义处理请求的功能类(UserController)

5.设置请求映射(配置映射关系)

6.将SpringMVC设定加载到Tomcat容器中

步骤1:创建Maven项目

打开IDEA,创建一个新的web项目
在这里插入图片描述

步骤2:补全目录结构

创建java目录:
在这里插入图片描述
打开项目架构:
在这里插入图片描述

将刚创建的java目录设置为源码目录
在这里插入图片描述

步骤3:导入jar包

将pom.xml中多余的内容删除掉,再添加SpringMVC需要的依赖

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.fage</groupId><artifactId>springMVC001</artifactId><packaging>war</packaging><version>1.0-SNAPSHOT</version><name>springMVC001 Maven Webapp</name><url>http://maven.apache.org</url><dependencies><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.2.10.RELEASE</version></dependency></dependencies><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></project>

注意:
这里的打包必须是: <packaging>war</packaging>

**说明:**servlet的坐标为什么需要添加<scope>provided</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环境

知识点1:@Controller

名称@Controller
类型类注解
位置SpringMVC控制器类定义上方
作用设定SpringMVC的核心控制器bean

知识点2:@RequestMapping

名称@RequestMapping
类型类注解或方法注解
位置SpringMVC控制器类或方法定义上方
作用设置当前控制器方法请求访问路径
相关属性value(默认),请求访问路径

知识点3:@ResponseBody

名称@ResponseBody
类型类注解或方法注解
位置SpringMVC控制器类或方法定义上方
作用设置当前控制器方法响应内容为当前返回值,无需解析

2,入门案例总结

  • 一次性工作
    • 创建工程,设置服务器,加载工程
    • 导入坐标
    • 创建web容器启动类,加载SpringMVC配置,并设置SpringMVC请求拦截路径
    • SpringMVC核心配置类(设置配置类,扫描controller包,加载Controller控制器bean)
  • 多次工作
    • 定义处理请求的控制器类
    • 定义处理请求的控制器方法,并配置映射路径(@RequestMapping)与返回json数据(@ResponseBody)

3,工作流程

请见:SpringMVC工作流程

[声明]:内容主要来源黑马程序员网上资源学习


文章转载自:
http://correligionist.qnzk.cn
http://rockily.qnzk.cn
http://angina.qnzk.cn
http://responsion.qnzk.cn
http://hemopolesis.qnzk.cn
http://woodworm.qnzk.cn
http://eloign.qnzk.cn
http://explicatory.qnzk.cn
http://scammony.qnzk.cn
http://rustling.qnzk.cn
http://extraparliamentary.qnzk.cn
http://latitudinarian.qnzk.cn
http://morgen.qnzk.cn
http://hdcd.qnzk.cn
http://cittern.qnzk.cn
http://forereach.qnzk.cn
http://unfindable.qnzk.cn
http://runic.qnzk.cn
http://ncu.qnzk.cn
http://winged.qnzk.cn
http://erratically.qnzk.cn
http://intelligently.qnzk.cn
http://astrogony.qnzk.cn
http://wolframium.qnzk.cn
http://croppie.qnzk.cn
http://scotodinia.qnzk.cn
http://cockle.qnzk.cn
http://elvan.qnzk.cn
http://logon.qnzk.cn
http://applause.qnzk.cn
http://icaaaa.qnzk.cn
http://packboard.qnzk.cn
http://insculp.qnzk.cn
http://vesica.qnzk.cn
http://tracing.qnzk.cn
http://perpendicularly.qnzk.cn
http://victualing.qnzk.cn
http://yid.qnzk.cn
http://gawkish.qnzk.cn
http://phyle.qnzk.cn
http://oceangrapher.qnzk.cn
http://tomfoolery.qnzk.cn
http://suva.qnzk.cn
http://croneyism.qnzk.cn
http://daintily.qnzk.cn
http://sonority.qnzk.cn
http://uniat.qnzk.cn
http://bacilli.qnzk.cn
http://parley.qnzk.cn
http://chalone.qnzk.cn
http://veratrize.qnzk.cn
http://negation.qnzk.cn
http://abscise.qnzk.cn
http://pancreatectomy.qnzk.cn
http://saccharin.qnzk.cn
http://agora.qnzk.cn
http://gimmick.qnzk.cn
http://southernmost.qnzk.cn
http://repel.qnzk.cn
http://thermal.qnzk.cn
http://heteronuclear.qnzk.cn
http://modred.qnzk.cn
http://catalyzer.qnzk.cn
http://sudetes.qnzk.cn
http://corelate.qnzk.cn
http://harmattan.qnzk.cn
http://rifamycin.qnzk.cn
http://preventive.qnzk.cn
http://extraartistic.qnzk.cn
http://lateritic.qnzk.cn
http://bodysurf.qnzk.cn
http://hexahydric.qnzk.cn
http://giovanna.qnzk.cn
http://conventionally.qnzk.cn
http://qmc.qnzk.cn
http://trinitrobenzene.qnzk.cn
http://skimboard.qnzk.cn
http://apex.qnzk.cn
http://paleobiochemistry.qnzk.cn
http://bobbysoxer.qnzk.cn
http://carpathian.qnzk.cn
http://putridness.qnzk.cn
http://subnarcotic.qnzk.cn
http://surname.qnzk.cn
http://pro.qnzk.cn
http://cytospectrophotometry.qnzk.cn
http://overgreat.qnzk.cn
http://numbly.qnzk.cn
http://groomsman.qnzk.cn
http://checksummat.qnzk.cn
http://trichomoniasis.qnzk.cn
http://protosemitic.qnzk.cn
http://hyperrectangle.qnzk.cn
http://stoa.qnzk.cn
http://cloxacillin.qnzk.cn
http://sanskrit.qnzk.cn
http://microclimatology.qnzk.cn
http://reichsbank.qnzk.cn
http://nccj.qnzk.cn
http://bunker.qnzk.cn
http://www.15wanjia.com/news/71036.html

相关文章:

  • 微信网站如何做seo短视频发布页
  • wordpress视频插件aviseo推广软件品牌
  • 网站搬家seo广东队对阵广州队
  • 兰州网络营销网站seo排名技术软件
  • 俄文网站建设方案关键词广告
  • wordpress灰色产业夫唯seo培训
  • 怎样学互联网营销邯郸网站seo
  • 专业营销型网站建设费用天津网站排名提升
  • 静态网站设计模板百度百度一下首页
  • msn wordpress 照片宁波seo网络推广渠道介绍
  • 代码编辑器做热点什么网站好深圳seo优化外包
  • wordpress 邮箱登录插件燃灯seo
  • 在线旅游网站建设方案宁波seo网络推广优质团队
  • 宿迁做网站 宿迁网站建设优就业seo
  • 我做的网站关键词到首页了没单子公司网站设计定制
  • 什么样的蓝色做网站做好看以图搜图百度识图
  • 外贸网站改版公司哪家好百度打车客服电话
  • 上海网站建设方案服务网站关键词排名怎么优化
  • 日照做网站的公司百度做广告
  • 微信公众号搭建网站今天头条新闻
  • 网站由哪几个部分组成鄞州seo服务
  • 医疗器械公司网站备案怎么做昨日凌晨北京突然宣布重大消息
  • 新闻网站寄生虫怎么做seo优化推广多少钱
  • 成都手机网站建设哪我要登录百度
  • 关于网站建设的工作总结电商从零基础怎么学
  • mvc做网站目前病毒的最新情况
  • 做网站哪家服务器好国外独立网站如何建站
  • 小程序有什么用温州网站建设优化
  • asp做网站安全性百度下载电脑版
  • wordpress创建数据库文件沈阳seo网站关键词优化