网站建设资讯

NEWS

网站建设资讯

java获取html代码 java获取http

java得到请求来的页面HTML

页面:

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册网站空间、营销软件、网站建设、抚松网站维护、网站推广。

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();

java怎样读取html文件

 java读取html文件跟读取普通文件一样,都是使用输入输出流,但是java读取html文件之后还需要解析,使用Jsoup对html进行解析。下面是一个java读取带表格的任意html文件,并把html文件转换成excel的例子。

要求: 要求能够实现给出任意带table表格的html文件,生成与表格相同内容的excel文件,附件可以作为测试文件,提供给定的roster.html文件,通过java代码,实现生成与html页面的table相同样式的roster.xls文件。

首先看roster.html:

java代码:

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.io.IOException;

import jxl.Workbook;

import jxl.write.Label;

import jxl.write.WritableCellFormat;

import jxl.write.WritableFont;

import jxl.write.WritableSheet;

import jxl.write.WritableWorkbook;

import jxl.write.WriteException;

import jxl.write.biff.RowsExceededException;

import org.jsoup.Jsoup;

import org.jsoup.nodes.Document;

import org.jsoup.nodes.Element;

import org.jsoup.select.Elements;

public class HTMLTOExcel {

public static void main(String args[]) throws IOException{

///读取classpath目录下面的路径

String path=HTMLTOExcel.class.getResource("/").getPath();

path+="roster.html";

toExcel(path,"roster");      

}

//得到Document并且设置编码格式

public static Document getDoc(String fileName) throws IOException{

File myFile=new File(fileName);

Document doc= Jsoup.parse(myFile, "GBK","");

return doc;

}

///这个方法用于根据trs行数和sheet画出整个表格

public static void mergeColRow(Elements trs,WritableSheet sheet) throws RowsExceededException, WriteException{

int[][] rowhb=new int[300][50];

for(int i=0;itrs.size();i++){

Element tr=trs.get(i);

Elements tds=tr.getElementsByTag("td");

int realColNum=0;

for(int j=0;jtds.size();j++){

Element td=tds.get(j);  

if(rowhb[i][realColNum]!=0){

realColNum=getRealColNum(rowhb,i,realColNum);

}

int rowspan=1;

int colspan=1;

if(td.attr("rowspan")!=""){

rowspan = Integer.parseInt(td.attr("rowspan"));

}

if(td.attr("colspan")!=""){

colspan = Integer.parseInt(td.attr("colspan"));

}

String text=td.text();

drawMegerCell(rowspan,colspan,sheet,realColNum,i,text,rowhb);

realColNum=realColNum+colspan;

}

}

}

///这个方法用于根据样式画出单元格,并且根据rowpan和colspan合并单元格

public static void drawMegerCell(int rowspan,int colspan,WritableSheet sheet,int realColNum,int realRowNum,String text,int[][] rowhb) throws RowsExceededException, WriteException{

for(int i=0;irowspan;i++){

for(int j=0;jcolspan;j++){

if(i!=0||j!=0){

text="";

}

Label label = new Label(realColNum+j,realRowNum+i,text);

WritableFont countents = new WritableFont(WritableFont.TIMES,10); // 设置单元格内容,字号12  

WritableCellFormat cellf = new WritableCellFormat(countents ); 

cellf.setAlignment(jxl.format.Alignment.CENTRE);//把水平对齐方式指定为居中

cellf.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);//把垂直对齐方式指定为居

label.setCellFormat(cellf);

sheet.addCell(label);

rowhb[realRowNum+i][realColNum+j]=1;

}

}

sheet.mergeCells(realColNum,realRowNum, realColNum+colspan-1,realRowNum+rowspan-1);

}

public static int getRealColNum(int[][] rowhb,int i,int realColNum){

while(rowhb[i][realColNum]!=0){

realColNum++;

}

return realColNum;

}

///根据colgroups设置表格的列宽

public static void setColWidth(Elements colgroups,WritableSheet sheet){

if(colgroups.size()0){

Element colgroup=colgroups.get(0);

Elements cols=colgroup.getElementsByTag("col");

for(int i=0;icols.size();i++){

Element col=cols.get(i);

String strwd=col.attr("width");

if(col.attr("width")!=""){

int wd=Integer.parseInt(strwd);

sheet.setColumnView(i,wd/8);

}

}

}

}

//toExcel是根据html文件地址生成对应的xls

public static void toExcel(String fileName,String excelName)throws IOException{

Document doc=getDoc(fileName);

String title = doc.title();

///得到样式,以后可以根据正则表达式解析css,暂且没有找到cssparse

Elements style= doc.getElementsByTag("style");

///得到Table,demo只演示输入一个table,以后可以用循环遍历tables集合输入所有table

Elements tables= doc.getElementsByTag("TABLE");    

if(tables.size()==0){

return;

}

Element table=tables.get(0);

//得到所有行

Elements trs = table.getElementsByTag("tr");

///得到列宽集合

Elements colgroups=table.getElementsByTag("colgroup");

try {

//文件保存到classpath目录下面

String path=HTMLTOExcel.class.getResource("/").getPath();

path+=excelName+".xls";

System.out.println(path);

WritableWorkbook book = Workbook.createWorkbook(new File(path));    

WritableSheet sheet = book.createSheet("人事关系", 0);  

setColWidth(colgroups,sheet);

mergeColRow(trs,sheet);    

book.write();    

book.close();    

} catch (RowsExceededException e) {

e.printStackTrace();

} catch (WriteException e) { 

e.printStackTrace();

}

}

}

解析html文件的例子文档地址:

java程序怎么读取html网页?

步骤:

一、使用java点虐 包下的URL类,可以将一个网页(链接)封装成一个URL对象。

二、URL对象有一个openStream()方法,使用该方法可以获取该网页的输入流,我们可以通过读取输入流的方式获得网页的内容,并通过输出流写入HTML文件中。

补充:

步骤:

1.通过URL对象的openStream()方法获得网页的字节输入流 。

2.为字节输入流加缓冲 。

3. 创建字节输出流对象 。

4. 为字节输出流加缓冲 。

5. 读取数据,并写入HTML文件 。

java 如何获取 html 代码中参数的值

%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%

html

body

!--post或get--

form id="test" method="post" action="action.jsp"

select id="se_id" name="seid"

option value="值1"cn/option

option value="值2"us/option

option value="值3"en/option

/select

input type="submit" value="提交表单"

br

/form

/body

/html


网站名称:java获取html代码 java获取http
文章转载:http://cdweb.net/article/ddicess.html