概述
可以通过java客户端调用Servlet。因为,说白了,浏览器调用Servlet无非就是通过http协议,而java中通过URL就可以指定连接协议,并获得HttpURLConnection对象,同服务器建立连接,进行交互。不过,估计lz得调整一下返回结果,不能是通常的页面了,而是有含义的可解析的字符串。
package
myProject;
import
java.io.DataInputStream;
import
java.io.DataOutputStream;
import
java.io.InputStream;
import
java.io.OutputStream;
import
java.net.HttpURLConnection;
import
java.net.URL;
import
org.json.JSONException;
import
org.json.JSONObject;
public
class
TestServlet {
/**
* @param args
*/
private
static
String URL =
"http://localhsot:8080/plugins/yundada/getinfotypelist"
;
public
static
void
main(String[] args)
throws
JSONException {
// Post Data 为Form提交的内容。
JSONObject obj =
new
JSONObject();
obj.put(
"authtoken"
,
"2548c2f2-7680-430c-a0b1-9fba835acb84"
);
String postData = obj.toString();
String html = GetResponseDataByID(URL, postData);
JSONObject var =
new
JSONObject(html);
System.out.println(var.toString());
}
public
static
void
PrintStrs(String[] str) {
for
(String s : str) {
System.out.print(s +
","
);
}
System.out.println();
}
public
static
String GetResponseDataByID(String url, String postData) {
String data =
null
;
try
{
URL dataUrl =
new
URL(url);
HttpURLConnection con = (HttpURLConnection) dataUrl
.openConnection();
con.setRequestMethod(
"POST"
);
con.setRequestProperty(
"Proxy-Connection"
,
"Keep-Alive"
);
con.setDoOutput(
true
);
con.setDoInput(
true
);
OutputStream os = con.getOutputStream();
DataOutputStream dos =
new
DataOutputStream(os);
dos.write(postData.getBytes());
dos.flush();
dos.close();
InputStream is = con.getInputStream();
DataInputStream dis =
new
DataInputStream(is);
byte
d[] =
new
byte
[dis.available()];
dis.read(d);
data =
new
String(d);
con.disconnect();
}
catch
(Exception ex) {
ex.printStackTrace();
}
return
data;
}
}
你仔细看看API,HttpServletRequest是可以自己创建的么?他给你提供了构造方法了么?
API这样写道:public abstract interface HttpServletRequest
extends ServletRequest
你准备怎么样?integerface你也能自己new出来?HttpServletRequest怎么产生的?那是web容器动态赋值的,不是硬梆梆可以new的,servlet不是一般的java类,岂能随便乱调?要不为什么说struts1难以测试,要是你这个思路行得通,那struts1不就可以测试了?那干嘛还有struts2跑出来整个和servlet-api分离?
最后
以上就是爱笑冥王星为你收集整理的java客户端调用Servlet的全部内容,希望文章能够帮你解决java客户端调用Servlet所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复