URL url = null;
HttpURLConnection httpurlconnection = null;
String str ="";
try{
//设置代理上外网
//System.getProperties().setProperty("proxySet", "true");
//System.getProperties().setProperty("http.proxyHost", "***.***.***.***");
//System.getProperties().setProperty("http.proxyPort", "80");
//如果需要验证用户
//Authenticator.setDefault(new MyAuthenticator("HOME\\user","password"));
url = new URL("http://127.0.0.1:80/***/servlet/test");
httpurlconnection = (HttpURLConnection) url.openConnection();
httpurlconnection.setDoOutput(true);
httpurlconnection.setRequestMethod("POST");
httpurlconnection.setRequestProperty("User-Agent", "Profile/MIDP-2.0 Configuration/CLDC-1.0");
httpurlconnection.setRequestProperty("Content-Type","text/xml;charset=UTF-8");
String postStr="*****"; httpurlconnection.getOutputStream().write(postStr.getBytes("UTF-8"));
httpurlconnection.getOutputStream().flush();
httpurlconnection.getOutputStream().close();
int code = httpurlconnection.getResponseCode();
InputStream i = httpurlconnection.getInputStream();
byte[] buffer = new byte[51];
ByteArrayOutputStream bo = new ByteArrayOutputStream();
int read = 0;
do{
bo.write(buffer, 0, read);
read = i.read(buffer, 0, 50);
}while(read!=-1);
System.out.println(new String(bo.toByteArray(),"UTF-8"));
}catch(Exception e){
e.printStackTrace();
} finally{
if(httpurlconnection!=null){
httpurlconnection.disconnect();
}System.out.println("end:"+System.currentTimeMillis());
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
InputStream i = request.getInputStream();
byte[] buffer = new byte[1001];
ByteArrayOutputStream bo = new ByteArrayOutputStream();
int read = 0;
do{
bo.write(buffer, 0, read);
read = i.read(buffer, 0, 1000);
}while(read!=-1);
new String(bo.toByteArray(),"UTF-8");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("***");
out.flush();
out.close();
try {Thread.sleep(3000);} catch (InterruptedException e) {}
System.out.println("end:"+System.currentTimeMillis());
}
在httpurlconnection.getResponseCode()时请求被发送,服务器servlet开始执行,
在servlet执行out.flush()时httpurlconnection.getResponseCode()阻塞结束;
在servlet执行out.close()时i.read()阻塞结束,连接已完成,而无需等到servlet的post方法运行完成。
分享到:
相关推荐
Browser/Server 浏览器/...Tomcat: Apache组织开源免费的web服务器,支持JavaEE规范(Servlet/Jsp). Tomcat 官网下载地址:https://tomcat.apache.org/download-80.cgi 进入Tomcat安装目录/conf/server.xml 文件修改
4. Host:Host是Server的子元素,用于配置虚拟主机,一个Tomcat服务器可以托管多个网站,每个网站对应一个Host。 5. Server:Server是最高级别的元素,代表整个Tomcat实例。 二、Tomcat配置 1. `server.xml`详解 ...
【Tomcat 源代码调试笔记 - 看不见的 Shell】这篇笔记主要探讨了如何在Tomcat运行时动态插入过滤器,以及遇到的问题和解决方法。Tomcat作为一个流行的Java应用服务器,它允许开发者通过Servlet规范中的`...
《Tomcat源码研读笔记》是对Apache Tomcat服务器内部工作原理的深度探索。Tomcat作为一款广泛应用的开源Java Servlet容器,它的源码是理解Java Web应用运行机制的关键。本笔记将围绕Tomcat的核心组件、架构设计以及...
《Tomcat学习笔记》 Tomcat是一款开源的Java Servlet容器,是Apache软件基金会下的Jakarta项目中的核心项目,主要用于运行Java Web应用程序。本笔记将详细阐述Tomcat的安装、配置、虚拟主机设置、JDBC数据库连接池...
在Tomcat中,Connector组件是连接客户端和服务器的桥梁,它接收HTTP请求并将其转换为内部格式,然后传递给Container处理。Container组件则包含了一个或多个Host(主机),每个Host可以托管多个Web应用程序。...
本文将深入探讨如何在Windows XP环境下整合Apache Tomcat与Microsoft IIS,以便实现Java Web应用与.NET应用在同一服务器上的协同工作。标题“Tomcat与IIS整合笔记”揭示了我们的主要讨论点,而描述中提到的环境——...
3. IDEA部署:在IntelliJ IDEA中创建Web项目,配置Tomcat服务器,将项目打包成WAR或JAR文件,然后通过IDEA内置的Tomcat插件运行或部署到外部Tomcat。 4. 利用`context.xml`配置外部网络:可以自定义项目的上下文路径...
本笔记将对Web相关概念、Tomcat服务器以及Servlet入门进行简要介绍。 1. **Web相关概念** - **C/S架构**(Client/Server):在这种模式中,客户端(如桌面应用)直接与服务器端通信,服务器负责处理业务逻辑和数据...
【Java学习笔记】这篇学习笔记主要涵盖了Java开发中的一些基础操作和配置,特别是使用Eclipse作为IDE,结合Tomcat服务器进行Servlet和JSP开发时的关键点。以下是对这些知识点的详细说明: 1. **Eclipse快捷键配置**...
《How Tomcat Works》这本书是理解Apache Tomcat服务器工作原理的重要资源,第三章主要探讨了Tomcat的架构和核心组件。以下是对这部分内容的详细解读: Tomcat作为一款开源的Java Servlet容器,其核心功能是解析...
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台...
【标题】"Tomcat笔记+源码"涵盖了关于Apache Tomcat服务器的重要学习资源,这包括了实际操作的笔记以及源代码分析。Tomcat是Java Servlet和JavaServer Pages(JSP)技术的开源应用服务器,是Java EE应用部署的常用...
传统的单一Tomcat服务器在处理并发请求时的能力有限,难以满足大规模用户的需求。因此,采用负载均衡技术成为了提高网站性能和服务质量的有效手段之一。本文将详细介绍如何使用Nginx与Tomcat结合实现负载均衡配置。 ...
### Tomcat 6 学习笔记 #### 一、Tomcat 6 平台搭建与配置 ##### 1. 下载与安装 Tomcat 6 是一个免费且开源的Servlet容器,由Apache软件基金会下的Jakarta项目开发。可以通过官方网站进行下载:...
在请求处理流程中,当请求到达Tomcat时,它会根据URL找到对应的Web应用,然后判断请求是针对静态资源还是动态资源。如果是静态资源,Tomcat直接返回;如果是动态资源,它会根据`web.xml`找到相应的Servlet,创建...
【Tomcat性能优化笔记】 Tomcat作为一款广泛应用的开源Java Servlet容器,其性能优化对于提升Web应用的整体效能至关重要。优化工作主要分为两大部分:外部环境调整和Tomcat自身的配置优化。 1. **外部环境优化** ...