<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name></display-name> <servlet> <servlet-name>reportServlet</servlet-name> <servlet-class>servlet.ReportServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>reportServlet</servlet-name> <url-pattern>/report</url-pattern> </servlet-mapping> </web-app>
import java.io.BufferedOutputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @SuppressWarnings("serial") public class ReportServlet extends HttpServlet{ static final String DOMAINURL="http://localhost:80/xxx/xxx/xxx"; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { super.doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { InputStream is = null; ByteArrayOutputStream baos =null; try { is = req.getInputStream(); baos = new ByteArrayOutputStream(); int readBytes = 0; byte[] bs = new byte[1024]; while ((readBytes = is.read(bs)) > 0) baos.write(bs, 0, readBytes); } catch (IOException e) { e.printStackTrace(); resp.getWriter().write("{\"errorCode\":401}"); } finally { if (is != null) try { is.close(); } catch (IOException e) { e.printStackTrace(); resp.getWriter().write("{\"errorCode\":401}"); } } InputStream in = null; HttpURLConnection conn = null; String setCookie = null; try { System.out.println("SendTo: " + DOMAINURL); URL send_url = new URL(DOMAINURL); conn = (HttpURLConnection) send_url.openConnection(); conn.setConnectTimeout(10000); conn.setDoOutput(true); conn.setUseCaches(false); conn.setRequestProperty("Content-type", "application/x-www-form-urlencoded;charset=UTF-8"); conn.setRequestMethod("POST"); conn.connect(); OutputStream raw = conn.getOutputStream(); OutputStream buf = new BufferedOutputStream(raw); OutputStreamWriter out = new OutputStreamWriter(buf, "UTF-8"); out.write(baos.toString()); out.flush(); out.close(); in = conn.getInputStream(); setCookie = conn.getHeaderField("Set-Cookie"); // 采用byte流读取 ByteArrayOutputStream baos2 = new ByteArrayOutputStream(); byte[] bytes = new byte[1]; while (in.read(bytes) != -1) { baos2.write(bytes); } in.close(); String ouputData = new String(baos2.toByteArray()); System.out.println("ouputData = " + ouputData); resp.getWriter().write(ouputData); } catch (Exception e) { e.printStackTrace(); resp.getWriter().write("{\"errorCode\":401}"); } finally { try { if (in != null) in.close(); if (conn != null) conn.disconnect(); } catch (IOException e) { e.printStackTrace(); resp.getWriter().write("{\"errorCode\":401}"); } } /*ServletContext application = getServletContext(); RequestDispatcher dispatcher = application.getRequestDispatcher(DOMAINURL); dispatcher.forward(req,resp);*/ } }
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。
谢谢您的赞助,我会做的更好!