mvc url输出为小写

  • ASP.NET MVC-LowercaseRoutesMVC让网站的URL输出为小写

  • http://www.cnblogs.com/jiagoushi/p/3783811.html
  • ASP.NET MVC-Lowerca在 SEO 对于 URL 的讨论中,有部分的人是觉得网页的 URL 大小写对于 PageRank 是有影响,而有些人是说对于非使用 IIS 网页服务器的网站其 URL 的大小写才会有影响,对于我来说,其实有关于 URL 大小写与 SEO 的关系对于我来说并不是那么清楚,但为何又要介绍这个套件呢?

    其实我们开发 ASP.NET MVC 网站很少会注意到 URL 大小写,多半我们都是在注意网页执行的正确以及使用者是否输入正确的 URL,但如果今天被客户要求需要将网站内所产出的 URL 都一律使用小写时,那么 LowercaseRoutesMVC 这个套件就派上用场了,这边就来介绍这一个套件。

    LowercaseRoutesMVC - Map ASP.NET MVC routes to lowercase URLs
    http://lowercaseroutesmvc.codeplex.com/

    seRoutesMVC让网站的URL输出为小写

    \
     

    NuGet - LowercaseRoutesMVC
    http://nuget.org/packages/LowercaseRoutesMVC

     \
     

    般我们在 ASP.NET MVC 所开发的网站里所产出的 URL 都会是以下的样子,

    http://test.com/Home/Index or http://test.com/Order/List

    如果是让使用者自行输入 URL 的话,一般来说并不会在输入时去区分大小写,以上 URL 就会输入以下,

    http://test.com/home/index or http://test.com/order/list

    前面有说到,假如要将网站产出的 URL 都转为小写的这样需求时,就是在 ASP.NET MVC 项目中藉由 NuGet 将 LowercaseRoutesMVC 安装到项目里使用就可以了,以下为安装以及使用的步骤,

    Step.1 从 NuGet 安装 LowsercaseRoutesMVC

    先准备好一个 ASP.NET MVC 网站项目,建立好 Model, Controller, View,

     \
     

    P.S 这个示范用的 ASP.NET MVC 专案为 ASP.NET MVC 4.

    预设的状况下,URL 都是以 Camel-cased 的方式呈现,就是我们 Controller 的 prefix 与 Action 名称是怎么输入的,然后再以 Route 设定来做输出,

    \

    \
     
    \
     

    Step.2 透过 NuGet 安装 LowercaseRoutesMVC

    在 NuGet 管理窗口中搜寻「LowercaseRoutesMVC」,会出现两个结果,我们这边需要安装的是第一个,而第二个「LowercaseRoutesMVC4」则是提供给 ASP.NET Web API HTTP routes 所使用,www.it165.net

     

    \

    \

    Step.3 修改 RouteConfig.cs 的 Route 设定

    接着是修改 RouteConfig.cs 的 Route 设定,原本是使用 routes.MapRoute() 来进行 route 设定,而在安装 LowercaseRoutesMVC 之后,这边就需要做修改,以下为原本 RouteConfig.cs 的内容,

    \
     

    将原本使用 MapRoute() 方法改为使用 MapRouteLowercase() 方法,记得前面要引用 LowercasrRoutesMVC 的 Namespace,
     

    \
     

    上面的设定修改完成后,重新建置项目,再一次执行网站,观察 HTML 原始码就可以看到原本为 Camel-cased 的 URL 已经是以 lower-cased 产出,
     

    \
     

    \
     

    ※ Area 的修改
    我在原本的网站项目中新增一个 Area「Test」,

    \
     

    在尚未做任何的设定修改前,我在 Home/Index 首页增加一个指向 Test/Product/List 的连结,而产出的 URL 结果如下,

     

    \

    \
     

    而 Test/Product/List 网页的 URL 并没有转为 lower-cased,这是因为 Area 的 Route 设定并需要在 AreaRegistration 中做设定修改,以下是尚未做任何设定修改的 TestAreaRegistration.cs,

    \
     

    这边的修改就如同在 RouteConfig.cs 的修改是一样的,如下,

     \
     

    修改并重新建置项目,重新执行网站,原本首页指向 Test 区域的 URL 已经转为 lower-cased,

    \
     

    进入到 Test 区域内的 Product/List 网页,也可以看到网页的 URL 也是以 lower-cased 呈现,

    \
     

    虽然说这种指定网站内所有 URL 都要使用 lower-cased 呈现的需求是比较少,但假如有碰到这样的需求时,LowercaseRoutesMVC 这个套件就可以派上用场,而且在设定上也不会很繁琐(如果不写程序的话,是需要到 IIS 去修改 Url Rewrite rule 的设定)。

     

