[英]Has problems after @PathVariable parameter value containing the '#' character,with Spring Boot
我已經開發了demopro-dispatcher-servlet.xml ,示例代碼是
<mvc:interceptor> <mvc:mapping path="/login/**" /> <ref bean="loginInterceptor" /> </mvc:interceptor> <bean id="loginInterceptor" class="com.demo.interceptor.LoginInterceptor" />
我的LoginInterceptor示例代碼是
private static String[] SERVLET_PATHS = { "/login/email/password" .. }
我的LoginController示例代碼是
@Controller @RequestMapping("login") public class LoginController{ ...... @RequestMapping("/email/password/{email:.+}/{password:.+}") @Transactional public @ResponseBody void authenticationForLogin(@PathVariable String email, @PathVariable String password, HttpServletRequest request, HttpServletResponse response) { //i tried this code /* String restOfTheUrl1 = (String) request.getAttribute( HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE); logger.debug("Here password is : "+password+" : "+restOfTheUrl1); */ logger.debug("Here password is : "+password); //Its print demo!@ but input is demo!@#$%^
我的請求網址:“ http:localhost:8080 / demopro / login / email / password / {email} / {password} ”
正在從郵遞員那里撥打URL:“ http:localhost:8080/demopro/login/email/password/acecd@gmail.com/demo!@#$%^ ”
密碼打印像演示!
當您傳遞敏感數據(如電子郵件和密碼)時,建議在此處使用url編碼/解碼。您將需要從UI傳遞經過編碼的url,然后在控制器中將其解碼為
String result = URLDecoder.decode(url , "UTF-8");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.