在这个Java Web应用程序项目中,我首先尝试使用getUrlContentString()
方法(似乎正在工作)读取页面内容,其次,仅使用方法{在标记之间显示内容{ {1}}。第二种方法似乎没有按预期响应,它返回一个空白页面。是什么导致了这个问题?
的index.jsp
proccessString ()
CookieJar.java
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%= cookiePac.CookieJar.getUrlContentString("http://help.websiteos.com/"
+ "websiteos/example_of_a_simple_html_page.htm")%>
<p>
<%= cookiePac.CookieJar.proccessString()%>
</p>
</body>
</html>
答案 0 :(得分:0)
我已经用您的代码创建了一个项目。我在那里看到了一些问题。他们在这里。
首先,您使用您指定的网址获得的静态HTML - 而不是您在浏览器控制台中看到的网址 窗口,但没有脚本执行的窗口 - 没有 包含锚标签。这就是为什么你不能得到任何这方面的内容 标签。例如,请使用此网址:http://www.cssdesignawards.com/ - 而不是 你的http://help.websiteos.com/websiteos/example_of_a_simple_html_page.htm。
其次,您尝试以这种方式匹配标记:
"<a>(.*?)</a>"
。但实际上很难匹配任何锚标签
这个正则表达式的内容,因为通常使用CSS类,所以
增加匹配锚内容的机会的方法是使用
"<a(.*?)</a>"
代替"<a>(.*?)</a>"
。
getUrlContentString
方法被命名为将html作为字符串返回,
但它总是返回一个空白字符串。考虑重命名此方法或
返回rawCookiesString
。