操作系統(tǒng)課程設計報告--多級文件系統(tǒng)_第1頁
已閱讀1頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  課 程 設 計</b></p><p>  課程名稱___操作系統(tǒng)__________</p><p>  題目名稱___多級文件系統(tǒng)-1_____</p><p>  學生學院___計算機學院________</p><p>  專業(yè)班級__ 10級網絡3班______</p>

2、<p>  2013年 7 月 1 日</p><p><b>  目錄</b></p><p>  1.設計目的.....................................................................4</p><p>  2.設計內容.................

3、....................................................4</p><p>  3.運行環(huán)境及開發(fā)技術說明............................................4</p><p>  4.設計步驟.........................................................

4、.............5</p><p>  5.心得體會......................................................................16</p><p>  6.主要實現(xiàn)代碼...............................................................16</p>

5、;<p><b>  1.設計目的:</b></p><p>  本課程設計要求設計一個模擬的多用戶多級目錄的文件系統(tǒng)。通過具體的文件存儲空間的管理、文件的物理結構、目錄結構和文件操作的實現(xiàn),加深對文件系統(tǒng)內部功能和實現(xiàn)過程的理解。 </p><p><b>  2.設計內容:</b></p><p>  首

6、先在內存中開辟一個虛擬磁盤空間作為文件存儲器,在其上實現(xiàn)一個多用戶多目錄的文件系統(tǒng)。其中文件物理結構可采用顯式鏈接。另外磁盤空閑空間的管理選擇位示圖。由于采用位示圖來管理文件存儲空間,并采用顯式鏈接分配方式,則可以將位示圖合并到FAT中。</p><p>  文件目錄結構采用多用戶多級目錄結構,每個目錄項包含文件名、物理</p><p>  地址、長度等信息,還可以通過目錄項實現(xiàn)對文件的讀

7、和寫的保護。</p><p>  另外設計一個的用戶界面,提供以下相關文件操作:</p><p>  (1)具有l(wèi)ogin (用戶登錄);</p><p>  (2)系統(tǒng)初始化(建文件卷、提供登錄模塊);</p><p> ?。?)文件的創(chuàng)建: create;</p><p> ?。?)文件的打開:open;</

8、p><p> ?。?)文件的讀:read;</p><p>  (6)文件的寫:write;</p><p> ?。?)文件關閉:close;</p><p>  (8)刪除文件:delete ;</p><p> ?。?)創(chuàng)建目錄(建立子目錄):mkdir;</p><p> ?。?0)改變當前目

9、錄:cd;</p><p>  (11)列出文件目錄:dir;</p><p>  (12)退出:logout。</p><p>  3.運行環(huán)境及開發(fā)技術說明:</p><p>  1.本課程設計是用web的形式模擬多級用戶多目錄文件系統(tǒng)。本系統(tǒng)用到技術有jsp+Tomcat+mysql。</p><p>  2.系

10、統(tǒng)運行的環(huán)境:配置好java的jre1.5及以上版本,Tomcat6.0版本,mysql5.5版本,eclipse10.0版本。</p><p>  3.運行系統(tǒng)說明:將項目導入eclipse或者直接把項目文件夾復制到tomcat的webapp目錄下,打開tomcat服務器,再在瀏覽器地址欄輸入</p><p>  即可進入系統(tǒng)的登錄頁面:</p><p><

11、b>  4.設計步驟:</b></p><p><b>  (1)需求分析。</b></p><p>  本系統(tǒng)為多用戶多目錄的文件管理系統(tǒng),用戶可以對文件或是文件目錄進行操作。多用戶功能可以滿足不同用戶不同的需求,同時因增加了管理員登陸和用戶登錄功能使得系統(tǒng)起到了很好的保密作用。</p><p>  文件系統(tǒng)是操作系統(tǒng)中負責

12、管理和存取文件信息的機構,它具有“按名存取”的功能,已使得用戶能透明的存儲和訪問文件。為了是實現(xiàn)按名存取,文件需要對文件存儲設備進行合理化的組織,分配;對存儲設備上的文件進行保護,保密和提供共享的手段。文件系統(tǒng)主要實現(xiàn)對具體的文件存取空間的管理、文件的物理結構、目錄結構管理和文件操作。另外文件系統(tǒng)還要提供檢索文件或是文件中記錄的手段,文件系統(tǒng)就是完成上述功能的一組軟件和數據結構的集合。</p><p>  而模擬

