这是我的一个JSP页面的完整代码:
<%@ page contentType="text/plain; charset=UTF-8"%>
<%@ page language="java"%>
<%@ page import="org.apache.commons.httpclient.*,org.apache.commons.httpclient.methods.GetMethod"%>
<%
    out.clear();                                        String url = request.getParameter("url");      
    HttpClient client = new HttpClient();          
    GetMethod method = new GetMethod(url);         
    try {
        client.executeMethod(method);               
        out.print(method.getResponseBodyAsString());
    } catch (Exception e) {
    } finally {
        method.releaseConnection();              
    }
%>
建的个web service project,相关包不缺。这个页面可以出来,但是我测试发现取的URL参数为“null”.
写了个java测试类:
public class Test{

public static void main(String[] args){
       

HttpClient client = new HttpClient();
String url;
try {
if (url == null) {
System.out.println("取到的url参数为空");
} else {
url = request.getParameter("url");//这个地方报错为"request canot be resolved"
}
} catch (Exception e) {
// TODO: handle exception
}
GetMethod get=new GetMethod(url);


try{
client.executeMethod(get);

}catch(Exception e){
}finally{
get.releaseConnection();
}
}这是什么原因啊?那位大虾能指教下,谢谢了!

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【ys2001】截止到2008-07-22 20:43:08的历史汇总数据(不包括此帖):
    发帖的总数量:0                        发帖的总分数:0                        每贴平均分数:0                        
    回帖的总数量:0                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:0                        结贴的总分数:0                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:---------------------结分的百分比:---------------------
    无满意结贴率:---------------------无满意结分率:---------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   


    <%@ page contentType="text/plain; charset=UTF-8"%>
    <%@ page language="java"%>
    <%@ page import="org.apache.commons.httpclient.*,org.apache.commons.httpclient.methods.GetMethod"%>
    <%
        out.clear();                                       String url = request.getParameter("url");     
        HttpClient client = new HttpClient();         
        GetMethod method = new GetMethod(url);       
        try {
            client.executeMethod(method);             
            out.print(method.getResponseBodyAsString());
        } catch (Exception e) {
        } finally {
            method.releaseConnection();             
        }
    %> 你把这个页面的所有  空格和回车<%%>之间的空格和回车<%%>空格和回车   都去掉。就好了,类似于这样:
    <%@ page contentType="text/plain; charset=UTF-8"%><%@ page language="java"%><%@ page import="org.apache.commons.httpclient.*,org.apache.commons.httpclient.methods.GetMethod"%><%
        out.clear();                                       String url = request.getParameter("url");     
        HttpClient client = new HttpClient();         
        GetMethod method = new GetMethod(url);       
        try {
            client.executeMethod(method);             
            out.print(method.getResponseBodyAsString());
        } catch (Exception e) {
        } finally {
            method.releaseConnection();             
        }
    %>
    <%%>外面的空格回车都去掉
      

  3.   

    应该和编码,jar包之类的无关
      

  4.   

    和空格之类的无关的,页面可以出来。我测试了下。
    “String url = request.getParameter("url");”取到的参数是空的,我想取到用户访问的url地址
      

  5.   

    不知道楼主为什么要这么做. 看看jspSmartUpload的用法,你就会明白.
      

  6.   

    我这个和下载,上传无关的。
    这个是为了:在用户访问URL的时候,清空用户访问的url,,,加载进自己想要的url.
      

  7.   

    好像有一个getServletName()
    不记得是哪一个的函数了.可以取到URL.不太记得是哪个了.getParameter("url")可以?这个url在哪定义的啊?
      

  8.   

    <%
     String url  =  "http://"  +  request.getServerName()  +  ":"  +  request.getServerPort()  +  request.getContextPath()+request.getServletPath().substring(0,request.getServletPath().lastIndexOf("/")+1);  
         System.out.println("web  URL  路径:"+url);
    %>
      

  9.   

    <%
    String url=request.getScheme()+"://"; 
    url+=request.getHeader("host"); 
    url+=request.getRequestURI(); 
    if(request.getQueryString()!=null) 
    url+="?"+request.getQueryString(); 
    out.println(url);
    %>
      

  10.   

    原来你是想获取URL呀,试试9、10楼的方法吧