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

网站建设合同需要印花税/网站seo推广方案

网站建设合同需要印花税,网站seo推广方案,县新闻网站建设方案,上海市政网网址本栏博客目录一、Spring的IOC和DI 二、IoC和DI注解开发 三、SpringMVC入门 四、SpringMVC的请求和响应 五、JdbcTemplate 六、Spring练习 七、SpringMVC拦截器 八、SpringMVC异常处理机制 九、面向切面编程AOP 十、声明式事务控制 十一、MyBatis入门操作 十二、MyBatis的Dao层实…

本栏博客目录

一、Spring的IOC和DI
二、IoC和DI注解开发
三、SpringMVC入门
四、SpringMVC的请求和响应
五、JdbcTemplate
六、Spring练习
七、SpringMVC拦截器
八、SpringMVC异常处理机制
九、面向切面编程AOP
十、声明式事务控制
十一、MyBatis入门操作
十二、MyBatis的Dao层实现方式
十三、MyBatis映射文件深入
十四、MyBatis核心配置文件深入
十五、MyBatis的多表操作
十六、Mybatis的注解开发
十七、SSM框架整合


文章目录

  • Spring集成web环境
    • ApplicationContext应用上下文获取方式
    • Spring提供获取应用上下文的工具
    • 导入Spring集成web的坐标
    • 配置ContextLoaderListener监听器
    • 通过工具获得应用上下文对象
  • SpringMVC的简介
    • SpringMVC概述
    • SpringMVC快速入门
    • SpringMVC流程图示
  • SpringMVC 组件解析
    • SpringMVC的执行流程
    • SpringMVC组件解析
      • 1. 前端控制器:DispatcherServlet
      • 2. 处理器映射器:HandlerMapping
      • 3. 处理器适配器:HandlerAdapter
      • 4. 处理器:Handler
      • 5. 视图解析器:View Resolver
      • 6. 视图:View
    • SpringMVC注解解析
      • @RequestMapping
    • 1. mvc命名空间引入
    • 2. 组件扫描
    • SpringMVC的XML配置解析
      • 1. 视图解析器
    • 知识要点


在这里插入图片描述

Spring集成web环境

ApplicationContext应用上下文获取方式

应用上下文对象是通过 new ClasspathXmlApplicationContext(spring配置文件) 方式获取的,但是每次从容器中获得 Bean 时都要编写 new ClasspathXmlApplicationContext(spring配置文件) ,这样的弊端是配置文件加载多次,应用上下文对象创建多次。

在 Web 项目中,可以使用 ServletContextListener 监听 Web 应用的启动,我们可以在 Web 应用启动时,就加载 Spring 的配置文件,创建应用上下文对象 ApplicationContext,在将其存储到最大的域 servletContext 域中,这样就可以在任意位置从域中获得应用上下文 ApplicationContext 对象了。

Spring提供获取应用上下文的工具

上面的分析不用手动实现,Spring 提供了一个监听器 ContextLoaderListener 就是对上述功能的封装,该监听器内部加载 Spring 配置文件,创建应用上下文对象,并存储到 ServletContext 域中,提供了一个客户端工具 WebApplicationContextUtils 供使用者获得应用上下文对象。

所以我们需要做的只有两件事:

① 在 web.xml 中配置 ContextLoaderListener 监听器(导入spring-web坐标)
② 使用 WebApplicationContextUtils 获得应用上下文对象 ApplicationContext

导入Spring集成web的坐标

<dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>5.3.1</version>
</dependency>

配置ContextLoaderListener监听器

<!-- 全局参数 -->
<context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- 配置监听器 -->
<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

通过工具获得应用上下文对象

ServletContext servletContext = this.getServletContext();
ApplicationContext app = WebApplicationContextUtils.getWebApplicationContext(servletContext);
UserService userService = app.getBean(UserService.class);

SpringMVC的简介

SpringMVC概述

SpringMVC 是一种基于 Java 的实现 MVC 设计模型 的请求驱动类型的轻量级 Web 框架,属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 中。

