0 0

JAVA程序里面怎么测试一个Servlet是否可用50

比如说一个SERVLET的地址是
http://www.sina.com.cn/test/servlet
(这个SERVLET是我自己可以修改的)
现在我这里的程序要测试这个连结是否正常
我在JAVA里面的程序应该怎么写才好?
这个还有跨域的问题,不能用AJAX去试
我想在JAVA里面测试
2011年8月02日 10:28

7个答案 按时间排序 按投票排序

0 0

采纳的答案

redstarofsleep的没错,我来个完整的

import java.io.IOException;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.StringRequestEntity;

public class HttpSender {


	public String send(String url,  String request) throws Exception {

		String response = null;
		HttpClient httpClient = new HttpClient();
		PostMethod method = new PostMethod(url);
		method.addRequestHeader("charset", "GBK");
		method.addRequestHeader("content-type", "application/x-www-form-urlencoded");
		method.setRequestEntity(new StringRequestEntity(request, null, "GBK"));

		try {
			int retcode = httpClient.executeMethod(method);
			if (retcode == HttpStatus.SC_OK) {
				byte[] responseBody = new byte[10240];
				java.io.InputStream istream = method.getResponseBodyAsStream();
				int npos = 0;
				int nread = 0;
				while ((nread = istream.read(responseBody, npos, responseBody.length - npos)) >= 0) {
					npos += nread;
					if (npos >= responseBody.length) {
						byte[] tmpBuf = new byte[npos + 51200];
						System.arraycopy(responseBody, 0, tmpBuf, 0, npos);
						responseBody = tmpBuf;
					}
				}
				response = new String(responseBody, 0, npos);
			} else {
				throw new IOException("发送失败: retcode: " + retcode);
			}
			  method.releaseConnection();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return response;
	}

	public static void main(String[] args) throws Exception {
		String reqStr = "<?xml version=\"1.0\" encoding=\"GBK\"?><request><params><param><curDate>20101010</curDate></param></params></request>";
		HttpSender sender = new HttpSender();
		String reponse = sender.send("http://www.sina.com.cn/test/servlet", reqStr);
		System.out.println("返回报文"+reponse);
	}

}

当然,你的web.xml要配置
	<servlet>
		<servlet-name>servlet</servlet-name>
		<servlet-class>com.xx.YourServlet</servlet-class>
	</servlet>

	<servlet-mapping>
		<servlet-name>servlet</servlet-name>
		<url-pattern>/servlet</url-pattern>
	</servlet-mapping>

2011年8月02日 16:43
0 0

window.location就可以了吗?楼主如果只是单独的测试这个问题肯定搞定。

2011年8月02日 12:40
0 0

最简单的方式就是通过浏览器直接敲地址验证。
非要用Java的话,可以模拟Http的请求去验证。可用的第三方插件例如apache的http插件。

2011年8月02日 12:35
0 0

使用HttpClient

2011年8月02日 11:15
0 0

用Java发送Http请求
可以用Apache的Httpclient包

HttpClient httpClient = new DefaultHttpClient();
//		HttpGet get = new HttpGet("http://local:8084");
		HttpPost get = new HttpPost("http://localhost:8080");
		HttpResponse response = httpClient.execute(get);
		HttpEntity entity = response.getEntity();
		String xmlString = null;
		if (entity != null) {
			entity = new BufferedHttpEntity(entity);
			
			InputStream in = entity.getContent();
			byte[] read = new byte[1024];
			byte[] all = new byte[0];
			int num;
			while ((num = in.read(read)) > 0) {
				byte[] temp = new byte[all.length + num];
				System.arraycopy(all, 0, temp, 0, all.length);
				System.arraycopy(read, 0, temp, all.length, num);
				all = temp;
			}
			System.out.println(new String(all));
			xmlString = new String(all);
			in.close();
		}
		get.abort();

2011年8月02日 11:09
0 0

直接用浏览器输入地址不就行了么,要搞那么麻烦干嘛

2011年8月02日 10:53
0 0

URL url = new URL("http://www.hrtsea.com/down/soft/45.htm");
                //返回一个 URLConnection 对象,它表示到 URL 所引用的远程对象的连接。
                URLConnection uc = url.openConnection();
                //打开的连接读取的输入流。
                InputStream in = uc.getInputStream();
                int c;
                while ((c = in.read()) != -1)
                        System.out.print(c);
                in.close(); 

2011年8月02日 10:36

相关推荐

    Java™ Servlet 规范.

    1.6 与 Java Servlet 规范 2.5 版本间的兼容性 ..............................................................................................14 1.6.1 监听器(Listener)顺序 .................................

    javaservlet连接mysql数据库可用.pdf

    Java Servlet 连接 MySQL 数据库可用 Java Servlet 是一种基于 Java 语言的 Web 应用程序组件模型,用于创建动态 Web 内容。连接 MySQL 数据库是 Java Servlet 中的一种常见操作。本文将详细讲解 Java Servlet 连接...

    java-servlet-api.doc

    Servlet引擎利用Java类载入工具载入一个Servlet,Servlet引擎可以从一个本地的文件系统、一个远程的文件系统以及网络载入Servlet。 Servlet的初始化 Servlet引擎载入Servlet后,Servlet引擎必须对Servlet进行初始化...

    深入Java Servlet网络编程

    2 使连接池对所有Servlet可用 7. 2. 3 外罩连接池类 第8章 在数据库中存取图像 8. 1 在数据库中存入图像数据 8. 2 提取和显示图像信息 第9章 Servlet链 9. 1 编写Servlet链 9. 2 触发Servlet链 第10章 ...

    servlet-api.jar

    这样它就没有必要再创建一个单独的进程来处理每个客户端请求。 Servlet 是独立于平台的,因为它们是用 Java 编写的。 服务器上的 Java 安全管理器执行了一系列限制,以保护服务器计算机上的资源。因此,Servlet 是...

    java源码包---java 源码 大量 实例

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    JAVA上百实例源码以及开源项目

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    java源码包2

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...

    JAVA上百实例源码以及开源项目源代码

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    java开源包4

    jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器支持运行PHP和其它fastcgi应用程序,将Servlet容器充当成一个FastCGI 的网关。...

    java源码包4

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...

    java源码包3

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...

    java开源包11

    jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器支持运行PHP和其它fastcgi应用程序,将Servlet容器充当成一个FastCGI 的网关。...

    java开源包6

    jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器支持运行PHP和其它fastcgi应用程序,将Servlet容器充当成一个FastCGI 的网关。...

    java开源包9

    jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器支持运行PHP和其它fastcgi应用程序,将Servlet容器充当成一个FastCGI 的网关。...

    java开源包101

    jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器支持运行PHP和其它fastcgi应用程序,将Servlet容器充当成一个FastCGI 的网关。...

    java开源包5

    jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器支持运行PHP和其它fastcgi应用程序,将Servlet容器充当成一个FastCGI 的网关。...

    java开源包8

    jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器支持运行PHP和其它fastcgi应用程序,将Servlet容器充当成一个FastCGI 的网关。...

    java开源包10

    jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器支持运行PHP和其它fastcgi应用程序,将Servlet容器充当成一个FastCGI 的网关。...

    java开源包1

    jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器支持运行PHP和其它fastcgi应用程序,将Servlet容器充当成一个FastCGI 的网关。...

Global site tag (gtag.js) - Google Analytics