此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【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 %
楼主加油
楼主【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 %
楼主加油
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)
老师们帮我 看看吧,谢谢。
1. 传递 过去 的 汉字 出现 编码问题 ,传递过去的keywords 对方服务器显示 ?????
汉字需要进行编码 URLEncode ,然后对方需要解码URLDecode,解码后就能显示完整的汉字了 2. 对方的getone这个 action类 好像 有问题,是否真的 能传递过来 ?,ServletOutputStream sout = response.getOutputStream();
是可以传递数据的,OutputStream也是没有问题的
3.有人 给我 说 struts的action类没法传递对象 ,有这个说法么?
是的,它传的只是一个字节流,它不认识对象,所以你要把收到的字节流按照规定的协议转换成你要的对象
4.于是 我执行了一下 ,发现 getall 执行到 objectInputStream = new ObjectInputStream(con.getInputStream());的时候出现了问题。
你的对象必须要实现 serializable 接口
是的,它传的只是一个字节流,它不认识对象,所以你要把收到的字节 流 按照规 定的协议转换成你要的对象
你 指的 是什么 协议 ?对于 4.老师,我 的对象 是 个 linkedlist对象 当然 实现了serializable接口 了。
并且 我 读时候 有 下面 的代码:
try {
serializeObject= objectInputStream.readObject();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
linkedListCell=(LinkedList) serializeObject;
objectInputStream.close();
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();
"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.
中文 编码 这个,第一个问题 ,这涉计 到 ,[color=#FF0000] 1.tomcat 处理对方传过来的 汉字。即我通过 url 传递过去 参数在 对方 服务器tomcat服务器接受的时候对 中文 的处理。
2.tomcat服务器接受这个 中文的参数 之后 ,再把请求 传递给一个struts,
struts接受这个汉字 对它的 处理 ,struts把汉字 封装到 一个form里面,传给 getone这个Action类 ,
对 汉字的 处理。[/color
[color=#FF0000] 1.tomcat 处理对方传过来的 汉字。即我通过 url 传递过去 参数在 对方 服务器tomcat服务器接受的时候对 中文 的处理。
2.tomcat服务器接受这个 中文的参数 之后 ,再把请求 传递给一个struts,
struts接受这个汉字 对它的 处理 ,struts把汉字 封装到 一个form里面,传给 getone这个Action类 ,
对 汉字的 处理。[/color