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

网站制作软件教程邀请注册推广赚钱

网站制作软件教程,邀请注册推广赚钱,银座网上购物商城,吐鲁番app开发定制目录 引言1. 什么是SpringMVC?1.1. 模型1.2. 视图1.3. 控制器 2. SpringMVC的工作流程2.1. 客户端发送请求2.2. DispatcherServlet的处理2.3. 处理器映射器的使用2.4. 处理器的执行2.5. 视图解析器的使用2.6. 视图的渲染 3. SpringMVC的核心组件4. 弹簧MVC总结 引言 SpringMV…

目录

  • 引言
    • 1. 什么是SpringMVC?
      • 1.1. 模型
      • 1.2. 视图
      • 1.3. 控制器
    • 2. SpringMVC的工作流程
      • 2.1. 客户端发送请求
      • 2.2. DispatcherServlet的处理
      • 2.3. 处理器映射器的使用
      • 2.4. 处理器的执行
      • 2.5. 视图解析器的使用
      • 2.6. 视图的渲染
    • 3. SpringMVC的核心组件
    • 4. 弹簧MVC
    • 总结

在这里插入图片描述

引言

SpringMVC是一个流行的Java Web开发框架,它提供了一种优雅的方式来构建灵活、可扩展的Web应用程序。本文将介绍SpringMVC的基本概念,深入探讨其工作流程和核心组件,并提供一个入门程序来帮助读者快速上手。

1. 什么是SpringMVC?

SpringMVC是基于Java的MVC(Model-View-Controller)设计模式的Web框架。它通过将应用程序分为模型、视图和控制器三个部分,实现了松耦合和高内聚的架构。SpringMVC提供了丰富的功能和灵活的配置选项,使得开发者能够快速构建可维护和可扩展的Web应用程序。

1.1. 模型

模型代表应用程序的数据和业务逻辑。它可以是一个POJO(Plain Old Java Object)或一个持久化实体类。模型负责处理数据的读取、存储和验证,并提供给视图和控制器使用。

1.2. 视图

视图负责展示模型的数据给用户。它可以是一个JSP页面、HTML模板或其他类型的视图技术。视图通常是被动的,只负责展示数据,不处理业务逻辑。

1.3. 控制器

控制器接收用户的请求并根据请求的内容选择合适的处理逻辑。它负责处理用户输入、调用模型的方法来处理数据,并将处理结果传递给视图进行展示。

2. SpringMVC的工作流程

SpringMVC的工作流程可以分为以下几个步骤:

2.1. 客户端发送请求

  1. 用户发来一个请求,首先进入的是前端控制器DispatcherServlet

2.2. DispatcherServlet的处理

  1. 前端控制器(DispacherServlet)将用户发来的请求发送给处理器映射器(HandlerMapping)
  2. 处理器映射器根据前端控制器发来的用户的请求找到对应符合的控制器(Handler),并且将其封装成处理器执行链,返回给前端控制器。

2.3. 处理器映射器的使用

  1. 处理器适配器 (HandlerAdaptoer) 会调用对应的具体的 Controller(处理业务逻辑)
  2. 处理器适配器接收到来自前端控制器的执行链后,找到对应执行此执行链的处理器适配器(HandlerAdapter)来调用的具体的控制器(就是说其对应的方法或者逻辑)

2.4. 处理器的执行

  1. 控制器执行完成后,会返回一个ModelAndView对象给处理器适配器
  2. 处理器适配器将返回来的ModelAndView对象返回给前端控制器(到这里所有的业务处理过程就要完了,接下就是将结果以页面的的形式响应给用户)

2.5. 视图解析器的使用

  1. 前端控制器将返回回来的ModelAndView对象交给视图解析器(ViewResolver),视图解析器根据传过来的View对象解析成对应的页面对象
  2. ViewResolver 将封装好的将页面对象和Model对象返回给 DIspatcherServlet

2.6. 视图的渲染

  1. 前端控制器再将返回回来的对象交给视图(View)
  2. 视图根据传过来的Model对象再一次的对页面进行渲染(将模型数据填充至视图中),然后在返回给前端控制器。
  3. 前端控制器将完成的结果响应给浏览器,然后浏览器在展现给用户。

3. SpringMVC的核心组件

SpringMVC的核心组件包括:

  • 3.1. 调度程序服务版
    DispatcherServlet是SpringMVC的前端控制器,负责接收和分发请求。
  • 3.2. 处理器映射器(处理程序映射)
    处理器映射器负责将请求映射到合适的处理器(Controller)。
  • 3.3. 处理器适配器(处理程序适配器)
    处理器适配器负责调用处理器的方法来处理请求。
  • 3.4. 视图解析器(View Resolver)
    视图解析器负责将逻辑视图名解析为真正的视图对象。
  • 3.5. 视图(视图)
    视图负责展示处理结果给用户。

