我在本地创建了一个过滤器,把指定地址的参数改成用"/"区分了, 在本地测试可以运行,但是发布到了服务器上就出现了404错误了。(我在filter里加了个system.out的测试语句)
配置是:/servlet/*
例如我在本地运行:http://127.0.0.1/path/servlet/user_id/user1,那filter 会自动把它自动转换成(有测试语句输出)
http://127.0.0.1/path/servlet?user_id=user1的但不知为什么到了服务器上 输入 http://192.168.1.101/path/servlet/user_id/user1, 它就报404 page not found(没测试语句输出)
但输入 http://192.168.1.101/path/servlet 就没事然后再尝试改filter的配置 /*
再次测试以上的例子 在本地两个地址都能输出测试语句, 但到了服务器上 第一个链接还是没有测试语句输出,第二个链接是有输出的。
所以我怀疑跟服务器的配置有关我们的服务器是 AIX + Websphere.
哪位高手能指点我吗?
配置是:/servlet/*
例如我在本地运行:http://127.0.0.1/path/servlet/user_id/user1,那filter 会自动把它自动转换成(有测试语句输出)
http://127.0.0.1/path/servlet?user_id=user1的但不知为什么到了服务器上 输入 http://192.168.1.101/path/servlet/user_id/user1, 它就报404 page not found(没测试语句输出)
但输入 http://192.168.1.101/path/servlet 就没事然后再尝试改filter的配置 /*
再次测试以上的例子 在本地两个地址都能输出测试语句, 但到了服务器上 第一个链接还是没有测试语句输出,第二个链接是有输出的。
所以我怀疑跟服务器的配置有关我们的服务器是 AIX + Websphere.
哪位高手能指点我吗?
解决方案 »
- opensessioninview跟请求转发是事务的问题
- struts2怎样设置<s:select>默认选中项
- JSF开发用NETBEANS6.9的IDE,怎么没有.NET可视WEB编写
- 关于IE的java plug-in的工作原理
- 一个全新的WEB解决方案,java+js实现,快速构建b/s结构的管理信息系统
- 有没有java socket高手?? 求帮助啊!
- 请教servlet和javabean的类放置问题
- 怎样捕捉例外?
- 這次項目用的數據庫是SQL server 連接用odbcjdbc橋,問題如下:
- 初学jsp,初学jsp连数据库
- 求助,面试官当场问你xml的解析机制,主要是想考哪方面?
- 求助,WINXP的PATH被我误删了
仔细看看web.xml配置文件!
但是运行的环境不一样~~
运行环境如何不一样?
输入http://192.168.1.101/path/servlet 没问题
输入 http://192.168.1.101/path/servlet/user_id/user1 就有问题说明是/user_id/user1 这出了问题 这出问题的地方也只能是 / 的转义了。
楼主还是自己检查下吧。要不把filter贴出来让大家看看
filter code:
RequestDispatcher disptcher = null;
HttpServletRequest req = (HttpServletRequest) servletRequest;
System.out.println(req.getQueryString());
try {
String [] lStrLink = UTIL_COMMON.fnSplitString(req.getRequestURL().toString(),"/SASC_cIMG/");
String [] params = null;
StringBuffer lStrParma = null;
System.out.println(lStrLink.length);
if (lStrLink.length >1){
params = UTIL_COMMON.fnSplitString(lStrLink[1],"/");
if (params.length%2 != 0){
//alert error
}else{
lStrParma = new StringBuffer();
for (int i =0;i<params.length;i++){
lStrParma.append(params[i]);
if (i % 2 == 1){
if ((i + 1) != params.length)
lStrParma.append("&");
}else{
lStrParma.append("=");
}
}
System.out.println("lStrParma:" + lStrParma);
String lStrLinkImg = lStrLink[0] + "/SASC_cIMG?" + lStrParma;
System.out.println("lStrLinkImg:" + lStrLinkImg);
//disptcher = req.getRequestDispatcher(lStrLinkImg);
disptcher = req.getRequestDispatcher("SASC_cIMG?" + lStrParma);
UTIL_LOGGER.fnWriteLog("ImgLinkFilter","doFilter",disptcher.toString());
disptcher.forward(servletRequest, servletResponse);
}
}else{
filterChain.doFilter(servletRequest, servletResponse);
}