亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > WEB開發 > 正文

使用structs上傳文件到服務器

2024-04-27 15:18:07
字體:
來源:轉載
供稿:網友

Structs界面Demo:xm_ya_oper.js

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; String getslid=request.getParameter("getslid"); System.out.PRintln("aaa 界面="+getslid); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>   <head>     <base target="_self">//注意引用,當前窗口操作    <base href="<%=basePath%>">     <title>導入文件</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0">    <meta http-equiv="keyWords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/CSS" href="styles.css"> -->   </head> <script> function tjform() {     alert("上傳成功,確定要關閉界面嗎?");     window.parent.returnValue='gbym';   //把值傳遞到父類

window.close(); } </script> <body> <form id="form1" name="form1" action="importAction_importData.do" enctype="multipart/form-data" method="post"> <table> <tr> <td> <input type="hidden" id="slid" name="slid" value="<%=getslid %>"/> <input type="file" id="image" name="image" /> </td> <td> <input type="button" id="tj" name="tj" value="提交" onclick="submit();tjform();" /> //注意,這個地方一定要這么寫,1、先執行提交方法2、執行關閉以及傳參的方法。否則提交時候出現connetion等就是數據錄入不到數據庫的問題</td> </tr> <tr> </tr> </table> </form> </body> </html> 控制類action Domo: Operaction.java     private File image; //上傳的文件      private String imageFileName; //文件名稱     private String imageContentType; //文件類型     private String slid;   //注意以上屬性必須set、get 這是使用structs的一大優勢 ,直接通過get取值  /** * 導入數據 * @return */ public String importData(){ HttpServletRequest request = ServletActionContext.getRequest(); String realpath = ServletActionContext.getServletContext().getRealPath("/upload");//獲取tomcat實際的真實路徑下的 System.out.println("realpath: "+realpath);                if (image != null) {                   File savefile = new File(new File(realpath), imageFileName);//imageFileName文件名                      if (!savefile.getParentFile().exists())                           savefile.getParentFile().mkdirs();                   try { FileUtils.copyFile(image, savefile);//執行寫入,這句話關鍵作用 ActionContext.getContext().put("message", "文件上傳成功"); } catch (IOException e) { e.printStackTrace(); }                          }               String filePath=realpath+"//"+imageFileName; this.operDao.insertData(filePath,id,slid);//掉用業務實現類 業務實現類Demo:OperDao File file=new File(filePath); //解析字符串 String encoding="GBK";     if(file.isFile() && file.exists()){ //判斷文件是否存在     if(filePath.contains("txt")){         InputStreamReader read; try { read = new InputStreamReader(new FileInputStream(file),encoding); //這是關鍵             BufferedReader bufferedReader = new BufferedReader(read);             while((lineTxt = bufferedReader.readLine()) != null){ } 整個實現類內容如下: package com.kanq.jsgt.dao; import com.kanq.jsgt.entity.Bean; import com.kanq.jsgt.util.FileUtil; import com.news.connectionPool.Tool; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.UnsupportedEncodingException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletContext; import javax.servlet.http.HttpServlet; import org.apache.commons.io.FileUtils; import org.apache.struts2.ServletActionContext; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; public class OperDao  extends HttpServlet { private Connection conn=Tool.getConnection(); private PreparedStatement pre = null ; private ResultSet rs = null; String jzds=""; String dkmj=""; String dkbh=""; String dkmc=""; String txsx=""; String tfh=""; String dkyt=""; String dlbh=""; String czf="";     String lineTxt = null;     int count=0;//統計行數 String zlh="";//勘測定界資料序號,可為空 int dkcount=0;//統計地塊個數 int jcount=0;//統計每個地塊J的個數 String str="";//記錄循環第一行的數值 String kcdjcgbidbz=""; DecimalFormat df = new DecimalFormat("0.000"); double x=0.00; double y=0.00; double FSBC=0.00;//反算邊長,第一行默認0.00 private static final int BUF_SIZE = 8192; /** * 插入數據 * @param data * @return */ public String insertData(String filePath,String kcdjcgbid,String slid){ System.out.println("業務實現類方法,slid: "+slid); System.out.println(filePath);//C:/b22.txt File file=new File(filePath); //解析字符串 String encoding="GBK";     if(file.isFile() && file.exists()){ //判斷文件是否存在     if(filePath.contains("txt")){         InputStreamReader read; try { read = new InputStreamReader(new FileInputStream(file),encoding);             BufferedReader bufferedReader = new BufferedReader(read);             while((lineTxt = bufferedReader.readLine()) != null){             count++;             if(count>=13){             //調用方法,執行數據的錄入             insertDataOper(kcdjcgbid,slid);             }        }             read.close(); } catch (Exception e) { e.printStackTrace(); }         }else if(filePath.contains("xls")){     System.out.println("包含xls");     Workbook wb = null;        lineTxt=""; //     System.out.println(lineTxt);     try {            wb=Workbook.getWorkbook(file);//構造Workbook(工作?。ο?nbsp;       } catch (BiffException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }        if(wb==null){     return null;        }        Sheet[] sheet = wb.getSheets();        if(sheet!=null&&sheet.length>0){//對每個工作表進行循環         Sheet rs = sheet[0];  //第一個工作薄     int irows = rs.getRows(); //行數     int icols  = rs.getColumns(); //列數          for (int i = 4; i < irows; i++) {               for (int j = 0; j < icols; j++) {                   Cell cell = rs.getCell(j, i);                   String strc11 = cell.getContents();                   lineTxt+=strc11+",";             //調用方法,執行數據的錄入              }  //              System.out.print(lineTxt);              insertDataOper(kcdjcgbid,slid);              lineTxt="";              System.out.print(lineTxt);              System.out.print("/n");           }         }     } }else{     System.out.println("找不到指定的文件"); } return ""; } public void insertDataOper(String kcdjcgbid,String slid){ System.out.println(lineTxt); // System.out.println("============================================hello");         if(lineTxt.indexOf('@')>0){//453,1573.3860,1,蒙陽鎮關口村、蒙頂山鎮蒙山村、金花村、名雅村,面,面,,@,,@         dkcount++;         jcount=0;//統計每個地塊J的個數         str="";//記錄每個地塊的初始點 //        Long value=Long.parseLong(kcdjcgbid)+dkcount;         kcdjcgbidbz=String.valueOf(Math.random()).substring(2, 4)+dkcount; jzds=lineTxt.split(",")[0];//界址點數//26,1.3705,1,地塊1,面,H50G032071, 住宅用地,,@ dkmj=lineTxt.split(",")[1];//地塊面積 dkbh=lineTxt.split(",")[2];//地塊編號 dkmc=lineTxt.split(",")[3];//地塊名稱 txsx=lineTxt.split(",")[4];//記錄圖形屬性(點、線、面) tfh=lineTxt.split(",")[5];//圖幅號 dkyt=lineTxt.split(",")[6];//地塊用途 dlbh=lineTxt.split(",")[7];//地類編號,@的個數便是地類編號 ,表沒有相對應的字段,暫時不錄入 czf=lineTxt.split(",")[8];//操作符 // String @=strrow[i].split(",")[8];//地塊用途 //針對每列數據,錄入數據庫 String sql="insert into ya_kcdjcgb(kcdjcgbid,zlh,jeds,dkmj,dkbh,dkmc,txsx,tfh,dkyt) " + "values('"+kcdjcgbidbz+"','"+zlh+"','"+jzds+"','"+dkmj+"','"+dkbh+"','"+dkmc+"','"+txsx+"','"+tfh+"','"+dkyt+"')"; try { this.pre = this.conn.prepareStatement(sql); this.pre.execute(); this.pre.close(); } catch (SQLException e) { e.printStackTrace(); } //錄入關系表 String sql3="insert into ya_dk_bp(slid,sl0id,dkmc,kcdjcgbid) values('"+slid+"',oper_seq.nextval,'"+dkmc+"','"+kcdjcgbidbz+"')"; try { this.pre = this.conn.prepareStatement(sql3); this.pre.execute(); this.pre.close(); } catch (SQLException e) { e.printStackTrace(); } } //錄入每個地塊點數 if(lineTxt.contains("J")){     jcount++; int dkid=jcount;//勘測定界地塊ID String[] strcolumn=lineTxt.split(","); String JZDH=strcolumn[0];//界址點號 a列 J1,1,3330824.1090,34602293.93 String DKQH=strcolumn[1];//地塊圈號 b列 String XZB=strcolumn[2];//X坐標 c列 String YZB=strcolumn[3];//Y坐標 D列 czf=""; // System.out.println("lineTxt="+lineTxt); // System.out.println("str="+str); if(jcount<2){//如果是第一行坐標,記錄下來 FSBC=0.00;//第一個點的反算邊長固定為0,因為前面沒有點 x=Double.valueOf(XZB); y=Double.valueOf(YZB); }else{ double x2=Double.valueOf(XZB); double y2=Double.valueOf(YZB); double xchapf=(x2-x)*(x2-x);//x差平方 double ychapf=(y2-y)*(y2-y);//y差平方 double xpfh=xchapf+ychapf;//差平方合 FSBC=Math.sqrt(xpfh);//根號取值 //記錄前點坐標 x=Double.valueOf(XZB); y=Double.valueOf(YZB); } if(JZDH.equals(str)){//判斷是否與第一行J的界止點號一樣 // System.out.println("JZDH="+JZDH); czf="D"; jcount=0; } if(jcount==1){//記錄第一行J的界止點號 str=JZDH; } // System.out.println("a列="+JZDH+",b列"+YZB+",c列"+XZB+",D列"+DKQH);// //針對每列數據,錄入數據庫 String sql2="insert into ya_kcdjcgb_b(kcdjcgbid,dkid,jzdh,xzb,yzb,fsbc,dkqh,czf) values('"+kcdjcgbidbz+"',oper_seq.nextval,'"+JZDH+"','"+YZB+"','"+XZB+"','"+df.format(FSBC)+"','"+DKQH+"','"+czf+"')"; try { this.pre = this.conn.prepareStatement(sql2); this.pre.execute(); this.pre.close(); } catch (SQLException e) { e.printStackTrace(); }     } } /** * 導出數據 * @param data * @return */ public List<Bean> exportData(String kcdjcgbid){ List<Bean> list = new ArrayList<Bean>(); try { //地塊 String dksql="select * from ya_kcdjcgb where kcdjcgbid='"+kcdjcgbid+"'";//地塊sql,查看點數 this.pre = this.conn.prepareStatement(dksql); this.rs=this.pre.executeQuery(); while(rs.next()){ Bean bean=new Bean(); bean.setJzds(rs.getString("jeds"));//界址點數 bean.setDkmj(rs.getString("dkmj"));//地塊面積 bean.setDkmj(rs.getString("dkmj"));//地塊編號 bean.setDkmc(rs.getString("dkmc"));//地塊名稱 bean.setTxsx(rs.getString("txsx"));//記錄圖形屬性(點、線、面) bean.setTfh(rs.getString("tfh"));//圖幅號 bean.setDkyt(rs.getString("dkyt"));//地塊用途 // bean.setDlbh(rs.getString("dlbh"));//地類編號 list.add(bean); //地塊,點數 String sql="select * from ya_kcdjcgb_b where kcdjcgbid='"+kcdjcgbid+"'"; this.pre = this.conn.prepareStatement(sql); this.rs=this.pre.executeQuery(); while(rs.next()){ bean=new Bean(); bean.setJzdh(rs.getString("jzdh"));//界址點號 a列 bean.setDkqh(rs.getString("dkqh"));//地塊圈號 b列 bean.setXzb(rs.getString("xzb"));//X坐標 c列 bean.setYzb(rs.getString("yzb"));//Y坐標 D列 bean.setFsbc(rs.getString("fsbc"));//反算邊長 list.add(bean); } } } catch (SQLException e) { e.printStackTrace(); } return list; } }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产不卡av在线免费观看| 亚洲肉体裸体xxxx137| 成人黄色免费在线观看| 一区二区亚洲精品国产| 中文欧美在线视频| 2024亚洲男人天堂| 少妇久久久久久| 欧美日韩激情美女| 九九热精品视频国产| 激情av一区二区| 亚洲黄色片网站| 成人久久久久久| 国产精品日韩在线| 国产在线久久久| 26uuu国产精品视频| 亚洲国产精品悠悠久久琪琪| 精品毛片三在线观看| 91av免费观看91av精品在线| 欧美亚洲视频一区二区| 欧美精品福利在线| 激情av一区二区| 伊人伊成久久人综合网小说| 欧美国产日韩一区二区三区| 国产精品夜间视频香蕉| 色综合久久88| 国产日韩欧美在线视频观看| 成人黄色av免费在线观看| 精品国产老师黑色丝袜高跟鞋| 国产午夜精品视频| 国产午夜精品理论片a级探花| 日韩最新中文字幕电影免费看| 欧美寡妇偷汉性猛交| 中文字幕在线国产精品| 91日本在线视频| 亚洲天堂网站在线观看视频| 久久久久久18| 久久精品一本久久99精品| 亚洲国产一区二区三区四区| 欧美极品欧美精品欧美视频| 欧美电影免费观看网站| 91九色单男在线观看| 国产一区玩具在线观看| 欧美日韩亚洲视频| 裸体女人亚洲精品一区| 视频在线一区二区| 国产精品久久999| 国产一区二区三区网站| 88国产精品欧美一区二区三区| 日韩欧美第一页| 久久成人这里只有精品| 亚洲精品中文字幕女同| 亚洲午夜国产成人av电影男同| 国产丝袜一区二区三区免费视频| 欧美黑人又粗大| 久久综合色88| 亚洲另类xxxx| www.欧美精品| 1769国内精品视频在线播放| 久久精品一偷一偷国产| 国产精品美女主播在线观看纯欲| 色综合久久久久久中文网| 91大神在线播放精品| 不卡毛片在线看| 91精品在线国产| 亚洲一区二区三区视频播放| 成人久久一区二区三区| 亚洲国内高清视频| 久久久久久久久国产| 精品亚洲国产成av人片传媒| 伊是香蕉大人久久| 欧美成人免费全部观看天天性色| 亚洲精品资源美女情侣酒店| 久久天天躁日日躁| 91久久国产精品| 欧美日韩精品在线观看| 亚洲国产成人久久综合一区| 国产成人拍精品视频午夜网站| 久久精视频免费在线久久完整在线看| 98精品国产高清在线xxxx天堂| 午夜欧美大片免费观看| 午夜精品久久久久久久久久久久久| 91丝袜美腿美女视频网站| 亚洲护士老师的毛茸茸最新章节| 国产999精品久久久影片官网| 久久这里有精品视频| 亚洲欧美一区二区三区在线| 日韩精品在线视频观看| 欧美激情视频一区二区三区不卡| 97精品国产91久久久久久| 久久理论片午夜琪琪电影网| 亚洲国产日韩精品在线| 欧美国产欧美亚洲国产日韩mv天天看完整| 日产精品久久久一区二区福利| 狠狠躁夜夜躁人人躁婷婷91| 亚洲天堂av在线免费| 精品爽片免费看久久| 久久免费精品日本久久中文字幕| 中文字幕亚洲欧美日韩2019| 成人精品在线观看| 日韩电影免费观看中文字幕| 日韩欧美亚洲国产一区| 欧美性猛交xxxxx水多| 亚洲色图综合网| 国产精品久久二区| 羞羞色国产精品| 欧美日韩国产精品一区二区不卡中文| 国产偷国产偷亚洲清高网站| 92裸体在线视频网站| 在线观看免费高清视频97| 久久av资源网站| 日韩av男人的天堂| 亚洲国产日韩欧美综合久久| 久久久久久久久中文字幕| 91国产在线精品| 国产精品都在这里| 欧美成人免费全部| 97在线免费视频| 久久久噜久噜久久综合| 精品国偷自产在线视频99| 欧美激情精品久久久久久免费印度| 成人免费网站在线| 国产精品成人国产乱一区| 情事1991在线| 中文日韩在线观看| 久久精品在线播放| 亚洲欧洲视频在线| 欧美在线视频一区| 中日韩美女免费视频网站在线观看| 欧美日韩高清区| 国产亚洲精品久久久久久| 亚洲视频在线观看免费| 一个色综合导航| 国产一区二区三区三区在线观看| 亚洲国产欧美自拍| 亚洲视频在线观看免费| 热门国产精品亚洲第一区在线| 亚洲网站视频福利| 亚洲欧美日韩中文在线| 成人午夜一级二级三级| 亚洲一区二区免费| 亚洲在线免费看| 国产成人一区二区在线| 91美女片黄在线观| 精品一区电影国产| xxx成人少妇69| 中文字幕日韩av| 黑人巨大精品欧美一区二区| 国产一区二区精品丝袜| 欧美大片免费观看在线观看网站推荐| 亚洲激情视频在线| 成人a视频在线观看| 一区二区中文字幕| 精品综合久久久久久97| 久久久久久12| 欧美性猛交xxxx乱大交| 日韩美女毛茸茸| 亚洲最新av在线| 国产一区二区丝袜高跟鞋图片| 国产一区二区三区久久精品| 尤物yw午夜国产精品视频| 麻豆一区二区在线观看| 欧美性理论片在线观看片免费| 国产精品视频男人的天堂| www.欧美三级电影.com|