13、一個多用戶多級目錄的文件管理系統(tǒng),要完成對文件的基本操作,文件的基本操作有文件,文件夾的新建、打開、讀取、寫入文件、創(chuàng)建更改目錄、修改文件內容、刪除、列出目錄內容等信息。系統(tǒng)建立了文件目錄樹,存儲文件中的所有文件。對于用戶名下的文件,用文件目錄樹的分枝來存儲。另外由于文件系統(tǒng)提供了安全保密功能,所有模擬文件系統(tǒng)還需要有管理員登陸和創(chuàng)建用戶和用戶登錄,密碼修改等功能。</p><p>  另外,為了方便操作,還需模

14、擬一個操作界面,方便用戶進行操作。</p><p><b>  (2)概要設計:</b></p><p><b>  1).設計思想</b></p><p>  文件系統(tǒng)是操作系統(tǒng)中負責管理和存取文件信息的機構,它具有“按名存取”的功能。文件系統(tǒng)主要實現(xiàn)對具體的文件存取空間的管理、文件的物理結構、目錄結構管理和文件操作。&

15、lt;/p><p>  本實驗中的文件系統(tǒng)是多用戶多級目錄的文件系統(tǒng)。實驗中定義用戶的上限為5個,目錄結構采用多級目錄結構</p><p>  2).抽象數據類型的定義</p><p>  //連接數據庫在數據類型保存在數據庫中</p><p>  /*create database homework;*/</p><p>

16、;  use homework;</p><p><b>  /*用戶表*/</b></p><p>  create table user</p><p><b>  (</b></p><p>  id int primary key auto_increment,</p><

17、;p>  name varchar(100),</p><p>  password varchar(150)</p><p><b>  );</b></p><p><b>  /*目錄表 */</b></p><p>  create table directory</p>

18、<p><b>  (</b></p><p>  id int primary key auto_increment,</p><p>  name varchar(100),</p><p>  pathp varchar(100), /* 表途徑*/</p><p>  pdate datetime

19、</p><p><b>  );</b></p><p><b>  /*文件表*/</b></p><p>  create table ufile</p><p><b>  (</b></p><p>  id int primary key a

20、uto_increment,</p><p>  name varchar(100),</p><p>  content varchar(100), /*文件內容*/</p><p>  pdate datetime,</p><p>  pathu varchar(100) /* 表途徑*/</p><p>&l

21、t;b>  );</b></p><p>  create table priority </p><p><b>  (</b></p><p>  id int primary key auto_increment,</p><p>  fileName varchar(100),/*文件名稱*/&

22、lt;/p><p>  userName varchar(100),/*用戶名*/</p><p>  r int, /*1表示可讀,0表示不可讀 */</p><p>  w int, /*1表示可寫,0表示不可寫 */ </p><p>  exe int /*1表示可執(zhí)行,0表示不可執(zhí)行*/ </p><p>&l

23、t;b>  );</b></p><p>  /*insert into ufile vaules (null,'a','aa',,now(),'A')*/</p><p>  /*初始化目錄表*/</p><p>  insert into directory values (null,'r

24、oot','A',now() );</p><p>  insert into directory values (null,'root','B',now() );</p><p>  insert into directory values (null,'root','C',now() );</

25、p><p>  3).主程序的流程以及各程序模塊之間的層次(調用)關系。</p><p>  在系統(tǒng)中設置了用戶登陸模式。用戶初始化時不存在,則可在注冊。注冊成功后方可進行登錄,登錄成功后則可進行一系列的操作。如</p><p>  用戶注冊:register.jsp</p><p>  用戶登錄:login.jsp </p>&

26、lt;p>  磁盤的初始化:art_mana.jsp //建立3個分區(qū)</p><p>  文件的創(chuàng)建:info_ufile.jsp//建立新文件</p><p>  文件的打開:file_mana.jsp//打開文件</p><p>  文件刪除:delete__file.jsp//刪除文件</p><p>  文件的讀:che

27、ck_file.jsp//查看文件</p><p>  創(chuàng)建目錄(建立子目錄):info_dir.jsp//建立新目錄</p><p>  查看當前目錄:file_mana.jsp //顯示目錄</p><p>  刪除目錄:delete_dir.jsp//刪除目錄</p><p>  返回上一級目錄:main.jsp//向上返回

