怎么让tomcat的jsp网址大小写不敏感?

sb3day 2010-05-02 08:52:50
方法1:caseSensitive="false" ></Context>这样设置会访问不到资源
2: public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
((HttpServletResponse)arg1).sendRedirect(((HttpServletRequest)arg0).getRequestURL().toString().toLowerCase());

arg2.doFilter(arg0, arg1);
}这样如果本来网址就是大写的,就也会访问不到资源;如果我写的网页网址本来就是Index.jsp,转成小写就访问不到了





...全文
554 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
幽饮烛 2011-03-14
  • 打赏
  • 举报
回复
URI 绝对是大小写敏感的。。。。。
nobullet 2010-05-03
  • 打赏
  • 举报
回复
最简便、直接、有效的方法就是让程序员对大小写敏感。。呵呵 开个玩笑 跟4楼的观点一致,这样的需求没有研究的意义。
kamiomisuzu01 2010-05-03
  • 打赏
  • 举报
回复
学习了~
sb3day 2010-05-03
  • 打赏
  • 举报
回复
如果用户手动输入url,就可能产生大小写问题
觉得大小写区分没有必要吧
rumlee 2010-05-03
  • 打赏
  • 举报
回复
难道还有这样变态的需求,这样要求没有什么意义啊,一般来说,只要是java程序,不管用什么发布,url都是区分大小写的。
qingyuan18 2010-05-03
  • 打赏
  • 举报
回复
Jsp名本来就应该小写,驼峰命名法即可,你这样强制用Filter去转换反而有歧义,WEB路径本来就应该严格的
sb3day 2010-05-03
  • 打赏
  • 举报
回复
up
.
curacfyh 2010-05-02
  • 打赏
  • 举报
回复
引用
方法1:caseSensitive="false" ></Context>这样设置会访问不到资源


这个<Context></Context>是设置虚拟路径的,有如IIS中那样,如果你重复设置相同的,tomcat会启动不了。
下面是我设置的虚拟路径:
<Context docBase="D:\workspace\test\WebRoot" path="/test" caseSensitive="false"></Context>
我的jsp名字为:InDex.jsp
我访问的URL为:http://localhost:8080/test/index.jsp
经测试忽略大小写,但URL必须以全部小写方可访问。

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