SpringMVC 已经成为目前最主流的MVC框架之一,并且随着Spring3.0 的发布,全面超越 Struts2,成为最优秀的 MVC 框架。它通过一套注解,让一个简单的 Java 类成为处理请求的控制器,而无须实现任何接口。同时它还支持 RESTful 编程风格的请求。

SpringMVC快速入门

需求:客户端发起请求,服务器端接收请求,执行逻辑并进行视图跳转。

开发步骤:
① 导入SpringMVC相关坐标
② 配置SpringMVC核心控制器DispathcerServlet
③ 创建Controller类和视图页面
④ 使用注解配置Controller类中业务方法的映射地址
⑤ 配置SpringMVC核心文件 spring-mvc.xml
⑥ 客户端发起请求测试


① 导入Spring和SpringMVC的坐标

<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.1</version>
</dependency>
<dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.1</version>
</dependency>

① 导入Servlet和Jsp的坐标

<dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.0.1</version><scope>provided</scope>
</dependency>
<dependency><groupId>javax.servlet.jsp</groupId><artifactId>javax.servlet.jsp-api</artifactId><version>2.2.1</version><scope>provided</scope>
</dependency>

② 在web.xml配置SpringMVC的核心控制器

<!--    配置Spring的前端控制器--><servlet><servlet-name>DispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping>

③ 创建Controller和业务方法

@Controller
public class UserController {@RequestMapping("/quick")public String save(){System.out.println("Controller save running...,");return "success.jsp";}
}

④ 创建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"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.xsd"><!--    Controller的组件扫描--><context:component-scan base-package="com.lzjtu.controller" />
</beans>

⑤ 访问测试地址

SpringMVC流程图示

在这里插入图片描述

SpringMVC 组件解析

在这里插入图片描述

SpringMVC的执行流程

① 用户发送请求至前端控制器DispatcherServlet。
② DispatcherServlet收到请求调用HandlerMapping处理器映射器。
③ 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
④ DispatcherServlet调用HandlerAdapter处理器适配器。
⑤ HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。
⑥ Controller执行完成返回ModelAndView。
⑦ HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。
⑧ DispatcherServlet将ModelAndView传给ViewReslover视图解析器。
⑨ ViewReslover解析后返回具体View。
⑩ DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。DispatcherServlet响应用户。

SpringMVC组件解析

1. 前端控制器:DispatcherServlet

用户请求到达前端控制器,它就相当于 MVC 模式中的 C,DispatcherServlet 是整个流程控制的中心,由它调用其它组件处理用户的请求,DispatcherServlet 的存在降低了组件之间的耦合性。

2. 处理器映射器:HandlerMapping

HandlerMapping 负责根据用户请求找到 Handler 即处理器,SpringMVC 提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。

3. 处理器适配器:HandlerAdapter

通过 HandlerAdapter 对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理器进行执行。

4. 处理器:Handler

它就是我们开发中要编写的具体业务控制器。由 DispatcherServlet 把用户请求转发到 Handler。由Handler 对具体的用户请求进行处理。

5. 视图解析器:View Resolver

View Resolver 负责将处理结果生成 View 视图,View Resolver 首先根据逻辑视图名解析成物理视图名,即具体的页面地址,再生成 View 视图对象,最后对 View 进行渲染将处理结果通过页面展示给用户。

6. 视图:View

SpringMVC 框架提供了很多的 View 视图类型的支持,包括:jstlView、freemarkerView、pdfView等。最常用的视图就是 jsp。一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面

SpringMVC注解解析

@RequestMapping

作用:用于建立请求 URL 和处理请求方法之间的对应关系
位置:

  • 类上,请求URL 的第一级访问目录。此处不写的话,就相当于应用的根目录
  • 方法上,请求 URL 的第二级访问目录,与类上的使用@ReqquestMapping标注的一级目录一起组成访问虚拟路径属性:
  • value:用于指定请求的URL。它和path属性的作用是一样的
  • method:用于指定请求的方式
  • params:用于指定限制请求参数的条件。它支持简单的表达式。要求请求参数的key和value必须和配置的一模一样例如:
  • params = {“accountName”},表示请求参数必须有accountName
  • params = {“moeny!=100”},表示请求参数中money不能是100

