96SEO 2026-02-19 19:06 11
spring.messages.basenamemessages以逗号分隔的基名列表实质上是完全限定的类路径位置每个基名都遵循

约定对基于斜杠的位置提供了宽松的支持。
如果它不包含包限定符例如“org.
默认是messages,所以第一步中文件为messages.properties,也可根据实际定义其他名字。
spring.messages.cache-duration1000加载的资源包文件缓存持续时间。
如果未设置捆绑包将永久缓存。
如果未指定持续时间后缀则将使用秒。
spring.messages.encodingutf-8消息包编码。
spring.messages.fallback-to-system-localetrue如果未找到特定区域设置的文件是否回退到系统区域设置。
如果关闭此功能则唯一的回退将是默认文件例如basename
spring.messages.use-code-as-default-messagefalse是否使用消息代码作为默认消息而不是抛出“NoSuchMessageException”。
建议仅在开发期间使用。
第一步中我们定义了一个参数叫test.i18n.message如果我们使用的时候取名test.i18n.message123只要是多语言文件中未定义的key则该参数设置为false时会报错。
设置为true时不会报错由于找不到对应的key则不替换该多语言字符。
org.springframework.web.filter.RequestContextFilter#initContextHolders
org.springframework.web.servlet.FrameworkServlet#initContextHolders
org.apache.catalina.connector.Request#parseLocales
如果请求头中为携带语言参数的header为accept-language则框架已自动帮我们做了解析不用我们再写额外代码。
注意参考了多个大公司国际化没有公司将国际化相关的数据用accept-language传递accept-language本身记录的是浏览器我用的谷歌浏览器的语言环境可能是可以作为其他的业务数据类似于收集用户数据等而是存放在cookie中。
所以我们要定义一个参数将国际化相关的数据存放在cookie中请求后端时将该参数添加到header单独定义一个header参数或者将整个cookie传输中传递到后端。
框架解析多语言环境时使用的accept-language所以我们要重写解析的方法替换为我们自定义的header参数test-lang。
新建一个request的包装类在filter中包装原request重写解析语言环境的方法。
org.apache.tomcat.util.http.parser.AcceptLanguage;import
javax.servlet.http.HttpServletRequest;
javax.servlet.http.HttpServletRequestWrapper;
I18nWrapperRequest(HttpServletRequest
Locale.getDefault();Overridepublic
Collections.enumeration(locales);}ArrayListLocale
ArrayList();results.add(defaultLocale);return
Collections.enumeration(results);}/***
getRequest()).getHeaders(test-lang);while
values.nextElement();parseLocalesHeader(value,
Double.valueOf(-acceptLanguage.getQuality());
orderlocales.computeIfAbsent(key,
ArrayList()).add(acceptLanguage.getLocale());}}/***
org.springframework.core.Ordered;
org.springframework.core.annotation.Order;
org.springframework.stereotype.Component;
org.springframework.web.filter.OncePerRequestFilter;import
javax.servlet.ServletException;
javax.servlet.annotation.WebFilter;
javax.servlet.http.HttpServletRequest;
javax.servlet.http.HttpServletResponse;
doFilterInternal(HttpServletRequest
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback