国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - 精致小巧的java相冊制作方法

精致小巧的java相冊制作方法

2020-06-22 11:50xanlv JAVA教程

這篇文章主要為大家詳細介紹了精致小巧的java相冊制作方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了java相冊制作方法,供大家參考,具體內容如下

精致小巧的java相冊制作方法

精致小巧的java相冊制作方法

注:
1)html上的圖片是靜態指定的。當更新了新的圖片時必須手工更新。所以使用Servlet讀取本地images中的所有圖片,動態顯示給用戶。

2)如果存在中文名的圖片,由于get方式無法直接傳遞中文,會導致出錯。

主頁面–index.jsp

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <title>小小相冊</title>
 </head>
 
 <body>
 <!-- http://localhost:8080/photosWeb/ -->
  <h2>小小相冊</h2>
  <a href="jsps/upload.jsp">上傳相片</a>
  <a href="<%=request.getContextPath() %>/servlet/showAllImg">瀏覽相片</a>
 </body>
</html>

頁面顯示:

精致小巧的java相冊制作方法

上傳圖片功能:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <title>小小相冊</title>
 </head>
 
 <body>
  <h2>小小相冊</h2>
  <form action="<%=request.getContextPath() %>/servlet/uploadServlet" method="post" enctype="multipart/form-data">
    照片:<input type="file" name="file"/><br/>
    說明:<input type="text" name="desc"/><br/>
    <input type="submit" value="上傳"/> 
  </form>
 </body>
</html>

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
package cn.hncu.servlet;
 
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.List;
 
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.io.FileUtils;
 
import cn.hncu.dao.PhotoDaoImpl;
import cn.hncu.domain.PhotoModel;
import cn.hncu.utils.MyUtils;
 
public class UploadServlet extends HttpServlet {
 
 
  public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
 
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
    out.println("<HTML>");
    out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
    out.println(" <BODY>");
    out.print("錯誤信息:提交方式錯誤...不支持Get方式上傳照片");
    out.println(" </BODY>");
    out.println("</HTML>");
    out.flush();
    out.close();
  }
 
  public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
 
    request.setCharacterEncoding("utf-8");
    response.setContentType("text/html;charset=utf-8");
    PrintWriter out = response.getWriter();
    out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
    out.println("<HTML>");
    out.println(" <HEAD><TITLE>上傳照片頁面</TITLE></HEAD>");
    out.println(" <BODY>");
    //從上傳表單提取信息:一,封裝成photo值對象,調用dao層存儲到后臺
    //          二,把上傳的照片存儲到服務器硬盤
    //數據庫:存儲照片的存儲情況的信息,,,真正的文件存儲到硬盤
    DiskFileItemFactory dfi=new DiskFileItemFactory();
    File file=new File("d:/a");
    if(file.exists()){
      file.mkdirs();
    }
    dfi.setRepository(file);
    ServletFileUpload upload=new ServletFileUpload(dfi);
    upload.setSizeMax(1024*1024*8);
    upload.setHeaderEncoding("utf-8");//==>request.setCharacterEncoding("utf-8");
    try {
      List<FileItem> list=upload.parseRequest(request);
      PhotoModel pm=new PhotoModel();
      InputStream in=null;
      for(FileItem fI:list){
        if(fI.isFormField()){//這個不會有臨時文件
          String desc=fI.getString("utf-8");
          pm.setDesc(desc);
        }else{
          in=fI.getInputStream();
//         String filename=fI.getFieldName();
//         System.out.println("getFieldName:"+filename);
          String fileName=fI.getName();
//         System.out.println("getName:"+fileName);//測試:C:\Users\adl1\Pictures\Saved Pictures\111.jpg?
          //衛條件
          if(fileName==null||fileName.trim().equals("")){
            out.println("沒有選擇文件,,,請必須選擇一個文件...<br/>");
            String strPath2=request.getContextPath()+"/jsps/upload.jsp";
            out.println("<a href=\""+strPath2+"\">返回上傳頁面</a>");
            return;
          }
          pm.setDt(MyUtils.getCurrentDataime());
          String realName=fileName.substring(fileName.lastIndexOf("\\"));//"\112.jpg"
          System.out.println(realName.substring(1, realName.length()));
          pm.setRealName(realName.substring(1, realName.length()));//把realName的"\"去掉
          //ext擴展名
          String ext=fileName.substring(fileName.lastIndexOf("."));
          pm.setExt(ext);
          String id=MyUtils.getUUID();
          pm.setId(id);
          pm.setIp(request.getRemoteAddr());
          pm.setDir(MyUtils.getDir(id));
        }
      }
      //完成photo值對象的封裝,調用dao進行存儲
      boolean boo=new PhotoDaoImpl().sava(pm);
      if(boo){
        //完成數據庫的存儲,接下來是服務器硬盤的存儲
        //把照片存儲到項目根目錄下的photos文件夾中存儲(以打散方式存儲)
        String path="photos/"+pm.getDir();
 
//       System.out.println("path:"+path);//測試:photos/9/0
        String filePath=getServletContext().getRealPath(path);
 
//       System.out.println("filePath:"+filePath);//測試:D:\apache-tomcat-7.0.30\webapps\photosWeb\photos\9\0
        File dir=new File(filePath);
        if(!dir.exists()){
          dir.mkdirs();
        }
        FileUtils.copyInputStreamToFile(in, new File(filePath+"/"+pm.getId()+pm.getExt()));
 
//       //如果硬盤保存成功就跳轉到主頁面--轉發
////      RequestDispatcher rd=request.getRequestDispatcher(getServletContext().getContextPath()+"/index.jsp");//"/photosWeb/photosWeb/index.jsp"
//       RequestDispatcher rd=request.getRequestDispatcher("/index.jsp");//"/photosWeb/index.jsp"g
//       //java代碼塊和web.xml中url的開始"/"代表項目根目錄
//       rd.forward(request, response);
        //這里不能使用轉發,具體重定向和轉發區別:http://blog.csdn.net/xanlv/article/details/52701085
 
 
        //重定向
        response.sendRedirect(getServletContext().getContextPath()+"/index.jsp");
      }else{
        //數據庫保存失敗--留在上傳頁面
        RequestDispatcher rd=request.getRequestDispatcher("/jsps/upload..jsp");//"/photosWeb/index.jsp"
        rd.forward(request, response);
      }
    } catch (FileUploadException e) {
      throw new RuntimeException("上傳失敗", e);
    }finally{//清臨時文件
      File f=new File("d:/a");
      File fs[]=f.listFiles();
      for(File ff:fs){
        ff.delete();
      }
    }
    out.println(" </BODY>");
    out.println("</HTML>");
    out.flush();
    out.close();
  }
 
}

頁面顯示效果:

精致小巧的java相冊制作方法

瀏覽圖片功能:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
package cn.hncu.servlet;
 
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import cn.hncu.dao.PhotoDaoImpl;
import cn.hncu.domain.PhotoModel;
 
public class ShowAllImgServlet extends HttpServlet {
 
  public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
 
