我写了个取子串的方法,源字串是在IE中调用一个servlet的参数,在IE地址中输入下边地址运行servlet,如下:
http://192.168.1.111/servlet/douser?userid=admin&userip=192.168.1.100
然后我的servlet程序如下:
public void service(HttpServletRequest req, HttpServletResponse res)
throws IOException, ServletException
{
ServletOutputStream out = res.getOutputStream();
javax.servlet.ServletInputStream in = req.getInputStream();
String queryString = req.getQueryString(); 开始取子串(参数为:源始串,起始字符串,到某个串结束) String userid = getSubString(queryString,"userid=", "&userip").toLowerCase(); .....其它代码略
//获取给定字符串中指定的起始结束字符间的子串的方法如下
public String getSubString(String SourceStr,String start,String end) {
String getstr="";
try
{
getstr = SourceStr.substring(SourceStr.indexOf(start)+start.length(),SourceStr.indexOf(end));
}
catch (Exception e)
{
e.printStackTrace();
}
return getstr ;
}我的问题:我在windows 2000 的机器 及 IE6 上输入上边的http://地址,结果运行正确,取得了我想
要的字符串admin
但是 在Windows XP 及IE6 上输入上边的http://地址,结果不正确,得到的字符串是dmin,少了前边的a ,请问这是为什么?????
http://192.168.1.111/servlet/douser?userid=admin&userip=192.168.1.100
然后我的servlet程序如下:
public void service(HttpServletRequest req, HttpServletResponse res)
throws IOException, ServletException
{
ServletOutputStream out = res.getOutputStream();
javax.servlet.ServletInputStream in = req.getInputStream();
String queryString = req.getQueryString(); 开始取子串(参数为:源始串,起始字符串,到某个串结束) String userid = getSubString(queryString,"userid=", "&userip").toLowerCase(); .....其它代码略
//获取给定字符串中指定的起始结束字符间的子串的方法如下
public String getSubString(String SourceStr,String start,String end) {
String getstr="";
try
{
getstr = SourceStr.substring(SourceStr.indexOf(start)+start.length(),SourceStr.indexOf(end));
}
catch (Exception e)
{
e.printStackTrace();
}
return getstr ;
}我的问题:我在windows 2000 的机器 及 IE6 上输入上边的http://地址,结果运行正确,取得了我想
要的字符串admin
但是 在Windows XP 及IE6 上输入上边的http://地址,结果不正确,得到的字符串是dmin,少了前边的a ,请问这是为什么?????
"1234567".substring(1,4)应该得到123啊。
应该得到234