1. mvc命名空间引入

命名空间:

xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"

约束地址:

http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd

2. 组件扫描

SpringMVC基于Spring容器,所以在进行SpringMVC操作时,需要将Controller存储到Spring容器中,如果使用@Controller注解标注的话,就需要使用

<context:component-scan base-package=“com.xxx.controller"/>

进行组件扫描。

SpringMVC的XML配置解析

1. 视图解析器

SpringMVC有默认组件配置,默认组件都是 DispatcherServlet.properties 配置文件中配置的,该配置文件地址 org/springframework/web/servlet/DispatcherServlet.properties ,该文件中配置了默认的视图解析器,如下

org.springframework.web.servlet.ViewResolver=org.springframework.web.servlet.view.InternalResourceViewResolver

翻看该解析器源码,可以看到该解析器的默认设置,如下:

REDIRECT_URL_PREFIX = "redirect:"--重定向前缀
FORWARD_URL_PREFIX = "forward:"--转发前缀(默认值)
prefix = "";--视图名称前缀
suffix = "";--视图名称后缀

我们可以通过属性注入的方式修改视图的的前后缀

<!-- 配置内部资源视图解析器 -->
<bean id="viewResolve" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/jsp/"></property><property name="suffix" value=".jsp"></property>
</bean>

知识要点

SpringMVC的相关组件

•前端控制器:DispatcherServlet
•处理器映射器:HandlerMapping
•处理器适配器:HandlerAdapter
•处理器:Handler
•视图解析器:View Resolver
•视图:View

SpringMVC的注解和配置

•请求映射注解:@RequestMapping
•视图解析器配置:

REDIRECT_URL_PREFIX = “redirect:”
FORWARD_URL_PREFIX = “forward:”
prefix = “”;
suffix = “”;

http://www.lbrq.cn/news/881209.html

相关文章:

  • 邯郸市网络建站/免费创建个人网站
  • 西安做网站报价/百度指数预测
  • 网站建设公司领导致辞/河南网站推广优化排名
  • 自己电脑做采集网站/百度小程序seo
  • 横沥做网站/百度灰色关键词技术
  • 静安网站建设哪里有/网络营销策略理论
  • seo页面优化公司/微博seo营销
  • 外国做图网站/外贸营销网站建站
  • 莱芜网站优化/慈溪seo排名
  • 网站建设公司企业模板下载/百度登陆页面
  • 杭州网站建设乐云seo模板中心/seo排名诊断
  • 国外社交网站做的比较好的是/广州企业网站seo
  • 做网站是哪个专业/天津网站建设
  • 建官网个人网站/怎么做游戏推广员
  • 2013年建设工程发布网站/百度竞价点击工具
  • 做全屏式网站尺寸是多大/推广网址
  • php网站怎么做seo/seo常用工具网站
  • 淮上网站建设/海外广告投放公司
  • 美妆企业网站模板/成都疫情最新情况
  • 临沂哪里有做网站的/怎么联系百度推广
  • 虚拟主机网站被挂马/深圳网络推广服务公司
  • 万网怎样安装wordpress/seo怎么收费
  • 列表形式网站/seo引擎优化培训
  • 做外贸网站格式/什么平台可以免费发广告
  • 做电影网站需多大的空间/百度高级搜索入口
  • 深圳品牌设计推荐/seo技术培训宁波
  • 公务员做网站/实时新闻
  • 网站建设规划书有哪些内容/网站排名推广软件
  • 国外免费搭建网站源码/手机网站制作软件
  • 武汉企业模板建站/百度怎么投放广告
  • 信而泰×DeepSeek:AI推理引擎驱动网络智能诊断迈向 “自愈”时代
  • STM32硬件I2C的注意事项
  • [Matlab]使用系统辨识应用程序辨识线性模型
  • 李宏毅《生成式人工智能导论》 | 第9讲 AI Agent
  • 死锁问题以及读写锁和自旋锁介绍【Linux操作系统】
  • docker-compose 配置启动2个MongoDB