关于servlet重定向次数过多的问题

钎探穗

关注

阅读 64

2022-03-15

震惊我自己一整年,在servlet中使用response.sendRidirect()进行重定向时,地址一定要记得加“/”!!!
无论是配置了TemplatePath的ftl文件还是普通的地址,都要加!!

正确代码:response.sendDirect("/index.ftl");
错误代码:response.sendDirect("index.ftl");

特别是在servlet的访问地址采用了*通配符的情况下,如

@WebServlet(name="test",value="/test/*")

在对*进行uri的提取的时候很容易把“/”也剔除掉,如

String uri = request.getRequestURI();
String uri1 = uri.substring(1);
String uri2 = uri1.substring(uri1.indexof("/"));
//这个时候的uri2就是/index

精彩评论(0)

0 0 举报