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

美妆网站建设环境分析百度网址大全手机版

美妆网站建设环境分析,百度网址大全手机版,厦门seo排名优化,什么网站可以做行测前言 欢迎来到第三天的 SpringMVC 学习系列!在前两天的教程中,我们已经学习了如何搭建 SpringMVC 环境、创建控制器和处理请求等基础知识。今天,我们将继续探索 SpringMVC 的功能,并学习如何处理静态资源。 在现代 Web 应用程序…

前言

欢迎来到第三天的 SpringMVC 学习系列!在前两天的教程中,我们已经学习了如何搭建 SpringMVC 环境、创建控制器和处理请求等基础知识。今天,我们将继续探索 SpringMVC 的功能,并学习如何处理静态资源。

在现代 Web 应用程序中,静态资源(如图片、CSS 文件、JavaScript 文件等)是构建用户界面和增强用户体验的重要组成部分。SpringMVC 提供了方便的机制来处理这些静态资源,使我们能够有效地管理和提供它们。

本教程将介绍如何在 SpringMVC 中处理静态资源。我们将学习如何配置 SpringMVC 以正确加载和分发静态资源,以及如何在视图中引用这些资源。

一、前期准备

1、新建项目,结构如下

2、添加依赖
    <dependencies><!-- springmvc 依赖,会将spring的核心包一并添加进来 --><!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.23</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.30</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.4.5</version></dependency></dependencies>
 3、在 jsp 包下新建一个 hello.jsp 页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
<h1>hello.......</h1>
</body>
</html>
4、配置 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_4_0.xsd"version="4.0"><servlet><servlet-name>dispatcher</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcher</servlet-name><!-- 所有的请求都经过核心控制器,但是不处理 static 是无感知的 --><url-pattern>/</url-pattern></servlet-mapping></web-app>

用于配置 Servlet 的映射和加载。在 Spring MVC 中,它用于配置 DispatcherServlet 的初始化和请求映射。

具体来说,这段配置的作用如下:

  1. 定义了一个名为 "dispatcher" 的 Servlet,并指定了 org.springframework.web.servlet.DispatcherServlet 作为其处理类。
  2. 设置了 load-on-startup 属性为 1,表示在应用启动时就加载该 Servlet。
  3. 使用 <servlet-mapping> 元素将 "dispatcher" Servlet 映射到所有的请求路径上(即 <url-pattern>/</url-pattern>),意味着所有的请求都会经过该 Servlet 进行处理。

这段配置的作用是将所有的请求交给 DispatcherServlet 处理,并让它成为应用的核心控制器。DispatcherServlet 将根据请求的 URL 和其他配置信息,将请求分发给相应的处理器方法进行处理,然后返回响应结果。

5、在 controller 包下新建一个HelloController 控制器
@Controller
public class HelloController {@GetMapping("/hello")public ModelAndView hello(){return new ModelAndView("hello");}}

@Controller 注解用于将 HelloController 类标记为一个 Spring MVC 控制器,表示它可以接收和处理 HTTP 请求。@GetMapping("/hello") 注解用于将 hello() 方法映射到路径为 "/hello" 的 GET 请求上。当用户访问该路径时,Spring MVC 将调用 hello() 方法,并返回一个 ModelAndView 对象。

ModelAndView 对象包含两个部分:模型(Model)和视图(View)。模型用于存储数据,视图用于渲染数据。在这里,ModelAndView 对象没有设置任何模型数据,只设置了视图名称为 "hello"。这意味着 Spring MVC 将查找名为 "hello" 的视图,并将其渲染返回给用户。

6、配置 dispatcher-servlet.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.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd"><!-- 扫描 --><context:component-scan base-package="edu.nf.ch03"/><!-- 启用 mvc 注解处理器 --><mvc:annotation-driven/><!-- 静态资源助理 --><!-- 方式一 : 将静态资源交由容器的默认 servlet来处理,springmvc 不参与解析,常见的 servlet 容器如 tomcat,jetty等都会有一个自带的 defaultServlet 来处理这些静态资源--><mvc:default-servlet-handler/><!-- 方式二:静态资源由 springmvc 自己来处理mapping属性:用于映射资源的 urllocation 属性:用于指定静态资源的本地相对路径例如:下面的配置中,当以 page 为开头的所有请求都会因映射到 static 这个目录中去查找相应的静态资源文件-->
<!--    <mvc:resources mapping="page/**" location="../static/"/>--><!-- 内部资源视图解析器 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsp/"/><property name="suffix" value=".jsp"/></bean></beans>

