request.getXXX 得到什么路径问题

本文详细解析了Servlet中getServletPath(), getPathInfo(), getContextPath(), getRequestURI(), getRequestURL(), getServletContext().getRealPath(/)等方法的作用,阐述了它们如何在URL处理中分工合作,帮助开发者准确获取请求路径及项目根路径。同时,介绍了getScheme(), getProtocol(), getServerName(), getLocalName等方法在确定协议、域名和服务器信息方面的应用。

getServletPath():获取能够与“url-pattern”中匹配的路径,注意是完全匹配的部分,*的部分不包括。

getPathInfo():与getServletPath()获取的路径互补,能够得到的是“url-pattern”中*d的路径部分

getContextPath():获取项目的根路径

getRequestURI:获取根路径到地址结尾

getRequestURL:获取请求的地址链接(浏览器中输入的地址)

getServletContext().getRealPath("/"):获取“/”在机器中的实际地址

getScheme():获取的是使用的协议(http 或https)

getProtocol():获取的是协议的名称(HTTP/1.11)

getServerName():获取的是域名(xxx.com)

getLocalName:获取到的是IP

--- End of stack trace from previous location where exception was thrown --- at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context) [18:22:11 ERR] An unhandled exception has occurred while executing the request. System.NotSupportedException: Ambiguous HTTP method for action - AirCity.Services.DataAnalysis.Application.QualityControlReport.QualityControlDataProvider.GetQualityControlDataAsync (AirCity.Services.DataAnalysis.Application). Actions require an explicit HttpMethod binding for Swagger/OpenAPI 3.0 at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateOperations(IEnumerable`1 apiDescriptions, SchemaRepository schemaRepository) at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GeneratePaths(IEnumerable`1 apiDescriptions, SchemaRepository schemaRepository) at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GetSwagger(String documentName, String host, String basePath) at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider) at Suncere.AirCityProduct.HeaderCopyMiddleware.Invoke(HttpContext context) in F:\江西国产化\suncereairproductintegrationprovince.v5.3\backend\Suncere.AirCityProduct.Base\src\Suncere.AirCityProduct.HttpApi.Host\Controllers\HeaderCopyMiddleware.cs:line 42 at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context) at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) at Volo.Abp.AspNetCore.Tracing.AbpCorrelationIdMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass5_1.<<UseMiddlewareInterface>b__1>d.MoveNext() --- End of stack trace from previous location where exception was thrown --- at Microsoft.AspNetCore.Localization.RequestLocalizationMiddleware.Invoke(HttpContext context) at Microsoft.AspNetCore.RequestLocalization.AbpRequestLocalizationMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass5_1.<<UseMiddlewareInterface>b__1>d.MoveNext() --- End of stack trace from previous location where exception was thrown --- at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)
最新发布
09-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值