mvc流程图,mvc框架的执行流程 您所在的位置:网站首页 ssh框架的运行流程图 mvc流程图,mvc框架的执行流程

mvc流程图,mvc框架的执行流程

2024-05-17 06:50| 来源: 网络整理| 查看: 265

首页 > 编程知识 正文 mvc流程图,mvc框架的执行流程

时间:2023-05-06 09:16:01 阅读:146862 作者:3885

目录1. SpringMVC框架的作用2. SpringMVC框架的核心组件3. SpringMVC Helloworld3.1 .案例目标3.2 .创建项目3.3.dispatcher servlet

1. SpringMVC框架的作用

MVC=数据模型视图(控制器) )

SpringMVC框架主要解决v和c交互问题,即控制器(Controller )如何接收客户端提交的请求,最终如何对客户端做出响应!

在Java EE中,传统的控制器是servlet组件! 如果某个项目具有注册功能、登录功能、数据修改功能、密码修改功能……等50个功能,则需要50个servlet组件来处理相应的请求。 运行项目时,50个servlet对象驻留在内存中。 在web.xml上,必须为每个servlet组件进行注册。 此外,如果每个servlet组件至少需要8行代码,则50个servlet组件至少需要400行代码。 因此,这种传统的使用方法存在内存消耗稍大、管理困难等问题,API的使用也不少

2. SpringMVC框架的核心组件

- dispatcher servlet :前端控制器,用于接收所有请求并组织分发;

-HandlerMapping :记录请求路径与控制器的对应关系;

-控制器:用于处理请求的自定义控制器的组件;

-ModelAndView :控制器组件处理请求后的结果。 包括数据和视图名称;

视图解析器:视图解析器。 可以根据视图名称确定特定的视图组件。

3. SpringMVC Helloworld 3.1 .在案例目标浏览器中输入http://localhost:8080/项目名称/hello.do以显示自定义页面。

3.2 .创建项目创建Maven Project,Create a simple project,Group Id为cn.tedu,http://www.Sina

注意:此处必须选择http://www.Sina.com/war。

创建项目后,生成Artifact Id,并从上一个项目复制所需的依赖关系。 此项目中只需要添加Spring-webmvc的依赖关系,并将spring配置文件3358www.Sina.com/文件添加到当前项目中。

3.3.dispatcher servlet配置项目的第一步是dispatcher servlet接收所有请求,因此它是框架附带的servlet组件,要确保能够接收所有请求

servlet servlet-name spring MVC/servlet-name servlet-class org.spring framework.web.servlet.dispatcher servlet/servler URL-pattern/servlet-mapping Spring MVC框架基于Spring框架,因此必须加载spring环境。 也就是说,必须导入spring的DispatcherServlet的父类FrameworkServlet定义了名为contextConfigLocation的属性。 此属性的值必须是Spring配置文件的位置。 只要属性设置了值,就会创建DispatcherServlet对象

因此,需要在servlet节点下补充配置。

! -添加dispatcher servlet配置--- servlet servlet-name spring MVC/servlet-name servlet-class org.spring framework.web.servlet-) -- contextConfigLocation: D

ispatcherServlet 的父类 springframework 中的一个属性 -->contextConfigLocationclasspath:spring.xml1SpringMVC*.do

最后,在节点下补充配置初始化启动,即:当启动Tomcat时,就会创建DispatcherServlet的对象,进而加载Spring的配置文件。

为了检验以上配置效果,可以先在spring.xml中添加配置:

然后,在组件扫描的包下创建类,在类之前添加@Component,并在构造方法中输出一句话:

@Componentpublic class User {public User() {System.out.println("创建User类的对象!");}}

最后,启动Tomcat,在控制台应该可以看到以上输出的内容!

3.4. 使用控制器接收客户端提交的请求

在组件扫描的cn.tedu.spring包下创建HelloController控制器类,并且在类之前添加@Controller注解:

@Controllerpublic class HelloController {}

注意:此处必须使用@Controller注解,不可以使用其它注解!

然后,在该控制器类中添加处理请求的方法,关于方法的声明原则:

应该使用public权限;

可以使用String类型作为返回值类型;

方法的名称可以自定义;

方法的参数列表可以为空。

所以,添加的方法可以是:

public String showHello() {}

然后,在方法之前添加@RequestMapping注解,用于配置请求路径与该方法的对应关系,则后续DispatcherServlet收到这个路径的请求时,就会调用该方法:

@RequestMapping("hello.do")public String showHello() {System.out.println("HelloController.showHello()");return null;}

完成后,重新部署该项目到Tomcat,打开浏览器,输入http://localhost:8080/SpringMVC01/hello.do,浏览器应该无法显示页面,但是,在Eclipse的控制台,可以看到以上方法输出的内容!

如果在控制器提示No Mapping Found ...的字样,并没有以上输出语句,则错误的原因可能有:

控制器类根本不在组件扫描的包中;

控制器类之前没有添加注解,或者,添加的不是@Controller注解;

处理请求的方法之前没有正确的添加@RequestMapping注解;

请求的路径与@RequestMapping注解中配置的路径不一致;

尝试Clean项目,甚至Clean Tomcat,甚至更新Maven。

如果这篇文章有帮助到您,请简单给个赞吧,谢谢~

阅读全文

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有