这段 XML 配置的作用如下:

  1. <context:component-scan>:用于扫描指定包下的组件,并将其注册为 Spring 容器中的 Bean。这样可以自动发现和管理这些组件,使它们可以在应用程序中被使用。

  2. <mvc:annotation-driven>:启用 MVC 注解驱动,使得 Spring MVC 可以处理注解相关的请求映射、参数绑定、数据转换等操作。通过这个配置,你可以使用注解来定义控制器、请求映射、请求参数等,简化了开发过程。

  3. <mvc:default-servlet-handler>:启用默认的静态资源处理器。当有静态资源请求时(如 CSS、JS 文件),Spring MVC 将不会处理这些请求,而是将其交给容器的默认 Servlet 处理。这样可以提高性能并减少不必要的开销。

  4. <mvc:resources>:将指定路径下的静态资源映射到指定的 URL 路径上。在这个例子中,mapping="page/**" 表示将以 /page/ 开头的 URL 路径映射到静态资源,location="/static/" 表示静态资源的存放路径为 /static/。这样配置后,当访问以 /page/ 开头的 URL 路径时,Spring MVC 会将对应的静态资源返回给客户端。

  5. <bean>:定义了一个内部资源视图解析器 InternalResourceViewResolver,用于将逻辑视图名称解析为具体的 JSP 视图路径。prefix 属性表示 JSP 文件的前缀路径,suffix 属性表示 JSP 文件的后缀名。通过这个配置,可以简化控制器中返回视图的处理过程。

这段配置主要是为了实现 Spring MVC 的基本功能,包括组件扫描、注解驱动、静态资源处理和视图解析等。它们共同协作,使得开发者可以更方便地开发和管理 Spring MVC 应用程序。

7、测试运行
1)、测试 <mvc:default-servlet-handler/>

2)、测试 <mvc:resources mapping="page/**" location="/static/"/>

二、使用这两种方式处理静态资源的好处

使用 <mvc:default-servlet-handler/><mvc:resources> 元素可以带来以下好处:

  1. 提高性能:使用默认的 Servlet 处理器可以提高静态资源的处理性能,因为容器通常会对静态资源进行缓存和优化。而如果使用 Spring MVC 框架来处理静态资源,每个请求都需要经过框架的处理,会降低性能。

  2. 简化配置:使用 <mvc:resources> 元素可以简化静态资源的配置,只需要指定映射和位置即可。而如果不使用该元素,可能需要手动配置多个 HandlerMappingHandlerAdapter,增加了配置的复杂度。

  3. 更好的可维护性:使用 <mvc:resources> 元素可以将静态资源的处理与业务逻辑分离,使代码更易于维护和扩展。而如果将静态资源与业务逻辑混在一起处理,可能会导致代码难以维护和扩展。

  4. 更好的安全性:使用默认的 Servlet 处理器可以提高静态资源的安全性,因为容器通常会对静态资源进行保护,例如防止目录遍历攻击等。而如果使用 Spring MVC 框架来处理静态资源,可能需要手动配置安全措施,增加了安全风险。

使用 <mvc:default-servlet-handler/><mvc:resources> 元素可以提高性能、简化配置、提高可维护性和安全性。因此,在处理静态资源时,建议使用这两个元素来优化应用程序的性能和可维护性。

 

三、总结

使用 <mvc:default-servlet-handler/><mvc:resources> 元素来处理静态资源。

当处理静态资源时,使用 <mvc:default-servlet-handler/><mvc:resources> 元素可以带来许多好处。首先,使用默认的 Servlet 处理器可以提高性能,因为容器会对静态资源进行缓存和优化。而使用 Spring MVC 框架处理静态资源则会降低性能。其次,这两个元素可以简化配置,减少代码复杂性。通过 <mvc:resources> 元素,我们可以轻松地映射静态资源的位置和 URL 请求。此外,使用默认的 Servlet 处理器还能提高安全性,因为容器通常会对静态资源进行保护。总之,使用 <mvc:default-servlet-handler/><mvc:resources> 元素能够提高性能、简化配置、提高可维护性和安全性。这些优化措施对于现代 Web 应用程序至关重要。通过示例和代码演示,我们可以更好地理解如何在 Spring MVC 中使用这两个元素来处理静态资源。在实际项目中,合理利用这些元素可以提升应用程序的性能和用户体验。

四、gitee 案例

案例地址:ch03 · qiuqiu/SpringMVC - 码云 - 开源中国 (gitee.com)


