個人專案----詞頻統計WEB(部分功能)

YangXiaomoo發表於2016-10-21

需求分析

  1.使用web上傳txt檔案,對上傳的txt進行詞頻統計。

  2.將統計後的結果輸出到web頁面,力求介面優美。

  3.在介面上展示所給url的文章詞頻統計,力求介面優美。

  3.將每個單詞同四、六級詞庫進行比對,統計所傳txt檔案中四、六級單詞涵蓋率。

  4.在3的基礎上,展示文章中前10%單詞中的覆蓋百分比,詞頻前50%單詞、詞頻前80%單詞的覆蓋百分比。

  由於能力有限,學習了很久,到目前為止之完成了第一個功能,並對結果進行了輸出,介面部分還有待學習。

程式碼實現

  建立了兩個JSP介面,upload.jsp和index.jsp。

  index.jsp

  用來輸出顯示詞頻統計的結果。其中引用了之前寫過的詞頻統計woundcount類。該類可以很方便的統計出詞頻結果。

 1 <%@ page language="java" contentType="text/html; charset=gb2312"
 2     pageEncoding="UTF-8"%>//一定要把charset設定成gb2312要不然會出現亂碼
 3 <%@page import = "wordcount04.wordcount"
 4         import = "java.io.*"
 5         import = "java.util.ArrayList"
 6         import = "java.util.Map" %>                         //<%@page %>可以引用java包
 7 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 8 <html>//heml的內容
 9 <head>
10 <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
11 <title>詞頻統計結果</title>//題目,就是在每個頁面最上方顯示的名
12 </head>
13 <body>
14 <form action="index.jsp" >//表單標籤,可以用來畫格子,type可以表示各種引數,對應著不同的功能,例如file可以實現檔案上傳
15     <table border = "1">//設定輸出顯示時的邊框
16     <tr>
17         <th>單詞</th>
18         <th>詞頻數</th>
19         <%
20         try{
21             String getfile = request.getParameter("file");//file是index裡的file,通過getParameter得到引數
22             String getbyte = new String(getfile.getBytes("gb2312"),"UTF-8");
23             File file = new File(getbyte);
24             wordcount yl = new wordcount();
25             Map<String, Integer> wc = yl.map(file);//詞頻統計
26             ArrayList<Map.Entry<String,Integer>> list =  yl.SortMap(wc);
27             //輸出結果
28             for(int k = 0;k < list.size();k++){  
29             %>
30                     <tr>
31                     <td><%=list.get(k).getKey()%></td>
32                     <td><%=list.get(k).getValue()%></td>
33              <%
34                      
35             } 
36             
37             
38         }catch(Exception e){
39             out.print(e);
40         }
41     %>
42     </table>
43     
44 </form>
45 
46 </body>
47 </html>

  upload.jsp

  這個頁面用來使用者上傳檔案。

 1 <%@ page language="java" contentType="text/html; charset=gb2312"
 2     pageEncoding="gb2312"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
 7 <title>上傳詞頻統計檔案</title>
 8 </head>
 9 <body>
10     <form action="index.jsp" method="post">
11         <input type="file" name="file">
12         <input type="submit" value = "上傳">
13     </form>
14 </body>
15 </html>

執行結果

upload

index

總結

  這次web開發也不能說是從無到有,但的確是從最基礎的一點點學起。從格式,到每個標籤的含義,再到怎麼傳值。從看書,到學習資料。前前後後用了很長的時間。最後弄明白了JSP可以實現這個簡單的功能,而且也可以通過serverlet來完成這個過程,只是還沒弄弄透徹這個機制。只是還需要在日後對web開發進行跟深入的學習。這次也對時間進行了統計,成果在以下連結中展示。

連結(未完成)。

相關文章