[java] response.sendRedirect()시 오류 Invalid characters (CR/LF) in redirect location 해결방법
AES256으로 암호화한 후 BASE64로 인코드 처리한 파라미터 값에 CR/LF 문자가 존재하여 발생한 오류이다.
SDFSDF
[오류 해결 방법]
sendRedirect()메소드를 사용하지 말고 ModelAndView를 사용하여 넘겨준다.
[AS-IS]
@RequestMapping(value = "/test.do")
public void loginMain(HttpServletRequest request, HttpServletResponse response, ModelMap model) throws ServletException, IOException
{
String msg="?mssg=sdfdf3ffHdf34";
response.sendRedirect("/");
response.sendRedirect("/test"+msg);
}
[TO-BE]
@RequestMapping(value = "/testGo.do")
public ModelAndView loginMain(HttpServletRequest request, HttpServletResponse response, ModelMap model) throws ServletException, IOException
{
ModelAndView mav = new ModelAndView("redirect:/test");
mav.addObject("Id","1234");
mav.addObject("type","xxxxx");
mav.addObject("mode","yyyy");
return mav;
}
[REFERENCE]