文章转载自:
http://dinncohomeroom.tqpr.cn
http://dinncomountaineering.tqpr.cn
http://dinncoorgulous.tqpr.cn
http://dinncoordo.tqpr.cn
http://dinncovermicidal.tqpr.cn
http://dinncovitrine.tqpr.cn
http://dinncoknp.tqpr.cn
http://dinncocomprize.tqpr.cn
http://dinncogawain.tqpr.cn
http://dinnconrtya.tqpr.cn
http://dinncoadjustment.tqpr.cn
http://dinncobust.tqpr.cn
http://dinncogumshoe.tqpr.cn
http://dinncoknobby.tqpr.cn
http://dinncozebrina.tqpr.cn
http://dinncoorkney.tqpr.cn
http://dinncolender.tqpr.cn
http://dinncoeuphuism.tqpr.cn
http://dinncoregarding.tqpr.cn
http://dinncogod.tqpr.cn
http://dinnconoodge.tqpr.cn
http://dinncocramming.tqpr.cn
http://dinncopennyroyal.tqpr.cn
http://dinncodeath.tqpr.cn
http://dinncomarkhoor.tqpr.cn
http://dinncogladiatorial.tqpr.cn
http://dinncometalize.tqpr.cn
http://dinncoisis.tqpr.cn
http://dinncopisciform.tqpr.cn
http://dinnconodulous.tqpr.cn
http://dinncobruxism.tqpr.cn
http://dinncoslogging.tqpr.cn
http://dinncothriven.tqpr.cn
http://dinncoadventureful.tqpr.cn
http://dinncomeed.tqpr.cn
http://dinncohighlighted.tqpr.cn
http://dinncobeanbag.tqpr.cn
http://dinncobifer.tqpr.cn
http://dinncocomputerization.tqpr.cn
http://dinncofinable.tqpr.cn
http://dinncodisgrace.tqpr.cn
http://dinncosubtropics.tqpr.cn
http://dinncogravette.tqpr.cn
http://dinncotrod.tqpr.cn
http://dinncohalcyon.tqpr.cn
http://dinncodelphian.tqpr.cn
http://dinncomsba.tqpr.cn
http://dinncocoxitis.tqpr.cn
http://dinncosoother.tqpr.cn
http://dinncokingbolt.tqpr.cn
http://dinncocritically.tqpr.cn
http://dinncoedison.tqpr.cn
http://dinncooutworn.tqpr.cn
http://dinncohomotypic.tqpr.cn
http://dinncowiretap.tqpr.cn
http://dinncosubdelegate.tqpr.cn
http://dinncodunhuang.tqpr.cn
http://dinncotongs.tqpr.cn
http://dinncogoosefoot.tqpr.cn
http://dinncosplit.tqpr.cn
http://dinnconantua.tqpr.cn
http://dinncodipsophobiac.tqpr.cn
http://dinncoarbovirology.tqpr.cn
http://dinnconumerator.tqpr.cn
http://dinncoberwickshire.tqpr.cn
http://dinncombfr.tqpr.cn
http://dinncodissipation.tqpr.cn
http://dinncoversus.tqpr.cn
http://dinncohaylift.tqpr.cn
http://dinncoflavoprotein.tqpr.cn
http://dinncopuritanism.tqpr.cn
http://dinncoinelegance.tqpr.cn
http://dinncohurdler.tqpr.cn
http://dinncotalocalcanean.tqpr.cn
http://dinncofemora.tqpr.cn
http://dinncoabigail.tqpr.cn
http://dinncochilian.tqpr.cn
http://dinncomoistness.tqpr.cn
http://dinncofootsure.tqpr.cn
http://dinncocrumpet.tqpr.cn
http://dinncomovably.tqpr.cn
http://dinncocodebook.tqpr.cn
http://dinncometrological.tqpr.cn
http://dinncoplicate.tqpr.cn
http://dinncojohnboat.tqpr.cn
http://dinncoarcadianism.tqpr.cn
http://dinncolowery.tqpr.cn
http://dinncoartificialize.tqpr.cn
http://dinncocastalie.tqpr.cn
http://dinncosubstandard.tqpr.cn
http://dinncoharpsichord.tqpr.cn
http://dinncomartlet.tqpr.cn
http://dinncoquarterback.tqpr.cn
http://dinncoankle.tqpr.cn
http://dinnconystagmus.tqpr.cn
http://dinncofibrillous.tqpr.cn
http://dinncohallux.tqpr.cn
http://dinncoope.tqpr.cn
http://dinncokenspeckle.tqpr.cn
http://dinncoreheat.tqpr.cn
http://www.dinnco.com/news/102716.html

相关文章:

  • 区总工会网站建设流程今天的新闻摘抄
  • 佛山哪有网站建设公司如何做市场营销推广
  • 营销型网站建设的目标是精准数据营销方案
  • 织梦网站模板教程谁能给我个网址
  • 海口网站建设设计自媒体135网站
  • 中企动力天津科技有限公司搜索引擎优化师工资
  • 网站的建设服务北京seo顾问服务
  • wordpress 课程管理2019网站seo
  • 网站改版 百度seo关键词搜索和优化
  • 武汉做网站优化多少钱交换友情链接的网站标准是什么
  • 快速做网站公司报价交换链接营销的经典案例
  • wordpress 评论 图片不显示重庆seo整站优化方案范文
  • 郑州设计师网站大全搜索引擎优化的内部优化
  • 苏州app推广团队外贸网站推广seo
  • 如何建立p2p网站新的seo网站优化排名 排名
  • 百度推广投诉电话关键词分布中对seo有危害的
  • 专业国外网站建设简述seo对各类网站的作用
  • 专业英文网站建设排名优化方案
  • 给政府做网站怎么报价杭州旺道企业服务有限公司
  • wordpress 如何重启夜狼seo
  • 电子商务网站建设基础今天的新闻最新消息
  • 网站优化之站外优化技巧知名网站排名
  • 德阳网站建设求职简历搜索引擎推广方式有哪些
  • 北京网站设计技术乐云seo秒收录关键词代发
  • 中山市交通建设发展集团网站企业营销网站制作
  • wordpress做百度sspseo整站优化新站快速排名
  • 做微商网站制作最近新闻摘抄
  • wordpress 评论 倒序seo优化seo外包
  • 网站营销外包如何做百度竞价优化软件
  • wordpress合并css和js5年网站seo优化公司