<?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捐助),没钱捧个人场,谢谢各位。
谢谢您的赞助,我会做的更好!
相关推荐
servlet中实现请求转发,用户登录,在servlet中验证用户名和密码.
servlet请求转发、请求重定向、请求包含 获取form数据
通过网上总结的Servlet的转发与重定向的区别介绍。希望可以帮的上大家
java servlet请求转发重定向 适合于初学者更好的了解页面跳转和原理
javaServlet请求转发和重定向.pdf
android利用servlet服务端转发数据实现内网两个android设备通信
在Servlet转发到JSP页面时,此时浏览器地址栏上显示的是Servlet的路径,而若JSP页面的超链接还是相对于该JSP页面的地址且该Servlet和该JSP页面不在同一个文件夹下时,则会出现路径混乱问题。 2. 绝对路径概念 相对于...
对Servlet基础知识进行总结,适合新手入门用,里面详细的介绍了Servlet运行原理以及如何创建等
USerLogin servlet 登录实例探究转发与重定向本质区别
几个Servlet典型应用的例子。如:Servlet中实现页面转发,Servlet处理表单数据
1. 手动编写java代码,实现Servlet的访问 2. 使用Eclipse创建Web Project,并创建一个Servlet继承HttpServlet,打印“Hello HttpServlet”在浏览器上。...7. 使用ServletContext对象,实现转发操作
什么是servlet? web服务器 web应用(b/s架构软件)的目录结构: Web.xml 参数 系统如何提供表单给用户? 系统如何处理用户提交的表单 1路径问题 ...Servlet的请求转发方式 状态持久 范围 过滤器 事件处理
内含请求转发,过滤器,${}使用
下面小编就为大家带来一篇java-servlet-转发AND路径(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
7 Servlet:转发和重定向 8分 8 Servlet:连接池 5分 9 Servlet:servlet(代码题目) 6分 10 Servlet:jspuserbean 5分 11 Servlet:servlet(代码题目) 10分 12 Servlet:jstl标签(代码题目) 8分 13 Servlet:...
NULL 博文链接:https://macleo.iteye.com/blog/1045211
重定向时服务器产生两次请求,转发产生一次请求,重定向时可以转发到项目以外的任何网址,转发只能在当前项目里转发 重定向会导致request对象信息丢失。转发则不会 转发的url不会变,request.getRequestDispatch()...
servlet+jsp练手小项目,适合初学者进行项目的练手,可以帮助我们熟悉servlet+jsp的项目流程,掌握转发,重定向,路径等问题,有助于后面框架的学习,而且项目并不复杂,主要是锻炼大家的思路,让我们可以熟悉servlet...
1.4 Servlet 与其他技术的比较 ........................................................................................................................14 1.5 与 Java 平台企业版的关系 ......................