28、</p><p>  退出: main.jsp //退出功能</p><p>  (3)詳細設計:實現(xiàn)概要設計中定義的功能;畫出函數的調用關系圖;畫出各程序流程圖。</p><p> ?。?)部分功能模塊流程圖:</p><p><b>  用戶登錄模塊</b></p><p>  用戶首次登錄要

29、注冊,用戶登錄模塊要求用戶輸入賬號與密碼,當輸入正確后進入主視圖才能進行其他模塊操作,否則提示賬號密碼錯誤并要求用戶重新輸入。用戶包括普通用戶和超級用戶。超級用戶可以修改其他用戶的權限,使他們可以修改其他用戶創(chuàng)建的文件。</p><p><b>  yes</b></p><p><b>  no</b></p><p>

30、  Yes no</p><p><b>  no</b></p><p>  B.修改文件功能結構圖</p><p><b>  yes</b></p><p><b>  no</b></p><p><b>  no&l

31、t;/b></p><p><b>  yes</b></p><p>  (5)系統(tǒng)測試:列出所有系統(tǒng)功能的測試結果,測試數據應該完整、嚴格,應該至少包含需求分析中所列。</p><p>  1)若不是用戶 先注冊 注冊如下:</p><p><b>  2)用戶登錄功能:</b><

32、/p><p>  登錄成功后可進行用戶的操作:</p><p>  3)系統(tǒng)初始化:及磁盤的分區(qū)</p><p>  目錄的創(chuàng)建:(創(chuàng)建子目錄)</p><p>  在A盤下創(chuàng)建目錄home</p><p><b>  結果如下:</b></p><p><b>  

33、5)創(chuàng)建文件</b></p><p>  如在A盤目錄home中創(chuàng)建文件myfile</p><p><b>  如下</b></p><p>  6)文件的打開:(查看)</p><p><b>  7)文件的讀取</b></p><p><b>  

34、結果如下</b></p><p>  8)文件的寫:(修改)</p><p><b>  結果如下:</b></p><p>  9)文件的刪除(刪除)</p><p>  刪除myfile結果如下</p><p>  10)改變當前目錄(修改)</p><p>

35、;  將home修改為home-lzf</p><p><b>  結果如下</b></p><p><b>  11)列出目錄</b></p><p>  如B目錄下有目錄和文件</p><p>  12)用戶修改密碼的功能:</p><p><b>  13)用

36、戶退出功能</b></p><p><b>  返回用戶登錄界面</b></p><p>  14)用其他用戶zj登錄修改前面lzf用戶創(chuàng)建的文件myfile2</p><p>  修改myfile2文件</p><p><b>  結果如下圖:</b></p><p

37、>  用root用戶修改zj對myfile2的權限修改,時他能修改myfile2</p><p><b>  修改權限</b></p><p>  修改后,再用zj用戶修改lzf用戶創(chuàng)建的文件myfile2</p><p><b>  (6)系統(tǒng)文件說明</b></p><p>  Regis

38、ter.jsp:用戶注冊;login.jsp:用戶登錄;art_mana.jsp:磁盤初始化; info_dir.jsp建立目錄</p><p>  Info_ufile.jsp新建文件,file_mana.jsp打開文件,delete_file.jsp刪除文件;check_file.jsp查看文件;main.jsp主頁面,prioritDdit.jsp修改權限;priorityEditDeal.jsp修改權限處

39、理。faithConn.jsp連接錯誤頁面;faithregister.jsp注冊錯誤頁面。</p><p><b>  5.心得體會。</b></p><p>  在做課程設計的過程中遇到很多的問題,因為是用java web 來做的,系統(tǒng)在顯示的效果上并不是很好,但是都基本上完成了實驗的要求,如多用戶多目錄的文件系統(tǒng)要求的多用戶登錄,每個用戶進去后都可以創(chuàng)建自己的目

40、錄和文件。但是每個用戶創(chuàng)建的文件只能是自己修改,除非root用戶修改其他用戶的權限。</p><p>  在編程此系統(tǒng)時,方發(fā)覺自己對文件系統(tǒng)理解得不夠透徹。例如在考慮如何實現(xiàn)多用戶多目錄時,雖然書本上樹行目錄的圖看起來很清晰,但一編程起來就好像往二級目錄思路那樣編程了。</p><p>  通過這次實驗,讓我對操作系統(tǒng)的多級用戶多目錄文件系統(tǒng)有了更深的理解,對文件系統(tǒng)的文件組織形式和存儲

