读书人

求大神帮忙写个java程序定时读取网页

发布时间: 2013-07-11 15:38:46 作者: rapoo

求大神帮忙写个java程序,定时读取网页的前5条内容存入数据库
如题,求大神帮忙写个java程序,定时读取网页的前五条内容存入数据库刚刚学这个java没多久
[解决办法]
定时器setTimeOut和读取网页内容document.getElementById("id").value你都可以用javascript实现
[解决办法]
ajax实现:


<script type="text/javascript">
var xmlHttp;
//创建XMLHttpRequest
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}

//响应省份列表的onChange事件的处理方法
function autoFlush(){
//取得入参
var value1 = document.all.value1.value;
var value2 = document.all.value2.value;
var value3 = document.all.value3.value;
var value4 = document.all.value4.value;
var value5 = document.all.value5.value;

createXMLHttpRequest();
//状态触发器绑定到processor函数
xmlHttp.onreadystatechange = processor;
//放时间参数是为了让服务器知道这是一个新的请求
xmlHttp.open("GET","UpdateDB?value1="+value1+"&value2="+value2+"&value3="+value3+"&value4="+value4+"&value5="+value5);
xmlHttp.send(null);
}

//处理状态改变的函数
function processor(){
var result;
if(xmlHttp.readyState == 4){//响应完成
if(xmlHttp.status == 200){//返回成功
alert("入库啦~");
return;
}
}
alert("貌似没发送成功哦~");
}
//每隔10秒执行一次
setInterval("autoFlush();",10000);
</script>
<body>
<form name="form1" action="UpdateDB" method="POST">


请输入参数1:
<input name="value1" type="text" id="value1">
<br />
请输入参数2:
<input name="value2" type="text" id="value2">
<br />
请输入参数3:
<input name="value3" type="text" id="value3">
<br />
请输入参数4:
<input name="value4" type="text" id="value4">
<br />
请输入参数5:
<input name="value5" type="text" id="value5">
<br />
<input type="button" name="insertDB" value="主动发送"
onclick="autoFlush()">
</form>
</body>



Servlet代码,需要自己补充数据库操作部分:


import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class UpdateDB extends HttpServlet
{
public void destroy()
{
super.destroy();
}

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
doPost(req, resp);
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
String value1 = req.getParameter("value1");
String value2 = req.getParameter("value2");
String value3 = req.getParameter("value3");
String value4 = req.getParameter("value4");
String value5 = req.getParameter("value5");

System.out.println("value1:"+value1);
System.out.println("value2:"+value2);
System.out.println("value3:"+value3);
System.out.println("value4:"+value4);


System.out.println("value5:"+value5);

//后续的数据库操作自己补充吧~
System.out.println("相关数据库操作...");


resp.setContentType("text/html");
resp.setCharacterEncoding("UTF-8");
PrintWriter out = resp.getWriter();
out.println("<response>");
out.println("</response>");
out.flush();
out.close();
}

@Override
public void init()
throws ServletException
{
}
}



</servlet-mapping>
<servlet>
<servlet-name>UpdateDB</servlet-name>
<servlet-class>com.ajax.UpdateDB</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UpdateDB</servlet-name>
<url-pattern>/UpdateDB</url-pattern>
</servlet-mapping>


web.xml的配置:

[解决办法]
引用:
ajax实现:

<script type="text/javascript">
var xmlHttp;
//创建XMLHttpRequest
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}

//响应省份列表的onChange事件的处理方法
function autoFlush(){
//取得入参
var value1 = document.all.value1.value;
var value2 = document.all.value2.value;
var value3 = document.all.value3.value;
var value4 = document.all.value4.value;
var value5 = document.all.value5.value;



createXMLHttpRequest();
//状态触发器绑定到processor函数
xmlHttp.onreadystatechange = processor;
//放时间参数是为了让服务器知道这是一个新的请求
xmlHttp.open("GET","UpdateDB?value1="+value1+"&value2="+value2+"&value3="+value3+"&value4="+value4+"&value5="+value5);
xmlHttp.send(null);
}

//处理状态改变的函数
function processor(){
var result;
if(xmlHttp.readyState == 4){//响应完成
if(xmlHttp.status == 200){//返回成功
alert("入库啦~");
return;
}
}
alert("貌似没发送成功哦~");
}
//每隔10秒执行一次
setInterval("autoFlush();",10000);
</script>
<body>
<form name="form1" action="UpdateDB" method="POST">
请输入参数1:
<input name="value1" type="text" id="value1">
<br />
请输入参数2:
<input name="value2" type="text" id="value2">
<br />
请输入参数3:
<input name="value3" type="text" id="value3">
<br />
请输入参数4:
<input name="value4" type="text" id="value4">
<br />
请输入参数5:
<input name="value5" type="text" id="value5">
<br />
<input type="button" name="insertDB" value="主动发送"
onclick="autoFlush()">
</form>
</body>



Servlet代码,需要自己补充数据库操作部分:


import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class UpdateDB extends HttpServlet
{
public void destroy()
{
super.destroy();
}

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
doPost(req, resp);
}



@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
String value1 = req.getParameter("value1");
String value2 = req.getParameter("value2");
String value3 = req.getParameter("value3");
String value4 = req.getParameter("value4");
String value5 = req.getParameter("value5");

System.out.println("value1:"+value1);
System.out.println("value2:"+value2);
System.out.println("value3:"+value3);
System.out.println("value4:"+value4);
System.out.println("value5:"+value5);

//后续的数据库操作自己补充吧~
System.out.println("相关数据库操作...");


resp.setContentType("text/html");
resp.setCharacterEncoding("UTF-8");
PrintWriter out = resp.getWriter();
out.println("<response>");
out.println("</response>");
out.flush();
out.close();
}

@Override
public void init()
throws ServletException
{
}
}



</servlet-mapping>
<servlet>
<servlet-name>UpdateDB</servlet-name>
<servlet-class>com.ajax.UpdateDB</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UpdateDB</servlet-name>
<url-pattern>/UpdateDB</url-pattern>
</servlet-mapping>


web.xml的配置:


求大神帮忙写个java程序,定时读取网页的前五条内容存入数据库

读书人网 >J2SE开发

热点推荐