    response.setContentType("text/html;charset=utf-8");
    PrintWriter out = response.getWriter();
    out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
    out.println("<HTML>");
    out.println(" <HEAD><TITLE>相冊瀏覽</TITLE></HEAD>");
    out.println(" <BODY>");
    String strPath=request.getContextPath()+"/jsps/upload.jsp";
    out.println("<a href=\""+strPath+"\">返回上傳頁面</a>");
//String table="<table border='1px' width='100%' cellspacing='0' align='center'>"+//這種方式不可以設置水平居中
    String table="<table border='1px' width='100%' cellspacing='0' style='text-align: center;'>"+
        "<tr><th>文件名</th><th>上傳日期時間</th><th>相片</th><th>相片說明</th><th>操作</th></tr>";
    out.println(table);
    //從dao層把所有的照片信息讀取出來發送到前端頁面
    List<PhotoModel> list=new PhotoDaoImpl().getAllPhotos();
    for(PhotoModel pm:list){
      out.println("<tr>");
      out.println("<td width=80>"+pm.getRealName());
      out.println("</td>");
      out.println("<td width=120>"+pm.getDt());
      out.println("</td>");
      String path=request.getContextPath()+"/photos/"+pm.getDir()+"/"+pm.getId()+pm.getExt();
//System.out.println(path);//"/photosWeb/photos/d/7/e78e18352b42410f85dbd8df834bd718.jpg"
      //點擊圖片可以查看大圖
      out.println("<td width=100><a href='"+path+"'><img width=100 height=100 src='"+path+"'/></a>");
      out.println("</td>");
      out.println("<td width=200>"+pm.getDesc());
      out.println("</td>");
      out.println("<td width=80><a href='"+getServletContext().getContextPath()+"/servlet/delPhoto?id="+pm.getId()+"'>刪除圖片</a>");
//out.println("<a href='<%=request.getContextPath()%>/servlet/down?id="+pm.getId()+"'>下載圖片</a></td>");
      out.println("<br/><a href='"+getServletContext().getContextPath()+"/servlet/down?id="+pm.getId()+"'>下載圖片</a></td>");
 
      out.println("</tr>");
 
    }
    out.println("</table>");
    out.println(" </BODY>");
    out.println("</HTML>");
    out.flush();
    out.close();
  }
 
  public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
 
    response.setContentType("text/html;charset=utf-8");
    PrintWriter out = response.getWriter();
    out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
    out.println("<HTML>");
    out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
    out.println(" <BODY>");
 
    out.print("不支持Post方式。。。");
    out.println(" </BODY>");
    out.println("</HTML>");
    out.flush();
    out.close();
  }
 
}

頁面顯示效果:

精致小巧的java相冊制作方法

刪除功能:

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package cn.hncu.servlet;
 
import java.io.File;
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;
 
import cn.hncu.dao.PhotoDaoImpl;
import cn.hncu.domain.PhotoModel;
 
public class DelPhotoServlet extends HttpServlet {
 
  public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
 
    response.setContentType("text/html;charset=utf-8");
    PrintWriter out = response.getWriter();
    out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
    out.println("<HTML>");
    out.println(" <HEAD><TITLE>刪除照片頁面</TITLE></HEAD>");
    out.println(" <BODY>");
    String id=request.getParameter("id");
    String ip=request.getRemoteAddr();
    PhotoDaoImpl dao=new PhotoDaoImpl();
    PhotoModel pm=dao.getSingleById(id);
    if(pm!=null){
      if(!pm.getIp().equals(ip)){
        out.println("您沒有該圖片的權限去刪除...");
        String strPath=request.getContextPath()+"/servlet/showAllImg";
        out.println("<br/><a href=\""+strPath+"\">返回繼續瀏覽</a>");
 
        return ;
      }
      //刪除包含兩部分工作:清除數據庫中的信息 和 刪除服務器硬盤中的圖片文件
      //1清除數據庫中的信息
      boolean boo = dao.del(id);
      //2刪除服務器硬盤中的圖片文件
      if(boo){
        String path="photos/"+pm.getDir()+"/"+pm.getId()+pm.getExt();
        String filePath=getServletContext().getRealPath(path);
        File f=new File(filePath);
        if(f.exists()){
          f.delete();
        }
        String strPath=request.getContextPath()+"/servlet/showAllImg";
//       System.out.println(strPath);///photosWeb/servlet/showPhotos
        out.println("刪除成功...<br/><a href=\""+strPath+"\">返回瀏覽</a>");
      }else{
        out.println("刪除數據庫信息失敗");
      }
    }else{
      out.println("文件不存在...");
      String strPath=request.getContextPath()+"/servlet/showAllImg";
      out.println("<br/><a href=\""+strPath+"\">返回繼續瀏覽</a>");
 
    }
    out.println(" </BODY>");
    out.println("</HTML>");
    out.flush();
    out.close();
  }
 
  public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
 
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
    out.println("<HTML>");
    out.println(" <HEAD><TITLE>刪除照片頁面</TITLE></HEAD>");
    out.println(" <BODY>");
    out.print("不支持POST方式...");
    out.println(" </BODY>");
    out.println("</HTML>");
    out.flush();
    out.close();
  }
 
}