41、方式有了更深的理解。</p><p>  最后通過用java 編程有加深了對java知識點的理解和java web的理解。</p><p>  總之,這次課程設計讓自己受益匪淺。</p><p><b>  6.主要實現(xiàn)代碼。</b></p><p><b> ?。?)相關類定義</b></

42、p><p><b>  A)連接數據庫類</b></p><p>  public class DB {</p><p>  public static Connection getConn() {</p><p>  Connection conn = null; </p><p><b>

43、;  try {</b></p><p>  Class.forName("com.mysql.jdbc.Driver");</p><p>  conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/homework", "root" , &qu

44、ot;123456");</p><p>  } catch (ClassNotFoundException e) {</p><p>  e.printStackTrace(); </p><p>  } catch (SQLException e) { </p><p>  e.printStackTrace(); </

45、p><p><b>  }</b></p><p>  return conn;</p><p><b>  }</b></p><p>  public static Statement createStmt(Connection conn) {</p><p>  State

46、ment stmt = null;</p><p><b>  try {</b></p><p>  stmt = conn.createStatement();</p><p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p>

47、<p><b>  }</b></p><p>  return stmt;</p><p><b>  }</b></p><p>  public static ResultSet executeQuery(Statement stmt, String sql) {</p><p>

48、  ResultSet rs = null;</p><p><b>  try {</b></p><p>  rs = stmt.executeQuery(sql);</p><p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p&g

49、t;<p><b>  } </b></p><p>  return rs;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  B)目錄類</b></p><p&

50、gt;  public class Directory {</p><p>  private int id;</p><p>  private String name;</p><p>  private String pathp; /* 父節(jié)點,表途徑*/</p><p>  private Date pdate;</p&g

51、t;<p>  public void saveRs(ResultSet rs) {</p><p><b>  try {</b></p><p>  setId(rs.getInt("id"));</p><p>  setName(rs.getString("name"));</

52、p><p>  setPathp(rs.getString("pathp"));</p><p>  setPdate(rs.getTimestamp("pdate"));</p><p>  } catch (SQLException e) {</p><p>  e.printStackTrace();

53、</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  C)權限類</b></p><p>  public class Priority {</p><p>  private int id;<

54、;/p><p>  private String fileName;</p><p>  private String userName;</p><p>  private int r;</p><p>  private int w;</p><p>  private int exe;</p><

55、p>  public void saveRs(ResultSet rs) {</p><p><b>  try {</b></p><p>  setId(rs.getInt("id"));</p><p>  setFileName(rs.getString("fileName"));</

56、p><p>  setUserName(rs.getString("userName"));</p><p>  setR(rs.getInt("r"));</p><p>  setW(rs.getInt("w"));</p><p>  setExe(rs.getInt("

57、exe"));</p><p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>

58、  D)文件類</b></p><p><b>  /*文件表*/</b></p><p>  public class Ufile {</p><p>  private int id;</p><p>  private String name;</p><p>  private

59、 String content;</p><p>  private Date pdate;</p><p>  private String pathu ;/*表路徑*/ </p><p>  public void saveRs(ResultSet rs) {</p><p><b>  try {</b><

60、/p><p>  setId(rs.getInt("id"));</p><p>  setName(rs.getString("name"));</p><p>  setContent(rs.getString("content"));</p><p>  setPdate(rs.g

61、etTimestamp("pdate"));</p><p>  setPathu(rs.getString("pathu"));</p><p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p><p><b> 

62、 }</b></p><p><b>  }</b></p><p><b>  E)用戶文件表</b></p><p>  public class User {</p><p>  private int id; </p><p>  private Stri

63、ng name;</p><p>  private String password; </p><p>  public void saveRs(ResultSet rs) {</p><p><b>  try {</b></p><p>  setId(rs.getInt("id"));<

64、/p><p>  setName(rs.getString(name));</p><p>  setPassword(rs.getString(password));</p><p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p><p>&

65、lt;b>  }</b></p><p><b>  }</b></p><p>  (2)登錄功能代碼:</p><p><b>  <%</b></p><p>  boolean success=true;</p><p>  request.s

66、etCharacterEncoding("GBK");</p><p>  String username = (String)request.getParameter("username");</p><p>  System.out.println(username);</p><p>  String password

67、=(String)request.getParameter("password");</p><p>  System.out.println(password);</p><p>  Connection conn = DB.getConn();</p><p>  Statement stmt=DB.createStmt(conn);&l

68、t;/p><p>  String sql = "select * from user where name='"+ username +"'and password='"+ password +"'";</p><p>  System.out.print(sql);</p><p

69、>  ResultSet rs = DB.executeQuery(stmt, sql);</p><p>  if(!rs.next()){</p><p>  success=false;</p><p><b>  }</b></p><p>  DB.close(rs);</p><p&

70、gt;  DB.close(stmt);</p><p>  DB.close(conn);</p><p>  if(success){</p><p>  session.setAttribute("username", username);</p><p>  response.sendRedirect("

71、mian.jsp");</p><p><b>  }else{</b></p><p>  out.print("登錄失敗,請重新登錄");</p><p>  response.sendRedirect("faithlogin.jsp");</p><p><b

72、>  }</b></p><p><b>  %></b></p><p><b> ?。?)注冊功能代碼</b></p><p><b>  <%</b></p><p>  String path = request.getContextPat

73、h();</p><p>  String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";</p><p><b>  %></b></p>

74、<p><b>  <%</b></p><p>  String username=request.getParameter("username");</p><p>  String password=request.getParameter("password");</p><p>

75、;  String repassword=request.getParameter("repassword");</p><p>  if(username!=null&&password!=null&&repassword.equals(password))</p><p><b>  {</b></p>

76、;<p>  session.setAttribute("username", username);</p><p>  session.setAttribute("password", password); </p><p>  response.sendRedirect("check_register.jsp"

77、;); </p><p><b>  } </b></p><p><b>  %></b></p><p>  <script type="text/javascript"></p><p>  function check()</p&g

78、t;<p><b>  {</b></p><p>  if(form.username.value=="")</p><p><b>  {</b></p><p>  alert("請輸入用戶名!");</p><p>  form.user

79、name.focus();</p><p>  return false;}</p><p>  if(form.password.value==""){</p><p>  alert("請輸入密碼!");</p><p>  form.password.focus();</p><

80、;p>  return false;} </p><p>  }</script></p><p><b>  (4)創(chuàng)建目錄代碼</b></p><p><b>  <% </b></p><p>  request.setCharacterEncoding("

81、GBK");</p><p>  String ppath=(String)session.getAttribute("ppath");</p><p>  String action = request.getParameter("action");</p><p>  if (action != null &am

82、p;& action.trim().equals("post")) {</p><p>  String name = (String)request.getParameter("name");</p><p>  System.out.println(name);</p><p>  //String ppath =

83、 (String)request.getParameter("ppath");</p><p>  //System.out.println(path);</p><p>  String tpath=(ppath+'/'+name).trim();</p><p>  Connection conn = DB.getConn()

84、;</p><p>  boolean autoCommit = conn.getAutoCommit();</p><p>  conn.setAutoCommit(false);</p><p>  //insert into directory values (null,'root','A',now() );</p>

85、<p>  String sql = "insert into directory values (null, ?, ?, now())";</p><p>  PreparedStatement pstmt = DB.prepareStmt(conn, sql, Statement.RETURN_GENERATED_KEYS);</p><p>  ps

86、tmt.setString(1, name);</p><p>  pstmt.setString(2,tpath);</p><p>  pstmt.executeUpdate();</p><p>  conn.commit();</p><p>  conn.setAutoCommit(autoCommit);</p>&

87、lt;p>  DB.close(pstmt);</p><p>  DB.close(conn);</p><p>  response.sendRedirect("art_mana.jsp");</p><p><b>  }else{</b></p><p>  String pathp =

88、 request.getParameter("pathp");</p><p>  System.out.println(pathp);</p><p>  session.setAttribute("ppath", pathp);</p><p><b>  }</b></p><p

89、><b>  %></b></p><p> ?。?)創(chuàng)建文件代碼:</p><p><b>  <% </b></p><p>  request.setCharacterEncoding("GBK");</p><p>  String ppath=(St

90、ring)session.getAttribute("ppath");</p><p>  System.out.println(ppath+"路徑2");</p><p>  String action = request.getParameter("action");</p><p>  if (act

91、ion != null && action.trim().equals("post")) {</p><p>  String name = (String)request.getParameter("name");</p><p>  System.out.println(name);</p><p>  S

92、tring content = (String)request.getParameter("content");</p><p>  System.out.println(content);</p><p>  String userName =(String)session.getAttribute("username");</p>

93、<p>  /*int r = request.getParameter("r");</p><p>  System.out.println(r);</p><p>  int w = (Integer)request.getParameter("w");</p><p>  System.out.println(

94、w);</p><p>  int exe = (Integer)request.getParameter("exe");</p><p>  System.out.println(exe);</p><p>  //String ppath = (String)request.getParameter("ppath");&l

95、t;/p><p>  //System.out.println(path);*/</p><p>  Connection conn = DB.getConn();</p><p>  boolean autoCommit = conn.getAutoCommit();</p><p>  conn.setAutoCommit(false);&l

96、t;/p><p>  /*insert into ufile vaules (null,'a','aa','A',now(),1,1,1)*/</p><p>  String sql = "insert into ufile values (null, ?, ? , now(),?)";</p><p&g

97、t;  String prioritySql = "insert into priority values (null,?,?,1,1,1)";</p><p>  PreparedStatement pstmt = DB.prepareStmt(conn, sql, Statement.RETURN_GENERATED_KEYS);</p><p>  Prepare

98、dStatement p2stmt = DB.prepareStmt(conn, prioritySql, Statement.RETURN_GENERATED_KEYS);</p><p>  pstmt.setString(1,name);</p><p>  pstmt.setString(2, content);</p><p>  pstmt.setStr

99、ing(3, ppath);</p><p>  pstmt.executeUpdate();</p><p><b>  //加入權限表</b></p><p>  p2stmt.setString(1,name);</p><p>  p2stmt.setString(2,userName);</p>

100、<p>  p2stmt.executeUpdate();</p><p>  conn.commit();</p><p>  conn.setAutoCommit(autoCommit);</p><p>  DB.close(pstmt);</p><p>  DB.close(conn);</p><p&

101、gt;  response.sendRedirect("art_mana.jsp");</p><p><b>  }else{</b></p><p>  String pathp = (String)request.getParameter("pathp");</p><p>  System.out

102、.println(pathp+"途徑1");</p><p>  session.setAttribute("ppath", pathp);</p><p><b>  }</b></p><p><b>  %></b></p><p><b&g

103、t;  (6)編輯文件代碼</b></p><p><b>  <%</b></p><p>  String name=null;</p><p>  String content=null;</p><p>  String pathu=null;</p><p>  req

104、uest.setCharacterEncoding("GBK");</p><p>  int id = Integer.parseInt(request.getParameter("id"));</p><p>  System.out.print(id+"3333333");</p><p>  Con

105、nection conn = DB.getConn();</p><p>  Statement stmt=DB.createStmt(conn);</p><p>  String sql = "select * from ufile where id='"+ id +"'";</p><p>  Syste

106、m.out.print(sql);</p><p>  ResultSet rs = DB.executeQuery(stmt, sql);</p><p>  if(rs.next()){</p><p>  name=rs.getString("name");</p><p>  content=rs.getStrin

107、g("content");</p><p>  pathu=rs.getString("pathu");</p><p>  System.out.print(name);</p><p>  System.out.print(content);</p><p><b>  }</b&g

108、t;</p><p>  DB.close(rs);</p><p>  DB.close(stmt);</p><p>  DB.close(conn);</p><p><b>  %></b></p><p><b>  (7)修改權限代碼</b></p&g

109、t;<p>  <%request.setCharacterEncoding("GBK");</p><p>  String filename=(String)request.getParameter("filename");</p><p>  String username=(String)request.getParam

110、eter("username");</p><p>  int r = 0;</p><p>  int w = 0;</p><p>  int exe =0;</p><p>  PrintWriter pout = response.getWriter();</p><p>  Conne

111、ction cconn = DB.getConn();</p><p>  Statement cstmt=DB.createStmt(cconn);</p><p>  String csql = "select * from priority where filename='"+ filename +"'" +" and

112、 username='"+ username +"'";</p><p>  ResultSet crs = DB.executeQuery(cstmt, csql);</p><p>  if(crs.next()){</p><p>  filename=crs.getString("filename&qu

113、ot;);</p><p>  username=crs.getString("username");</p><p>  r = crs.getInt("r");</p><p>  w = crs.getInt("w");</p><p>  exe = crs.getInt(&

114、quot;exe");</p><p><b>  }</b></p><p><b>  %></b></p><p><b>  <html></b></p><p><b>  <body></b></p

115、><p>  page of priority edit ...</p><p>  <form action="priorityEditDeal.jsp" method="post" ></p><p>  <input type="hidden" name="id"

116、/></p><p>  <label>文件名:</label><input type="text"name="filename" value=<%=filename%> /><br></p><p>  <label>用戶名:</label><input

117、 type="text"name="username" value=<%=username%>/><br></p><p>  <label>可&nbsp&nbsp;讀:</label><input type="text"name="r" value=<

118、%=r%>/><br></p><p>  <label>可&nbsp&nbsp;寫:</label><input type="text"name="w" value=<%=w%>/><br></p><p>  <label>可執(zhí)行:&l

119、t;/label><input type="text"name="exe" value=<%=exe%>/><br></p><p>  <input type="submit" value="提交" /></p><p><b>  <%&

120、lt;/b></p><p>  String path = request.getContextPath();</p><p>  String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"

121、;/";</p><p><b>  %></b></p><p>  <%request.setCharacterEncoding("GBK");</p><p>  String filename=(String)request.getParameter("filename")

122、;</p><p>  String username=(String)request.getParameter("username");</p><p>  int r = Integer.parseInt(request.getParameter("r"));</p><p>  int w = Integer.pars

123、eInt(request.getParameter("w"));</p><p>  int exe =Integer.parseInt(request.getParameter("exe"));</p><p>  System.out.println(filename+"#"+username+"#"+

124、r+"#"+w+"#"+exe);</p><p>  PrintWriter pout = response.getWriter();</p><p>  Connection cconn = DB.getConn();</p><p>  Statement cstmt=DB.createStmt(cconn);<

125、/p><p>  String csql = "select * from priority where filename='"+ filename +"'" +" and username='"+ username +"'";</p><p>  ResultSet crs = D

126、B.executeQuery(cstmt, csql);</p><p>  if(!crs.next()){ </p><p>  System.out.println("!crs.next()");</p><p>  Connection conn = DB.getConn();</p><p>  boolean

127、autoCommit = conn.getAutoCommit();</p><p>  conn.setAutoCommit(false);</p><p>  String sql = "insert into priority values (null, ?, ?,?,?,?)";</p><p>  PreparedStatement p

128、stmt = DB.prepareStmt(conn, sql, Statement.RETURN_GENERATED_KEYS);</p><p>  pstmt.setString(1, filename);</p><p>  pstmt.setString(2, username);</p><p>  pstmt.setInt(3,r);</p>

129、;<p>  pstmt.setInt(4,w);</p><p>  pstmt.setInt(5,exe);</p><p>  pstmt.executeUpdate();</p><p>  conn.commit();</p><p>  conn.setAutoCommit(autoCommit);</p>

130、;<p>  pout.println("權限修改成功");</p><p>  DB.close(pstmt);</p><p>  DB.close(conn); </p><p><b>  }</b></p><p>  else if(crs.next()){&l

131、t;/p><p>  PreparedStatement pstmt2 = DB.prepareStmt(cconn, "update priority set r = ?, w = ? ,exe = ? where filename='"+ filename +"'" +" and username='"+ username +&q

132、uot;'");</p><p>  pstmt2.setInt(1, r);</p><p>  pstmt2.setInt(2, w);</p><p>  pstmt2.setInt(3, exe);</p><p>  pstmt2.executeUpdate();</p><p>  p

133、out.println("權限修改成功");</p><p>  DB.close(pstmt2);</p><p>  DB.close(cstmt);</p><p>  DB.close(cconn);</p><p><b>  }</b></p><p><b&

134、gt;  else{</b></p><p>  System.out.println("nimeid ");</p><p>  pout.println("權限修改失敗");</p><p><b>  }</b></p><p><b>  %>&

135、lt;/b></p><p><b> ?。?)用戶密碼修改</b></p><p><b>  <%</b></p><p>  request.setCharacterEncoding("GBK");</p><p>  String username=(Stri

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論