站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题URL大小写问题!!在线等。。。

URL大小写问题!!在线等。。。

摘要: URL大小写问题!!在线等。。。


由于JAVA和JSP是区分大小写,我想请问如何对URL进行过滤。比如正常的URL是:http://www.java-cn.com/bbs-jsp/index.jsp?forum=jsp,我想以下这样的地址也能访问:
http://www.java-cn.com/bbs-jsp/indEx.JSP?forum=jsp
http://www.java-cn.com/bbs-jsp/index.jsp?fOrum=jSP
http://www.java-cn.com/bbs-jSp/index.jsp?forum=jsp
http://www.java-cn.com/bbS-jsp/index.jsp?forum=jsp
http://www.JAVA-cn.com/bbs-jsp/Index.jsp?Forum=jsp

等等这些,意思就是我在浏览这个地址的时候,使其大小写都能浏览,而不报错。

Thanks!!


高手们,你们去哪了呀,帮我看看呀~~~~~~~~~~


可能要写个 dispatcher 把 URL 转换成全小写再往里传。
能力有限,不会!


为什么有这个需求?!干吗要大小写不敏感?!规则已然制定,就需要遵守,干吗去破坏

其中有几个或许还有办法,利用Filter+RequestWrapper,域名只能自己去注册,ContextPath只能靠多发布几个WebApp


这样不行的,我开始在Servlet中用String url=request.getURL().toString;获得URL地址,然后我在转换为小写,最后用request.getRequestDisPatecher("sss.jsp").forward(request,response);进行转向。XML中配置的SERVLET的URL映射为*,虽然能这样想,可是,意想不到的情况是:无限循环出现了。


跟你说了,用filter,servlet是会doXXX无限次的,不管是直接来自客户端的request,还是内部forward/include过来的

而filter默认只接受request,而不会响应forward/include.


我想写个filter应该也是可以的,把url全部转化为大写或者小写


哦,那好的,谢谢你。可是,如何去写?能帮我吗?。。。


package xxx;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;

public class CaseFilter implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {
}
public void destroy() {
}
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain) throws IOException, ServletException {
final HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletRequestWrapper wrapper = new HttpServletRequestWrapper(httpRequest) {
public String getServletPath() {
return super.getServletPath().toLowerCase();
}
};
chain.doFilter(wrapper, response);
}
}

web.xml
之前


case
xxx.CaseFilter



case
/*



Thanks!
我还没试,不过先谢过了,如愿意的话,请留QQ或者MSN。
也可以加我,
QQ:963415
MSN:wyhlgx@163.com


↑返回目录
前一篇: 我下面这种写法对吗?不对怎么写
后一篇: [100分请教]关于弹出窗口的session