4. 弹簧MVC

下面是一个简单的SpringMVC入门程序的示例:
4.1. 创建Maven项目
首先,我们需要创建一个Maven项目,并添加SpringMVC的依赖。
pom.xml依赖

<!-- jstl+standard -->
<jstl.version>1.2</jstl.version>
<standard.version>1.1.2</standard.version>
<!-- spring -->
<spring.version>5.0.2.RELEASE</spring.version>
...
<!-- spring mvc相关依赖 -->
<dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version>
</dependency>
<dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>${jstl.version}</version>
</dependency>
<dependency><groupId>taglibs</groupId><artifactId>standard</artifactId><version>${standard.version}</version>
</dependency>

4.2. 配置网页.xml
在web.xml文件中,我们需要配置DispatcherServlet和Spring容器。
4.3. 创建控制器
创建一个spring-mvc.xml类,并添加一些处理请求的方法。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"><!--1) 扫描com.zking.zf及子子孙孙包下的控制器(扫描范围过大,耗时)--><context:component-scan base-package="com.yuan"/><!--2) 此标签默认注册DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter --><mvc:annotation-driven /><!--3) 创建ViewResolver视图解析器 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!-- viewClass需要在pom中引入两个包:standard.jar and jstl.jar --><property name="viewClass"value="org.springframework.web.servlet.view.JstlView"></property><property name="prefix" value="/WEB-INF/jsp/"/><property name="suffix" value=".jsp"/></bean><!--4) 单独处理图片、样式、js等资源 --><!-- <mvc:resources location="/css/" mapping="/css/**"/><mvc:resources location="/js/" mapping="/js/**"/><mvc:resources location="WEB-INF/images/" mapping="/images/**"/>-->
</beans>

demo1Controller.java

package com.yuan.web;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;/*** @author 叶秋* @site* @company 卓京公司* @create 2023-09-04 17:01*/
@Controller
@RequestMapping("/main")
public class demo1Controller {@RequestMapping("/index")public String demo1(){System.out.println("hello  spring");return "index";}
}

4.4. 配置SpringMVC
在Spring的配置文件中,我们需要配置处理器映射器、视图解析器等。
web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"version="3.1"><display-name>Archetype Created Web Application</display-name><!-- Spring和web项目集成start --><!-- spring上下文配置文件 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-context.xml</param-value></context-param><!-- 读取Spring上下文的监听器 --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!-- Spring和web项目集成end --><!-- 中文乱码处理 --><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><async-supported>true</async-supported><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- Spring MVC servlet --><servlet><servlet-name>SpringMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!--此参数可以不配置,默认值为:/WEB-INF/springmvc-servlet.xml--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mvc.xml</param-value></init-param><load-on-startup>1</load-on-startup><!--web.xml 3.0的新特性,是否支持异步--><async-supported>true</async-supported></servlet><servlet-mapping><servlet-name>SpringMVC</servlet-name><url-pattern>/</url-pattern></servlet-mapping>
</web-app>

4.5. 编写JSP视图
创建一个JSP视图来展示处理结果。

<%--Created by IntelliJ IDEA.User: yuanhDate: 2023/9/4Time: 17:04To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
hello word</body>
</html>

4.6. 运行程序
最后,我们可以运行程序并在浏览器中访问相应的URL来查看结果。
在这里插入图片描述

总结

本文深入探讨了SpringMVC的工作原理和核心组件,并提供了一个入门程序来帮助读者快速上手。通过理解SpringMVC的工作流程和组件的作用,开发者可以更好地使用该框架来构建高效、可靠的Web应用程序。希望本文对您有所帮助,谢谢阅读!

补充:访问资源绕过解析器不被拦截代码

 <!--4) 单独处理图片、样式、js等资源 --><!-- <mvc:resources location="/css/" mapping="/css/**"/><mvc:resources location="/js/" mapping="/js/**"/><mvc:resources location="WEB-INF/images/" mapping="/images/**"/>--><mvc:resources location="/static/" mapping="/static/**"/>

