A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 赵燕燕 于 2011-12-14 15:32 编辑

/*
演示图形化浏览器
客户端:自定义图形化浏览器
服务器:Tomcat服务器
*/
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
class MyIEByGUI
{
        private Frame f;
        private TextField tf;
        private Button b;
        private TextArea ta;
        MyIEByGUI()
        {
                init();       
        }
        private void init()
        {
                f=new Frame("客户端浏览器");
                tf=new TextField(50);
                b=new Button("转到");
                ta=new TextArea(25,60);
                //ta.setEditable(true);
               
                f.setBounds(300,200,500,600);
                f.setLayout(new FlowLayout());
                f.add(tf);
                f.add(b);
                f.add(ta);
               
                myEvent();
               
                f.setVisible(true);       
        }
        private void myEvent()
        {
                b.addActionListener(new ActionListener()
                {
                        public void actionPerformed(ActionEvent e)
                        {
                                try
                                {
                                        showDir();       
                                }
                                catch(Exception ee)
                                {
                                        System.out.println("请求失败");       
                                }
                        }       
                });       
                f.addWindowListener(new WindowAdapter()
                {
                        public void windowClosing(WindowEvent e)
                        {
                                f.setVisible(false);       
                        }       
                });
                tf.addKeyListener(new KeyAdapter()
                {
                        public void keyPressed(KeyEvent e)
                        {
                                try
                                {
                                        if(e.getKeyCode()==KeyEvent.VK_ENTER)
                                        showDir();       
                                }
                                catch(Exception ee)
                                {
                                        System.out.println("请求失败");       
                                }
                        }       
                });
        }
        private void showDir()throws Exception
        {
                ta.setText("");
                //需要获取IP 端口号 资源
                String text=tf.getText();
                //System.out.println(text);
                int index1=text.indexOf("//")+2;
                //System.out.println("index1"+index1);
               
                int index2=text.indexOf("/",index1);
                //System.out.println("index2"+index2);
                String str=text.substring(index1,index2);
                String[] arr=str.split(":");
                //System.out.println("333333333333");
               
                String ip=arr[0];
                int port=Integer.parseInt(arr[1]);
                String path=text.substring(index2);
                //System.out.println("22222222222222");
               
                        Socket s=new Socket(ip,port);
                        PrintWriter out=new PrintWriter(s.getOutputStream(),true);
                       
                        out.println("GET "+path+" HTTP/1.1"); //必须有,告诉服务器我要请求的数据是什么。
                        //out.println("Host: "+ip+":"+port);
                        out.println("Connection: keep-alive");
                        out.println("Accept: */*");
                        out.println("Accept-Language: zh-CN,zh;q=0.8");
                        //System.out.println("33333333333333");
                        out.println();//必须有,用来区分 数据头 和 数据体
                       
                        BufferedReader in=new BufferedReader(new InputStreamReader(s.getInputStream()));
                        String data=null;
                        while((data=in.readLine())!=null)
                        {
                                ta.append(data+"\r\n");       
                        }
                        s.close();
        }
       
       
        public static void main(String[] args)
        {
                new MyIEByGUI();       
        }       
}

//大家帮忙找一下错误,我运行出的结果读取不到网页。运行结果如下:

在Tomcat服务器中建的网站是没有问题的,用搜狗浏览器能正确访问到数据。

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

6 个回复

正序浏览
吴上储 黑马帝 2011-12-14 12:02:33
7#
    你的问题所在就是 tomcat 没配好  

wscweb.xml 内容:如下
                          项目名称                                               项目所在的 工作空间的WebRoot路径 注意是 /
<Context path="/wscweb" reloadable="false" docBase="E:/workspace1/wscweb/WebRoot">
</Context>

回复 使用道具 举报
吴上储 发表于 2011-12-12 00:50
应该是你的tomcat配错了 我的机器上运行你的代码 没有错误 你仔细看看 是不是tomcat没有加载你这个myweb项 ...

这个是在哪里呢?我用命令行运行出来没有网页信息的,应该显示网页信息那部分,就只有0
回复 使用道具 举报
应该是你的tomcat配错了 我的机器上运行你的代码 没有错误 你仔细看看 是不是tomcat没有加载你这个myweb项目

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
结果是不是这样的?
回复 使用道具 举报
吴上储 发表于 2011-12-11 23:54
http://localhost:8080/myweb/demo.html 访问这个看看

不行,127.0.0.1也不行的
回复 使用道具 举报
http://localhost:8080/myweb/demo.html 访问这个看看
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马