首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

代理中遇到的有关问题

2012-02-12 
代理中遇到的问题。%@ page languagejava contentTypetext/html charsetutf-8pageEncodingutf-8

代理中遇到的问题。
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="java.io.IOException"%>
<%@ page import="org.apache.commons.httpclient.HttpClient"%>
<%@ page import="org.apache.commons.httpclient.HttpStatus"%>
<%@ page import="org.apache.commons.httpclient.methods.PostMethod"%>
<%@ page import="org.apache.commons.httpclient.methods.GetMethod"%>
<%@ page import="org.apache.commons.httpclient.methods.RequestEntity"%>
<%@ page import="org.apache.commons.httpclient.params.HttpMethodParams"%>

<%@ page
import="org.apache.commons.httpclient.methods.StringRequestEntity"%>
<%@ page
import="org.apache.commons.httpclient.DefaultHttpMethodRetryHandler"%>
<%@ page import="java.io.DataOutputStream"%>
<%@ page import="org.apache.commons.httpclient.Header"%>

<%@ page import="java.util.Enumeration"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%>


<%
  request.setCharacterEncoding("utf-8");  
  response.setContentType("text/html;charset=utf-8");
  //10.243.167.74:8082
  url="http://172.16.90.163:8080/ssoclientapp/loginInforeSys?toModel=INTERFACE&usercode=sa&Params=showContent%3DOPTPATHFIND";
  StringBuffer sb=new StringBuffer();
  HttpClient httpClient = new HttpClient();  
  // Create a method instance.
  PostMethod postMethod = new PostMethod(sb.toString());
  String key = null;
  Enumeration parameterNames = request.getParameterNames();
  while(parameterNames.hasMoreElements()){
  key = (String) parameterNames.nextElement();  
  postMethod.addParameter(key, request.getParameter(key));  
  }try{
  // Execute the method.
  int statusCode = httpClient.executeMethod(postMethod);  
  if (statusCode != HttpStatus.SC_OK)
  {
  out.print("连接管线系统出错 " + postMethod.getStatusLine());
  }  
  // Read the response body.
  byte[] responseBody = postMethod.getResponseBody();  
  //设置返回类型
  Header header = postMethod.getResponseHeader("Content-Type");
  String contentType = header.getValue();  
  response.setContentType(contentType);  
  //判断是否是图片
  if(contentType.indexOf("image") != -1){
  //如果是图片则以字节流的形式返回
  DataOutputStream dos = new DataOutputStream (response.getOutputStream()); 
  dos.write(responseBody, 0, responseBody.length);
  dos.flush();
  dos.close();
  out.clear();
  out=pageContext.pushBody();
  }else{
  //如果是图片以外的格式则以字符串的形式返回
  response.getWriter().write(new String(responseBody,"utf-8"));
  out.clear();
  out=pageContext.pushBody();
  }  
  // out.print(new String(res));  


  }
  catch (Exception e)
  {
  out.println("Fatal transport error: " + e.getMessage());
  e.printStackTrace(response.getWriter());
  }
  finally
  {
  // Release the connection.
  postMethod.releaseConnection();
   
  }
%>

这是一个页面中的代码,每运行到url=""这一行就会报错,但是把url直接在IE上运行是OK的
  哪位大侠做过类似的东东。 求解答 下面是一些错误信息

2011-11-2 17:34:46 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 26 in the jsp file: /test/pageRedirect.jsp
url cannot be resolved
23: request.setCharacterEncoding("utf-8");  
24: response.setContentType("text/html;charset=utf-8");
25: //10.243.167.74:8082
26: url="http://172.16.90.163:8080/ssoclientapp/loginInforeSys?toModel=INTERFACE&usercode=sa&Params=showContent%3DOPTPATHFIND";
27: StringBuffer sb=new StringBuffer();
28: HttpClient httpClient = new HttpClient();  
29: // Create a method instance.


Stacktrace:
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:423)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:308)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.gpdi.infores.web.app.filter.PrepareRequestDataFilter.doFilter(PrepareRequestDataFilter.java:34)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)


at java.lang.Thread.run(Thread.java:662)


[解决办法]
pageRedirect.jsp

第26行,自己检查一下吧
[解决办法]
url没定义
[解决办法]
java里面不能写url="...";ie会忽略错误
[解决办法]
url String?
[解决办法]

引用
url="http://172.16.90.163:8080/ssoclientapp/loginInforeSys?toModel=INTERFACE&usercode=sa&Params=showContent%3DOPTPATHFIND";

[解决办法]
PostMethod postMethod = new PostMethod(url);
构造方法能这么写?
[解决办法]
想想 应该是 用这URL 做一个HTTP请求把返货的记过赋值给 PostMethod 
能看看你的构造方法具体咋写的不

热点排行