頁面顯示:

精致小巧的java相冊制作方法

精致小巧的java相冊制作方法

精致小巧的java相冊制作方法

下載功能:
1.在HTML頁面上使用超連接指向要下載的文件(不安全容易被盜鏈)。
問題:
如何確定本地資源?
ServletContext – 代表一個web項目。一個web項目只有一個ServletContext對像。
getRealPath(“/”); //d:/prm/tom/web/

需求分析:
在實際的開發中,下載哪一個文件,都是由用戶動態選擇的。
如,在我們項目images目錄下,存在著很多圖片文件。用戶在頁面上顯示所有圖片,用戶可以點下載連接下載喜歡的圖片。

詳細設計:
使用靜態網頁顯示所有圖片。給每一個圖片一個下以下載的超連接。
在超連接后面傳遞要下載的圖片id。
在serivice中動態接收圖片名。完成下載 。

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
package cn.hncu.servlet;
 
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.URLEncoder;
 
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import org.apache.commons.io.FileUtils;
 
import cn.hncu.dao.PhotoDaoImpl;
import cn.hncu.domain.PhotoModel;
 
public class DownServlet extends HttpServlet {
 
 
  public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
 
    //獲取被下載圖片的信息
    tring id=request.getParameter("id");
    PhotoModel pm=new PhotoDaoImpl().getSingleById(id);
    if(pm==null){
      response.setContentType("text/html;charset=utf-8");
      PrintWriter out = response.getWriter();
      out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
      out.println("<HTML>");
      out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
      out.println(" <BODY>");
      response.getWriter().println("alert('該文本已不存在...')");
      out.println(" </BODY>");
      out.println("</HTML>");
      out.flush();
      out.close();
      //getServletContext().getContextPath()
      RequestDispatcher rd=request.getRequestDispatcher("/servlet/down");//"/photosWeb/index.jsp"
      //java代碼塊和web.xml中url的開始"/"代表項目根目錄
      rd.forward(request, response);
    }else{
 
      //真正下載: 把服務器硬盤的照片文件讀取出來發送給客戶端(設置響應頭)
      //獲取真實的文件
      String realName=pm.getRealName();
      realName=URLEncoder.encode(realName, "utf-8");//如果是中文名必須轉碼,防止文件名中文亂碼
//   InputStream in=DownServlet.class.getClassLoader().getResourceAsStream(realName);
      //設置顯示類型為下載
      response.setContentType("application/force-download");
      //設置響應頭
      response.setHeader("content-Disposition", "attachment;filename=\""+realName+"\"");
 
//   String path=request.getContextPath()+"/photos/"+pm.getDir()+"/"+pm.getId()+pm.getExt();
      String path="photos/"+pm.getDir()+"/"+pm.getId()+pm.getExt();
      String filePath=getServletContext().getRealPath(path);
      FileUtils.copyInputStreamToFile(request.getInputStream(), new File(filePath));
      InputStream in=new FileInputStream(filePath);
      OutputStream o=response.getOutputStream();
      byte b[]=new byte[1024];
      int len=0;
      while((len=in.read(b))!=-1){
        o.write(b, 0, len);
      }
      o.close();
 
    }
  }
 
  public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
 
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
    out.println("<HTML>");
    out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
    out.println(" <BODY>");
    out.print(" 不支持");
    out.println(" </BODY>");
    out.println("</HTML>");
    out.flush();
    out.close();
  }
 
}

頁面顯示效果:

精致小巧的java相冊制作方法

