这是J2EE里面的内容,你将form表单里面的URL改为服务器里面的servlet的访问URL,服务器就可以处理html发过来的请求,然后由servlet跳转到原来访问网页,并将处理好的数据一起发过来,原来html可以通过AJAX编程来接受来自服务器的请求,并进行控制显示!!!
创新互联-专业网站定制、快速模板网站建设、高性价比大东网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式大东网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖大东地区。费用合理售后完善,10多年实体公司更值得信赖。
有三种方式可以获得:
String str = request.getParameter("唯一值的键name:比如文本框,密码框等");
Map requestMap = request.getParameterMap();//得到request的所有信息,并封装到一个map对象里。
String manyValue[] = request.getParameterValues("多个值的键name:比如复选框checkbox");
页面:
body
form action="/。。。。" id="form1"
input type="hidden" name="indexUrl" id="indexUrl"
a href="javascript:void(0);" onclick="goTo();"URL/a
/form
/body
script type="text/javascript"
function goTo(){
var form = document.getElementById("form1");
var url = location.href;
var indexUrl = document.getElementById("indexUrl");
indexUrl.value = url;
form.submit();
}
/script
servlet的doPost方法:
String indexUrl = request.getParameter("indexUrl");
URL url = new URL(indexUrl);
InputStream is = url.openConnection().getInputStream();
byte[] bs = new byte[9999];
int len = 0 ;
while((len = is.read(bs, 0, 9999))!=-1){
System.out.write(bs, 0, len);
}
is.close();
还可以用专门获取网页的JAR包,好像是jsoap?上面的代码没有考虑转码的问题。如果是中文可能出现乱码,注意要统一编码格式。
------------------------------------------------------
修改了一下servlet的doPost方法,解决编码问题。我的页面是utf-8编码。
String indexUrl = request.getParameter("indexUrl");
URL url = new URL(indexUrl);
InputStream is = url.openStream();
// InputStream is = url.openConnection().getInputStream();
InputStreamReader isr = new InputStreamReader(is,"utf-8");
char[] cs = new char[9999];
while(isr.read(cs, 0, 9999)!=-1){
System.out.print(cs);
}
is.close();