前面是什么,怎么不贴出来?你自己又要实现什么功能?感情你什么都不说啊?根据这么多程序,感觉可以当作一个简单的c/s程序,server接收client的消息,然后打印,
据此,可以猜测request是client.

解决方案 »

  1.   

    你做的什么程序!?如果是servlet的话那
    public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException
    或者
    public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException
    其中的request应该就是HttpServletRequest
      

  2.   

    以下是我的代码: 
    void jButton2_actionPerformed(ActionEvent e) {
       try {
         URL url = new URL("http://localhost:16800");
         HttpURLConnection conn =(HttpURLConnection) url.openConnection();
         //conn.connect();
          conn.setRequestMethod("POST");
          conn.setDoOutput(true);      XmlDocument doc=new XmlDocument();
           String para="";
          para=doc.createXmlDocument("query.xml").toString();
          System.out.println("haha");      //向服务器发送请求数据,数据就是一个xml文件
          BufferedWriter bWriter = new java.io.BufferedWriter(new java.io.OutputStreamWriter(conn.
                                   getOutputStream()));
           bWriter.write(para);
           //关闭连接
           bWriter.flush();
           bWriter.close();
           conn.disconnect();       java.io.BufferedReader bReader = null;
          // int c=  conn.getResponseCode();
          // String str=  conn.getResponseMessage();
     ………………………………………………………………………………………………
    到这里该怎么做啊,服务器要把处理的结果传回客户端,代码该怎么写啊 ………………………………………………………………………………………………     
            htmlArea.removeAll();
        //把结果显示在文本框中
         htmlArea.setText(sb.toString());   } catch(Exception ex) {
         ex.printStackTrace();
       }
      }
    快啊,时间不多了,大家帮帮忙。要多少分给多少,只要能解决问题。
      

  3.   

    1.你要等到客户端接收到服务器要把处理的结果结果后才能关闭连接
    2.把………………………………………………………………………………………………
    到这里该怎么做啊,服务器要把处理的结果传回客户端,代码该怎么写啊 ……………………………………………………………………………………………… 替换成    bReader = new BufferedReader(urlcon.getInputStream());
    然后分析结果
    3.把conn.disconnect();移动到bReader = new BufferedReader(urlcon.getInputStream());
    之后!
      

  4.   

    直觉javax.servlet.ServletRequest
    因为他正好有这个方法getReader
      

  5.   

    javax.servlet.ServletRequest
    javax.servlet.http.HttpServletRequestjsp中的request也可以
      

  6.   

    对于这几行代码好象也有问题:
    XmlDocument doc=new XmlDocument();
           String para="";
          para=doc.createXmlDocument("query.xml").toString();
    因为我输出para时,并不是xml文件的内容,而是org.apache.crimson.tree.XmlDocument@56f631
    大家帮我分析一下。
    看来今天要加班了。
      

  7.   

    大家看我的代码就知道我要实现的功能很简单,不用servlet能不能实现啊,因为我一直没用过它。以后打算买本书再学。
      

  8.   

    因为你使用了httpURLConnection,那么你肯定要和一个web应用进行交互,所以最直接的办法就是使用servlet,在servlet中处理完数据后,如果返回的只是简单的字符串,那么可以在servlet中使用response.getWriter().println("this is test");在你的客户端可直接使用
          BufferedReader in = new BufferedReader(new
                                                 InputStreamReader(conn.
              getInputStream()));      // print first ten lines of contents      String line;            while ( (line = in.readLine()) != null ) {
            System.out.println(line);      }
    得到servlet的输出,不过你得客户端的程序中要添加上
     conn.setRequestMethod("POST");
          conn.setDoOutput(true);
    conn.setDoInput(true);//这是添加的,表明要接受服务器的输入
    如果需要接受的是一个对象,那就需要传递对象了
      

  9.   

    我把代码作了一定的修改:
        URL url = new URL("http://localhost:16800");
        HttpURLConnection conn =(HttpURLConnection) url.openConnection();
         conn.setRequestMethod("POST");
         conn.setDoOutput(true);
         conn.setDoInput(true);
         conn.setUseCaches(false);
        conn.setRequestProperty("Content-type","application/x-www-form-urlencoded");
         conn.setRequestProperty("rBeacon-Service","1001");
         //获得读入服务器的数据
         String para="";
        LineNumberReader reader = new LineNumberReader(new FileReader("query.txt"));
         String line;
         //分别读入数据表文件中的每一行
         while ( (line = reader.readLine()) != null)
             para+=line+"\n";
             para=para.substring(0,para.length()-1);
        //测试输出
         System.out.print(para);
         //向服务器发送请求数据
         BufferedWriter bWriter = new java.io.BufferedWriter(new java.io.OutputStreamWriter(conn.
                                  getOutputStream()));
          bWriter.write(para);
          //关闭连接
          bWriter.flush();
          bWriter.close();      //从服务器读取数据
        if( conn.getResponseCode()==HttpURLConnection.HTTP_OK) {
          StringBuffer sb = new StringBuffer();
          String line2 = null;
          BufferedReader in = new BufferedReader(new java.io.InputStreamReader(
              conn.getInputStream()));
          while ( (line2 = in.readLine()) != null) {
            sb.append(line);
            System.out.println("\n程序可以执行到这里!");
          }
          in.close();
          System.out.print("输出为:" + sb);      jTextArea1.removeAll();      jTextArea1.setText(sb.toString());
    输出为:
    <rBeacon version='5.0'>
        <directaccess pool='ACCESS' interrupt='1'>
            <statement maxrow='100' columntype='0' format='1' resultset='0' gotorow='0'>select * from source</statement>
        </directaccess>
    </rBeacon>
    程序可以执行到这里!
    输出为:null。
    请问这是怎么回事?服务器上可以显示其收到客户的请求,但就是不能把响应结果显示出来,大家帮忙看一下啊,谢谢了。
      

  10.   

    呵呵,我找到问题所在了:
    while ( (line2 = in.readLine()) != null) {
            sb.append(line);
            System.out.println("\n程序可以执行到这里!");
          }
    其中 sb.append(line);
    应该为 sb.append(line2);,line的初始化为null,所以结果就输出为空。呵呵,都是我太粗心了,给大家添麻烦了,对不起大家,呵呵。同时也忠心感谢大家的热情帮忙。