配置文件web.xml

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
  xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
 <display-name></display-name>
 <servlet>
  <servlet-name>UploadServlet</servlet-name>
  <servlet-class>cn.hncu.servlet.UploadServlet</servlet-class>
 </servlet>
 <servlet>
  <servlet-name>ShowAllImgServlet</servlet-name>
  <servlet-class>cn.hncu.servlet.ShowAllImgServlet</servlet-class>
 </servlet>
 <servlet>
  <servlet-name>DownServlet</servlet-name>
  <servlet-class>cn.hncu.servlet.DownServlet</servlet-class>
 </servlet>
 <servlet>
  <servlet-name>DelPhotoServlet</servlet-name>
  <servlet-class>cn.hncu.servlet.DelPhotoServlet</servlet-class>
 </servlet>
 
 
 
 <servlet-mapping>
  <servlet-name>UploadServlet</servlet-name>
  <url-pattern>/servlet/uploadServlet</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>ShowAllImgServlet</servlet-name>
  <url-pattern>/servlet/showAllImg</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>DownServlet</servlet-name>
  <url-pattern>/servlet/down</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>DelPhotoServlet</servlet-name>
  <url-pattern>/servlet/delPhoto</url-pattern>
 </servlet-mapping
 <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>
</web-app>

數據庫:photos.xml

?
1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="UTF-8"?>
<photos>
  <!-- 數據庫設計
    <photo id="uuid" realName="真實文件名.jpg"
    dT="2016-10-03 19:51:31" ext=".jpg" dir="a/5"
    ip="192.168.12.12">
    <desc>照片說明信息</desc>
    </photo>
   -->
</photos>

值對象:PhotoModel.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package cn.hncu.domain;
 
public class PhotoModel {
 
  //photo值對象
  private String id;//UUID
  private String realName;//照片真實文件名
  private String ext;//擴展名
  private String dir;//文件打撒后存儲的目錄
  private String dt;//上傳日期時間
  private String ip;//上傳客戶端的ip地址
  private String desc;//照片說明
  public String getId() {
    return id;
  }
  public void setId(String id) {
    this.id = id;
  }
  public String getRealName() {
    return realName;
  }
  public void setRealName(String realName) {
    this.realName = realName;
  }
  public String getExt() {
    return ext;
  }
  public void setExt(String ext) {
    this.ext = ext;
  }
  public String getDir() {
    return dir;
  }
  public void setDir(String dir) {
    this.dir = dir;
  }
  public String getDt() {
    return dt;
  }
  public void setDt(String dt) {
    this.dt = dt;
  }
  public String getIp() {
    return ip;
  }
  public void setIp(String ip) {
    this.ip = ip;
  }
  public String Dreturn desc;
  }
  public void setDesc(String desc) {
    this.desc = desc;
  }
 
}

dao層:這里簡寫了,只寫了實現類PhotoDaoImpl.java

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package cn.hncu.dao;
 
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
 
import org.dom4j.Document;
import org.dom4j.Element;
 
import cn.hncu.domain.PhotoModel;
import cn.hncu.utils.DomFactory;
 
public class PhotoDaoImpl {
 
