此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【thankyou2008】截止到2008-07-09 23:28:39的历史汇总数据(不包括此帖):
发帖的总数量:15                       发帖的总分数:1170                     每贴平均分数:78                       
回帖的总数量:13                       得分贴总数量:0                        回帖的得分率:0%                       
结贴的总数量:13                       结贴的总分数:920                      
无满意结贴数:1                        无满意结贴分:40                       
未结的帖子数:2                        未结的总分数:250                      
结贴的百分比:86.67 %               结分的百分比:78.63 %                  
无满意结贴率:7.69  %               无满意结分率:4.35  %                  
楼主加油

解决方案 »

  1.   

    出现的部分 异常 如下:
    http://192.168.1.102:8080/SearchForYou/SearchCellAction.do?searchContent=??????
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    at com.searchforyou.action.SearchAllAction.execute(SearchAllAction.java:102)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Unknown Source)
    老师们帮我  看看吧,谢谢。
      

  2.   

    我现在 出现 了 几个  问题 
          1.  传递 过去 的 汉字 出现 编码问题 ,传递过去的keywords  对方服务器显示 ????? 
    汉字需要进行编码 URLEncode ,然后对方需要解码URLDecode,解码后就能显示完整的汉字了     2. 对方的getone这个 action类 好像 有问题,是否真的 能传递过来 ?,ServletOutputStream  sout  =    response.getOutputStream(); 
    是可以传递数据的,OutputStream也是没有问题的
        3.有人 给我 说 struts的action类没法传递对象 ,有这个说法么?                                         
    是的,它传的只是一个字节流,它不认识对象,所以你要把收到的字节流按照规定的协议转换成你要的对象                                                 
        4.于是 我执行了一下 ,发现 getall 执行到  objectInputStream = new ObjectInputStream(con.getInputStream());的时候出现了问题。 
    你的对象必须要实现 serializable 接口
      

  3.   

    对于 3.
     是的,它传的只是一个字节流,它不认识对象,所以你要把收到的字节 流  按照规 定的协议转换成你要的对象 
      
        你 指的 是什么 协议 ?对于 4.老师,我 的对象 是 个 linkedlist对象 当然 实现了serializable接口  了。
               并且 我 读时候 有 下面 的代码:
                             try {
                  serializeObject= objectInputStream.readObject();
    } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    linkedListCell=(LinkedList) serializeObject;

    objectInputStream.close();
          
      

  4.   

    老师能 推荐个人 懂 struts 的么?
      

  5.   

             InputStream in = con.getInputStream();        这一句老师出错。
      

  6.   

    我推荐java2000_net,楼主找他问问看~
      

  7.   

    这个跟struts没有必然的联系吧。。
      

  8.   

     也许吧,不你  有朋友 懂这个在 action中的execute方法中 通信 的问题么?
      

  9.   

    1,request.setCharacterEncoding("utf-8");应该先验证getone的请求是否正确,再解决接下来的问题
      

  10.   

    我 在 getone中 的有这段代码:
       public ActionForward execute(ActionMapping mapping,
    ActionForm form, 
    HttpServletRequest request, 
    HttpServletResponse response)
    throws IOException, ServletException, SAXException {

    request.setCharacterEncoding("UTF-8");
    response.setContentType("text/html;charset=UTF-8");


    //取得传递的form
    SearchContentForm searchContentForm = (SearchContentForm) form;

    //取得查询参数
    searchContent=searchContentForm.getSearchContent();
      

  11.   

    问题一,编码问题,你在浏览器地址栏输入http://192.168.1.102:8080/test/getone.do?keywords=中文,浏览器会进行这样的编码:
    "http://192.168.1.102:8080/test/getone.do?keywords="+URLEncoder.encode("中文","UTF-8"),所以你的这样:
    Url = new URL("http://192.168.1.102:8080/test/getone.do?keywords="+URLEncoder.encode(kw,"UTF-8")); 
    在192.168.1.102这台机器上需要:request.setCharacterEncoding("utf-8");这样就没有中文问题了。
    问题二至四:
    首先,不仅是struts,通过http协议传输时,传输的内容只有实质的流(声音、图像、文本等),想要描述对象,可以使用xml,即将对象的值写成xml的文本进行传输(得到respone对象的Writer对象),这时应该在struts的execute方法末尾写上:return null;因为这时不需要转到jsp文件或下一个action.
      

  12.   

    对于 中文 编码 这个,第一个问题 ,这涉计 到 ,
                      [color=#FF0000] 1.tomcat 处理对方传过来的 汉字。即我通过 url 传递过去 参数在 对方 服务器tomcat服务器接受的时候对 中文 的处理。 
                       2.tomcat服务器接受这个 中文的参数 之后 ,再把请求 传递给一个struts,
                                      struts接受这个汉字 对它的 处理 ,struts把汉字 封装到 一个form里面,传给 getone这个Action类 ,
                                                             对 汉字的 处理。[/color
      

  13.   

    对于  中文编码  这个 第一个问题 ,这涉计 到 ,
                      [color=#FF0000] 1.tomcat 处理对方传过来的 汉字。即我通过 url 传递过去 参数在 对方 服务器tomcat服务器接受的时候对 中文 的处理。 
                       2.tomcat服务器接受这个 中文的参数 之后 ,再把请求 传递给一个struts,
                                      struts接受这个汉字 对它的 处理 ,struts把汉字 封装到 一个form里面,传给 getone这个Action类 ,
                                                             对 汉字的 处理。[/color