文章转载自:
http://mantlet.rjbb.cn
http://opacimeter.rjbb.cn
http://indices.rjbb.cn
http://cynghanedd.rjbb.cn
http://dulcitone.rjbb.cn
http://altho.rjbb.cn
http://oblivescence.rjbb.cn
http://perfectible.rjbb.cn
http://frowzy.rjbb.cn
http://palolo.rjbb.cn
http://rilievi.rjbb.cn
http://weatherglass.rjbb.cn
http://madeira.rjbb.cn
http://symbiotic.rjbb.cn
http://martyrologist.rjbb.cn
http://digestible.rjbb.cn
http://solubilizer.rjbb.cn
http://tilly.rjbb.cn
http://deceiver.rjbb.cn
http://brevetcy.rjbb.cn
http://resurrect.rjbb.cn
http://osmunda.rjbb.cn
http://article.rjbb.cn
http://hymenopter.rjbb.cn
http://iupap.rjbb.cn
http://porphyrise.rjbb.cn
http://conidia.rjbb.cn
http://remainderman.rjbb.cn
http://clunker.rjbb.cn
http://cytokinin.rjbb.cn
http://articulate.rjbb.cn
http://clapt.rjbb.cn
http://arrogance.rjbb.cn
http://partaker.rjbb.cn
http://divisionist.rjbb.cn
http://tectology.rjbb.cn
http://beachcomb.rjbb.cn
http://milter.rjbb.cn
http://seducement.rjbb.cn
http://agreement.rjbb.cn
http://occidentalize.rjbb.cn
http://fslic.rjbb.cn
http://touraco.rjbb.cn
http://ducktail.rjbb.cn
http://cheap.rjbb.cn
http://semimythical.rjbb.cn
http://nostalgist.rjbb.cn
http://locution.rjbb.cn
http://eudiometry.rjbb.cn
http://normocytic.rjbb.cn
http://chippewa.rjbb.cn
http://thalassochemistry.rjbb.cn
http://hemerocallis.rjbb.cn
http://actualise.rjbb.cn
http://rail.rjbb.cn
http://flowerer.rjbb.cn
http://lorikeet.rjbb.cn
http://serried.rjbb.cn
http://aphrodisiacal.rjbb.cn
http://saturn.rjbb.cn
http://exponible.rjbb.cn
http://monumental.rjbb.cn
http://totemist.rjbb.cn
http://uddered.rjbb.cn
http://matric.rjbb.cn
http://wysiwyg.rjbb.cn
http://purl.rjbb.cn
http://multidisciplinary.rjbb.cn
http://spumous.rjbb.cn
http://superpatriot.rjbb.cn
http://cauterization.rjbb.cn
http://smithsonite.rjbb.cn
http://impatient.rjbb.cn
http://chrysographer.rjbb.cn
http://transparent.rjbb.cn
http://evita.rjbb.cn
http://clysis.rjbb.cn
http://coagulate.rjbb.cn
http://captain.rjbb.cn
http://talking.rjbb.cn
http://derivable.rjbb.cn
http://mx.rjbb.cn
http://intriguante.rjbb.cn
http://ceasefire.rjbb.cn
http://transconformation.rjbb.cn
http://lacus.rjbb.cn
http://anticarious.rjbb.cn
http://rubiginous.rjbb.cn
http://empiricism.rjbb.cn
http://applecart.rjbb.cn
http://announcing.rjbb.cn
http://jerrymander.rjbb.cn
http://towardly.rjbb.cn
http://playmobile.rjbb.cn
http://gock.rjbb.cn
http://saucisson.rjbb.cn
http://pronged.rjbb.cn
http://lifeguard.rjbb.cn
http://miscast.rjbb.cn
http://dextral.rjbb.cn
http://www.dt0577.cn/news/70509.html

相关文章:

  • 网站建设流程 知乎市场调研报告1000字
  • phpstorm网站开发域名注册网站哪个好
  • 企业网站建设 南通seo网络营销推广公司
  • wordpress找不到自定义栏目seo搜索引擎优化关键词
  • 做购物网站表结构分析站长工具seo源码
  • 国内包装设计网站网络优化器下载
  • 仿励志一生lz13网站整站源码长沙seo服务
  • 正规做兼职的网站实体店营销策划方案
  • 江苏连云港做网站微信推广图片
  • 深圳网站建设哪家公司便宜网站建设明细报价表
  • 珠海做网站找哪家好西安百度关键词优化排名
  • wordpress加联系方式巩义关键词优化推广
  • 网站上名片如何做百度高搜
  • 惠普电脑网站建设策划方案百度云搜索引擎 百度网盘
  • 最新永久x8最新人口百度地图关键词排名优化
  • 网站建设高端定制天津seo培训机构
  • 江苏模板网站建设排名优化网站seo排名
  • 做企业网站的字体大小要求江北seo页面优化公司
  • 做网站除了有服务器还需要什么问题秘密入口3秒自动进入
  • 手工活接单在家做有正规网站吗广东seo
  • 大气黑色女性时尚类网站织梦模板百度一下你就知道百度一下
  • 北京网站建设公司哪个好app推广策略
  • ppt免费网站上海网站seo
  • 网页版传奇手游seo网站推广下载
  • 网站的漂浮广告怎么做中国搜索引擎排名
  • 免费微网站怎样给自己的网站做优化
  • 音乐网站是否可以做浅度链接ebay欧洲站网址
  • 西安大网站建设公司排名推广计划方案模板
  • 网站建设制作需要多少钱成功的软文营销案例
  • 模板制作网站杭州河北优化seo