  public boolean sava(PhotoModel pm){
    Document dom=DomFactory.getDom();
    Element root=dom.getRootElement();
    Element e=root.addElement("photo");
    e.addAttribute("id", pm.getId());
    e.addAttribute("dir", pm.getDir());
    e.addAttribute("dt", pm.getDt());
    e.addAttribute("ext", pm.getExt());
    e.addAttribute("ip", pm.getIp());
    e.addAttribute("realName", pm.getRealName());
    e.addElement("desc").setText(pm.getDesc());
    boolean b=DomFactory.save();
    if(b){
      return true;
    }
    return false;
  }
  public List<PhotoModel> getAllPhotos(){
    List<PhotoModel> li=new ArrayList<PhotoModel>();
 
    Document dom=DomFactory.getDom();
    Element e=dom.getRootElement();
    Iterator<Element> it=e.elementIterator();
    while(it.hasNext()){
      Element ie=it.next();
      PhotoModel pm=new PhotoModel();
      pm.setId(ie.attributeValue("id"));
      pm.setDir(ie.attributeValue("dir"));
      pm.setDt(ie.attributeValue("dt"));
      pm.setExt(ie.attributeValue("ext"));
      pm.setIp(ie.attributeValue("ip"));
      pm.setRealName(ie.attributeValue("realName"));
 
      pm.setDesc(ie.elementText("desc"));
      li.add(pm);
    }
    return li;
 
 
  }
  public PhotoModel getSingleById(String id){
    List<PhotoModel> li=getAllPhotos();
    PhotoModel pm=new PhotoModel();
    for(PhotoModel p:li){
      if(p.getId().equals(id)){
        return p;
      }
    }
    return null;
 
 
  }
  public boolean del(String id) {
    Document dom=DomFactory.getDom();
    Element e=(Element) dom.selectSingleNode("//photo[@id='"+id+"']");
    return e.getParent().remove(e);
  }
}

工具類:

1.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package cn.hncu.utils;
 
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;
 
public class MyUtils {
 
  private MyUtils() {
  }
  public static String getUUID(){
    return UUID.randomUUID().toString().replace("-", "");
  }
  private static SimpleDateFormat sdf=new SimpleDateFormat("yy-MM-dd HH:mm:ss");
  public static String getCurrentDataime(){
    return sdf.format(new Date());
  }
  public static String getDir(String uuid){
    String dir1=Integer.toHexString(uuid.hashCode()&0xf);
    String dir2=Integer.toHexString((uuid.hashCode()&0xf0)>>4);
 
    return dir1+"/"+dir2;
  }
}

2.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package cn.hncu.utils;
 
import java.io.FileOutputStream;
 
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
 
public class DomFactory {
  private static Document dom;
  private static String fileName;
  static{
    try {
      SAXReader r=new SAXReader();
      //獲取src下的資源文件
      fileName=DomFactory.class.getClassLoader().getResource("photos.xml").getPath();
      System.out.println("users.xml的路徑:"+fileName);//"/D:/apache-tomcat-7.0.30/webapps/photosWeb/WEB-INF/classes/photos.xml"
      //注意:獲取tomcat中當前項目classpath下的資源方式
      dom=r.read(fileName);
    } catch (DocumentException e) {
      e.printStackTrace();
    }
  }
  public static Document getDom(){
    return dom;
  }
  public static boolean save(){
    XMLWriter w;
    try {
      w = new XMLWriter(new FileOutputStream(fileName));
      w.write(dom);
      w.close();
      return true;
    } catch (Exception e) {
      return false;
    }
  }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产高清不卡 | 久久免费精品 | 亚洲精品成人av | 亚洲精品成人 | 中文在线一区 | 91社区在线高清 | 精品国产成人 | 欧美亚洲国产一区 | 日本一区二区视频 | 色香蕉视频 | 亚洲精品一区在线观看 | 久久久毛片| 色噜噜视频 | 一区二区三区 在线 | 亚洲精品国产成人 | 国产精品日韩欧美一区二区三区 | 久久综合亚洲 | 黄久久久 | 欧美在线综合 | ririsao久久精品一区 | 成人在线看片 | 亚洲福利一区二区 | 成人午夜视频在线观看 | 激情综合网五月婷婷 | 一级片欧美| 北条麻妃在线一区二区免费播放 | 国产精品久久久久一区二区三区 | 亚洲高清色综合 | 中文字幕在线电影观看 | 日韩中文字幕在线观看 | 一级欧美一级日韩 | 91激情视频 | 伊人最新网址 | 久久国产精品一区 | 国产成人jvid在线播放 | 国内成人自拍视频 | 国产精品一区在线观看 | av亚洲在线 | 欧美电影免费观看高清 | 性欧美精品高清 | 天天色天天色 |