Spring MVC @RequestMapping注解伪静态技术

本文介绍如何使用SpringMVC实现URL重写技术,通过一个包含搜索、分页和排序功能的复杂示例,展示了如何配置请求路径,并解析路径中的参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做SEO方面的优化,使最代码的所有请求地址静态化,避免出现请求参数带问号。

其实很多文章在介绍伪静态时都通过http web server如nginx,apache来实现url rewrite,其实java层面实现该技术也是很简单,很多开源的技术框架也可以做到,比如tuckey.org的urlrewrite技术,今天给牛牛们展现下springmvc的urlrewrite技术。

拿最复杂的分享搜索分页排序的例子来说吧:

支持参数k,p,s,其中k是关键词,[\w\W]标示任意字符,这是我以前调用java正则的时候学到的一招,非常的强大,非常magic的写法.p是分页,s是排序

@RequestMapping(value = { "share/k{k:[\\w\\W]+}-p{p:\\d+}-s{s:\\d+}" }, method = { RequestMethod.GET })
public String shareSearchPSK(@PathVariable Integer p, @PathVariable Integer s, @PathVariable String k, ModelMap model) {
<span style="white-space:pre">	</span>Page<Project> projects = projectService.findAllByTitleOrTagsAndType(k, ModuleConstants.PROJECT_TYPE_SHARE_CODE, p, ParamConstants.DEFAULT_COUNT);
<span style="white-space:pre">	</span>
<span style="white-space:pre">	</span>model.put("projects", projects);
<span style="white-space:pre">	</span>model.put("key", k);
<span style="white-space:pre">	</span>populateTopDatas(model);
<span style="white-space:pre">	</span>
<span style="white-space:pre">	</span>return "project/share/search";
}

请求实例如下:http://www.zuidaima.com/share/k%E6%9C%80%E4%BB%A3%E7%A0%81-p1-s1.htm


转载:http://www.zuidaima.com/share/1931697809247232.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值