CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

●●JSP如何得到一个网址返回的源码?

楼主ok1996()2005-12-27 18:01:39 在 Java / Web 开发 提问

有一个这样的URL  
  http://www.123.com/aa.asp?id=111  
   
  如何把它的源码赋值给JSP的一个变量????  
   
  ASP可以用XMHTTP,JSP我不知怎么搞,请教 问题点数:20、回复次数:15Top

1 楼ok1996()回复于 2005-12-27 19:22:32 得分 0

upTop

2 楼scriptren(路是慢慢走出来的......)回复于 2005-12-27 19:53:19 得分 0

路过  
  不懂  
  顶一个Top

3 楼zjueman(老学究)回复于 2005-12-27 21:22:12 得分 0

可以通过  
  URLConnection连接这个URL  
  就可以获得这个网页的内容  
  然后把返回回来的内容付给那个变量  
   
  没有把握,可以试试Top

4 楼dxadnwfn(可米第二)回复于 2005-12-27 21:40:43 得分 0

String   id=request.getParameter("id");  
   
   
  ok试试Top

5 楼iwlk(http://www.ChinaFedora.cn/ fedora论坛)回复于 2005-12-27 21:45:07 得分 0

java.net.URLConnection   conn=new   java.net.URL("http://site.c06.net/").openConnection();  
  java.io.InputStream   fis=conn.getInputStream();  
  byte   by[]=new   byte[conn.getContentLength()];  
  fis.read(by);  
  fis.close();  
  //如果http://site.c06.net/网页的编码是utf-8   则  
  String   str=new   String(by,"UTF-8");  
  //如果http://site.c06.net/网页的编码是gb2312   则  
  //String   str=new   String(by);  
  System.out.println(str);  
  Top

6 楼iwlk(http://www.ChinaFedora.cn/ fedora论坛)回复于 2005-12-27 21:48:04 得分 0

//你把   http://site.c06.net/   改为   你想得到源码的URL   即可Top

7 楼ok1996()回复于 2005-12-28 00:58:16 得分 0

我试了,报错呀  
   
  description   The   server   encountered   an   internal   error   ()   that   prevented   it   from   fulfilling   this   request.  
   
  exception    
   
  org.apache.jasper.JasperException  
  org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)  
  org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)  
  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)  
  javax.servlet.http.HttpServlet.service(HttpServlet.java:802)  
   
  Top

8 楼ok1996()回复于 2005-12-28 00:59:29 得分 0

我一句句试,发现从  
  byte   by[]=new   byte[conn.getContentLength()];   这句开始报错Top

9 楼ok1996()回复于 2005-12-28 09:13:33 得分 0

如果我将byte   by[]=new   byte[conn.getContentLength()];   改成  
  byte   by[]=new   byte[999];//   那么页面就什么也不显示,什么也读不到Top

