java得到请求来的页面HTML

java得到请求来的页面HTML,第1张

页面

<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 = documentgetElementById("form1");

var url = locationhref;

var indexUrl = documentgetElementById("indexUrl");

indexUrlvalue = url;

formsubmit();

}

</script>

servlet的doPost方法

String indexUrl = requestgetParameter("indexUrl");

URL url = new URL(indexUrl);

InputStream is = urlopenConnection()getInputStream();

byte[] bs = new byte[9999];

int len = 0 ;

while((len = isread(bs, 0, 9999))!=-1){

Systemoutwrite(bs, 0, len);

}

isclose();

还可以用专门获取网页的JAR包,好像是jsoap上面的代码没有考虑转码的问题。如果是中文可能出现乱码,注意要统一编码格式。

------------------------------------------------------

修改了一下servlet的doPost方法,解决编码问题。我的页面是utf-8编码。

String indexUrl = requestgetParameter("indexUrl");

URL url = new URL(indexUrl);

InputStream is = urlopenStream();

// InputStream is = urlopenConnection()getInputStream();

InputStreamReader isr = new InputStreamReader(is,"utf-8");

char[] cs = new char[9999];

while(isrread(cs, 0, 9999)!=-1){

Systemoutprint(cs);

}

isclose();

html静态页面是不能接收参数的,你可以把html页面改为jsp页面,实现如下servlet类package onetwo;import javaioIOException;

import javaioPrintWriter;import javaxservletRequestDispatcher;

import javaxservletServletException;

import javaxservlet>

首先假设你的Servlet名称是 myservletjava

在webxml里是这样描述的

<servlet>

<servlet-name>myservlet</servlet-name>

<servlet-class>mypackagemyservlet</servlet-class>

</sevlet>

<servlet-mapping>/myservlet</servlet-mapping>

那么在你的form里这样写

<form action="/myservlet" method ="get">

<input type="text" name="txt1" value="123"/>

</form>

在myservletjava的doGet方法中就可以写成

String txtvalue=requestgetParameter("txt1");

这样就把网页中的参数传递到Servlet中了

在servlet里面进行重定向

responsesendRedirect("homehtmlparam=json字符串");

然后再html的js中,通过locationsearch获取param的value

获取url后面参数的value,可以用以下方法

function getParam(name){

var reg = new RegExp("(^|&)"+ name +"=([^&])(&|$)");

var r = windowlocationsearchsubstr(1)match(reg);

if(r!=null)return unescape(r[2]); return null;

}

var p=getParam('param');

直接在servlet中输出:

                outprintln("<HTML>");

outprintln("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");

outprintln("  <BODY>");

outprint("    This is ");

outprint(thisgetClass());

outprintln(", using the POST method");

outprintln("  </BODY>");

outprintln("</HTML>");

servlet中判断之后跳转到相应显示html的页面XXjsp:

requestgetRequestDispatcher("XXjsp")forward(request, response);

如果你非得这么做的话,用ajax在rchtml中请求数据!可是这样,逻辑就不对了!

登陆后经过Servlet,然后Servlet跳转到html,然后html在请求数据! 这太麻烦了!

最好的方法是,通过登陆》》Servlet>>Jsp 中间通过Session对象访问!

你想想 如果多个用户访问的时候,你这个系统根本无法判断哪个账号是哪个账户了!

Servlet+jsp

Html一般不会用于处理一些正式的业务!(特殊情况除外,比如你用框架的话可以很方便的用Html处理任何业务)

在doPost或doGet方法中通过PrintWriter out = responsegetWriter();然后outprintln("内容");直接输出,如果是用jquery 的ajax请求最好是outpringln(“json格式的内容”);json格式的内容,然后ajax获得返回的结果,解析json格式,把内容取出来。

以上就是关于java得到请求来的页面HTML全部的内容,包括:java得到请求来的页面HTML、我想从servlet跳转到html,并且传递参数给html,能实现吗、Servlet如何输出Html返回给客户端3等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9300620.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存