<think>我们正在处理用户关于下载SpringWebMVC5.3.41版本的问题。用户需要下载地址或Maven依赖。根据引用[5]中的建议,如果出现依赖无法解析的问题,可能是由于网络问题导致文件未下载完整,需要删除不完整的文件并重新下载。但是用户现在明确需要的是5.3.41版本的依赖信息或下载地址。首先,我们提供Maven依赖配置:在Maven项目的pom.xml文件中,可以添加如下依赖:```xml<dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.41</version></dependency>```关于下载地址:1.Maven中央仓库:https://repo.maven.apache.org/maven2/org/springframework/spring-webmvc/5.3.41/在这个地址下,可以下载到spring-webmvc-5.3.41.jar以及相关的pom文件等。2.也可以直接在Maven仓库搜索网站上查找,例如:https://mvnrepository.com/artifact/org.springframework/spring-webmvc/5.3.41注意:如果使用Maven构建,只需在pom.xml中正确配置依赖,然后Maven会自动从中央仓库下载。另外,根据引用[1]和[3]中的经验,确保以下几点:-网络通畅,以便能够正常下载。-依赖的artifactId是`spring-webmvc`(注意全小写),不要写成大写。-如果之前下载失败,按照引用[5]的方法,去本地Maven仓库(默认在用户目录下的.m2/repository)中删除对应的文件夹(org/springframework/spring-webmvc/5.3.41),然后重新下载。如果用户需要直接下载jar包,可以在上述Maven中央仓库的URL中找到jar文件的直接下载链接:https://repo.maven.apache.org/maven2/org/springframework/spring-webmvc/5.3.41/spring-webmvc-5.3.41.jar同时,注意spring-webmvc依赖于spring-web等模块,所以通常也需要下载spring-web,但Maven会自动处理传递依赖。引用说明:[^1]:提到了依赖无法解析的两个原因:网络问题和大小写问题。[^3]:展示了类似的依赖找不到的错误信息。[^5]:给出了解决依赖下载不完整的方法:删除本地仓库中的不完整文件并重新下载。因此,我们给出两种方式:Maven依赖配置和直接下载地址。生成相关问题:1.如何验证SpringWebMVC5.3.41是否成功添加到项目中?2.使用SpringWebMVC需要哪些其他依赖?3.如何解决Maven下载依赖速度慢的问题?</think>### Spring Web MVC 5.3.41 下载与依赖配置 #### 1. Maven 依赖配置 在项目的 `pom.xml` 文件中添加以下依赖(注意 **artifactId 必须全小写**): ```xml <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.41</version> </dependency> ``` #### 2. 手动下载地址 - **官方 Maven 仓库**: [https://repo.maven.apache.org/maven2/org/springframework/spring-webmvc/5.3.41/](https://repo.maven.apache.org/maven2/org/springframework/spring-webmvc/5.3.41/) - JAR 文件直接下载: `https://repo.maven.apache.org/maven2/org/springframework/spring-webmvc/5.3.41/spring-webmvc-5.3.41.jar` - **Maven 仓库搜索**: [https://mvnrepository.com/artifact/org.springframework/spring-webmvc/5.3.41](https://mvnrepository.com/artifact/org.springframework/spring-webmvc/5.3.41) #### 3. 常见问题解决 - **依赖解析失败**: 1. 检查网络连接,确保可访问 Maven 中央仓库 2. 删除本地 Maven 缓存中不完整的文件(路径:`~/.m2/repository/org/springframework/spring-webmvc/5.3.41`)后重试[^5] 3. 确认 `artifactId` 拼写为 **`spring-webmvc`**(大小写敏感)[^1] - **依赖关系说明**: `spring-webmvc` 会自动引入核心依赖 `spring-web`,无需单独声明[^4] #### 4. 验证依赖 执行 Maven 命令检查依赖树: ```bash mvn dependency:tree | grep spring-webmvc ``` 正常输出应包含: ``` [INFO] | \- org.springframework:spring-webmvc:jar:5.3.41:compile ``` --- ### 相关问题 1. 如何解决 Spring Web MVC 5.3.41 下载时的网络超时问题? 2. `spring-webmvc` 和 `spring-web` 在功能上有何区别?[^4] 3. 升级 Spring Web MVC 版本时需要注意哪些兼容性问题? 4. 如何配置国内镜像加速 Spring 依赖下载? 5. 除了 Maven 中央仓库,还有哪些可靠的 Spring 依赖下载源?[^2] [^1]: 解决Maven导入依赖时出现Cannot resolve org.springframework:spring-webmvc:5.3.1。当我们在导入有关SpringMVC相关依赖时,出现 Cannot resolve org.springframework:spring-webmvc:5.3.1 原因一:网络不好导致文件未下载 原因二:spring-webmvc小写,如果不小心将spring写成了Spring,后来再改回spring,是无法导入的。 [^2]: 摘要:org.springframework、spring-webmvc、中文文档、中英对照文档、下载、包含jar包、原API文档、源代码、Maven依赖信息文件、翻译后的API文档、springframework、spring、webmvc、中英对照文档、jar包、java; [^4]: Spring:spring-webmvc和spring-web有什么区别。 spring-webmvc和spring-web有什么区别 前言-MVC 和web MVC ,SpringMVC和Spring web MVC的关系与区别?区别工程结构差别spring-webspring-web-mvc [^5]: 解决Maven项目出现 Cannot resolve org.springframework.security:spring-security-web:x.x.x。这时候我们需要找到自己自己电脑里面的Mave仓库,根据报错提示,找到自己未下载完整的文件,删除对应的文件后,重新刷新Maven即可重新下载完整的jar包。 希望读者牢记,如果反复的刷新Maven仍然无法下载对应的jar包,那么极有可能就是你在下载对应的jar的时候出现网络问题,导致jar包下载不完整,这时就需要读者在Maven仓库中删除对应的文件,然后重新刷新Maven工具下载对应的文件即可解决!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值