10 楼jfy3d(剑事 http://www.migti.com)回复于 2005-12-28 09:32:33 得分 0

http://www.blogjava.net/jfy3d/archive/2005/05/11/4173.html  
  这个可以实现Top

11 楼denghan(很久没来ASP版了)回复于 2005-12-28 09:44:14 得分 0

源码?HTML类的可以,如果是ASP,PHP等动态脚本,只能得到解释生成后的代码  
   
  试试这个  
  try  
          {   //开始发送  
              URL   url   =   new   URL(urlstr);  
              URLConnection   connection   =   url.openConnection();  
              connection.connect();  
              BufferedReader   in   =   new   BufferedReader(new   InputStreamReader(connection.  
                      getInputStream()));  
              String   line;  
              while   (   (line   =   in.readLine())   !=   null)   {  
                  result   +=   line;   //.substring(line.indexOf("|")+1)  
              }  
              in.close();  
              System.out.println("成功发送请示并取回内容:\n"   +   urlstr);  
          }  
          catch   (Exception   e)   {  
              ReturnValue   =   "";  
              System.out.println("发送失败:"+e.getMessage());  
          }  
   
  需要import   java.net.URLConnection,java.net.URL,java.io.BufferedReader,java.io.InputStreamReader;  
  如果目标页内容多,建议用StringBuffer  
  Top

12 楼dafei0320(我只知其然)回复于 2005-12-28 09:51:01 得分 0

楼上正解——  
  BufferedReader   in   =   new   BufferedReader(new   InputStreamReader(connection.  
                      getInputStream()));  
              String   line;  
              while   (   (line   =   in.readLine())   !=   null)   {  
                  result   +=   line;   //.substring(line.indexOf("|")+1)  
              }  
              in.close();  
  Top

13 楼iwlk(http://www.ChinaFedora.cn/ fedora论坛)回复于 2006-01-04 23:39:23 得分 0

楼主:我测试者正常呀  
   
  <%  
  java.net.URLConnection   conn=new   java.net.URL("http://site.c06.net/").openConnection();  
  java.io.InputStream   fis=conn.getInputStream();  
  byte   by[]=new   byte[(int)conn.getContentLength()];  
  fis.read(by);  
  fis.close();  
  //如果http://site.c06.net/网页的编码是utf-8   则  
  String   str=new   String(by,"UTF-8");  
  //如果http://site.c06.net/网页的编码是gb2312   则  
  //String   str=new   String(by);  
   
  out.println(str);  
  %>Top

14 楼koma_wind()回复于 2006-01-05 00:05:16 得分 0

正好今天在写:  
  import   java.io.BufferedReader;  
  import   java.io.InputStream;  
  import   java.io.InputStreamReader;  
  import   java.net.HttpURLConnection;  
  import   java.net.URL;  
   
  /**  
    *   @author   Administrator  
    *  
    *   TODO   To   change   the   template   for   this   generated   type   comment   go   to  
    *   Window   -   Preferences   -   Java   -   Code   Style   -   Code   Templates  
    */  
  public   class   GetWebCode   {  
   
  public   static   String   getHtmlCode(String   http){  
  String   webCode   =   "";  
  InputStream     in;  
  try   {  
  URL   url   =   new   java.net.URL(http);  
  HttpURLConnection   connection   =   (HttpURLConnection)url.openConnection();  
  connection   =   (HttpURLConnection)   url.openConnection();  
  //模拟成IE  
  connection.setRequestProperty("User-Agent","Mozilla/4.0   (compatible;   MSIE   6.0;   Windows   2000)");  
  connection.connect();  
  in   =   connection.getInputStream();  
          java.io.BufferedReader   breader   =   new   BufferedReader(new   InputStreamReader(in   ,   "GBK"));  
          String   tmp   =   "";  
              while(breader.readLine()   !=   null){  
              webCode   =   webCode   +   breader.readLine();  
              }  
               
  }   catch   (Exception   e)   {  
  e.printStackTrace();  
  }  
  return   webCode;  
  }  
   
  public   static   void   main(String[]   args){  
   
  try   {  
  String   demo   =   getHtmlCode("http://www.easydone.cn");  
  System.out.println(demo);  
  }   catch   (Exception   e)   {  
  e.printStackTrace();  
  }  
  }  
  }Top

15 楼nora2008((www.web745.com))回复于 2006-03-28 20:25:36 得分 20

最简单的源码  
  http://www.web745.com/html/190/158.html  
   
  <%@   page   contentType="text/html;   charset=gb2312"   %>    
  <%@   page   import="sun.misc.*"   %>    
  <%@   page   import="java.net.*"%>    
  <%@   page   import="java.lang.reflect.Method"%>    
  <%@   page   import="java.util.*"%>    
  <%@   page   import="java.io.*"%>    
   
   
   
   
   
   
  <%    
   
   
  String   UrlStr="http://www.web745.com";    
   
  String   sTemp   =   "";    
   
  URL   url=new   URL(UrlStr);    
  HttpURLConnection   connection=(HttpURLConnection)url.openConnection();    
  BufferedInputStream   in   =   new   BufferedInputStream(connection.getInputStream());    
  int   n   =   -1;    
  int   BUF_SIZE   =   in.available();    
  byte   []   line   =   new   byte[BUF_SIZE];    
  StringBuffer   buf   =   new   StringBuffer();    
  while((n=in.read(line,0,BUF_SIZE))   !=   -1   ){    
  if(n<BUF_SIZE)    
  buf.append(new   String(line).substring(0,n));    
  else    
  buf.append(new   String(line));    
  }    
   
  sTemp   =   buf.toString();    
  sTemp=sTemp.replaceAll("?","");    
   
  out.print(sTemp);    
   
   
  %>    
  Top

相关问题

  • Resin死了, apache就把jsp的源码返回来了,怎么解决?
  • 谁有jsp论坛源码
  • 求动态返回XML的源码?
  • 寻求用C/C++编写CGI的程序源码和网址!!
  • 50分求好的源码网址(最好是免费的)
  • 谁有jsp记数器源码?
  • 百分求jsp网站源码
  • [HELP!!!]下载的jsp源码怎么用?
  • 求jsp新闻发布系统源码
  • 谁能告诉我下载codeguru的VC源码的网址,或更好的VC源码库?

关键词

  • .net
  • 源码
  • 网页
  • 内容
  • jsp
  • asp
  • null
  • c06
  • bufferedreader
  • urlconnection

得分解答快速导航

  • 帖主:ok1996
  • nora2008

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo