真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java獲取html代碼 java獲取http

java得到請求來的頁面HTML

頁面:

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、撫松網(wǎng)站維護(hù)、網(wǎng)站推廣。

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

還可以用專門獲取網(wǎng)頁的JAR包,好像是jsoap?上面的代碼沒有考慮轉(zhuǎn)碼的問題。如果是中文可能出現(xiàn)亂碼,注意要統(tǒng)一編碼格式。

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

修改了一下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進(jìn)行解析。下面是一個java讀取帶表格的任意html文件,并把html文件轉(zhuǎn)換成excel的例子。

要求:?要求能夠?qū)崿F(xiàn)給出任意帶table表格的html文件,生成與表格相同內(nèi)容的excel文件,附件可以作為測試文件,提供給定的roster.html文件,通過java代碼,實(shí)現(xiàn)生成與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并且設(shè)置編碼格式

public?static?Document?getDoc(String?fileName)?throws?IOException{

File?myFile=new?File(fileName);

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

return?doc;

}

///這個方法用于根據(jù)trs行數(shù)和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;

}

}

}

///這個方法用于根據(jù)樣式畫出單元格,并且根據(jù)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);?//?設(shè)置單元格內(nèi)容,字號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;

}

///根據(jù)colgroups設(shè)置表格的列寬

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是根據(jù)html文件地址生成對應(yīng)的xls

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

Document?doc=getDoc(fileName);

String?title?=?doc.title();

///得到樣式,以后可以根據(jù)正則表達(dá)式解析css,暫且沒有找到cssparse

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

///得到Table,demo只演示輸入一個table,以后可以用循環(huán)遍歷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("人事關(guān)系",?0);??

setColWidth(colgroups,sheet);

mergeColRow(trs,sheet);????

book.write();????

book.close();????

}?catch?(RowsExceededException?e)?{

e.printStackTrace();

}?catch?(WriteException?e)?{?

e.printStackTrace();

}

}

}

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

java程序怎么讀取html網(wǎng)頁?

步驟:

一、使用java點(diǎn)虐 包下的URL類,可以將一個網(wǎng)頁(鏈接)封裝成一個URL對象。

二、URL對象有一個openStream()方法,使用該方法可以獲取該網(wǎng)頁的輸入流,我們可以通過讀取輸入流的方式獲得網(wǎng)頁的內(nèi)容,并通過輸出流寫入HTML文件中。

補(bǔ)充:

步驟:

1.通過URL對象的openStream()方法獲得網(wǎng)頁的字節(jié)輸入流 。

2.為字節(jié)輸入流加緩沖 。

3. 創(chuàng)建字節(jié)輸出流對象 。

4. 為字節(jié)輸出流加緩沖 。

5. 讀取數(shù)據(jù),并寫入HTML文件 。

java 如何獲取 html 代碼中參數(shù)的值

%@ 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


當(dāng)前文章:java獲取html代碼 java獲取http
文章鏈接:http://weahome.cn/article/ddicess.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部