2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩22頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  《WEB技術(shù)》</b></p><p><b>  課程設(shè)計(jì)報(bào)告</b></p><p>  題目:_________用戶信息管理系統(tǒng)____________</p><p>  學(xué) 院 計(jì)算機(jī)與信息工程學(xué)院</p><p>  班 級(jí) ____ _

2、____</p><p>  學(xué) 號(hào) ___ _ __ </p><p>  姓 名 __ _____ _</p><p>  2013年 6 月</p><p><b>  一、任務(wù)書</b></p><p>  本系統(tǒng)是由我個(gè)人自己完成。系統(tǒng)設(shè)計(jì)目標(biāo)如下:</p&

3、gt;<p><b>  表1</b></p><p><b>  二、設(shè)計(jì)報(bào)告</b></p><p><b>  1、功能分析</b></p><p><b>  1.1 功能概況</b></p><p>  該系統(tǒng)主要分為前臺(tái)系統(tǒng)和后臺(tái)

4、系統(tǒng)。前臺(tái)系統(tǒng)功能包括用戶注冊(cè),用戶登陸,用戶信息查看,用戶密碼修改等功能。后臺(tái)只有管理員才可以登陸,主要功能有系統(tǒng)用戶的添加,系統(tǒng)用戶信息的修改,系統(tǒng)用戶信息的查詢,系統(tǒng)用戶刪除等。</p><p>  管理員默認(rèn)的的賬戶是yishaoku,密碼是123。如果想改變可以在數(shù)據(jù)庫(kù)中的t_manager中進(jìn)行修改。普通用戶系統(tǒng)中已經(jīng)存在一些。如:賬戶:azhang,姓名:張懷平,密碼:yishaoku等。</

5、p><p>  系統(tǒng)功能流程圖如下:</p><p><b>  圖1</b></p><p>  1.2 系統(tǒng)角色設(shè)計(jì)</p><p>  該用戶管理系統(tǒng)的角色主要由兩類,普通用戶角色和管理員角色。其中普通用戶又可以分為未注冊(cè)用戶,和已經(jīng)注冊(cè)用戶。兩類用戶各自的權(quán)限如下:</p><p><b

6、>  用戶:</b></p><p><b>  圖2</b></p><p><b>  管理員:</b></p><p><b>  圖3</b></p><p>  1.3 主要業(yè)務(wù)流程設(shè)計(jì)</p><p>  1.3.1 用戶注

7、冊(cè)</p><p><b>  圖4</b></p><p>  1.3.2 用戶登陸</p><p><b>  圖5</b></p><p>  1.3.3 用戶修改密碼</p><p><b>  圖6</b></p><p&g

8、t;  1.3.4 管理員添加用戶</p><p><b>  圖7</b></p><p>  1.3.5 管理員修改用戶信息</p><p><b>  圖8</b></p><p>  1.3.6 管理員刪除用戶</p><p><b>  圖9</b&

9、gt;</p><p><b>  2、數(shù)據(jù)庫(kù)表設(shè)計(jì)</b></p><p>  本系統(tǒng)主要是模擬用戶的信息管理,主要涉及兩張表,普通用戶信息表t_user,管理員信息表t_manager。</p><p>  普通用戶信息表如下:</p><p><b>  表2</b></p>&

10、lt;p>  普通用戶信息表t_user的ER圖如下:</p><p><b>  圖10</b></p><p><b>  管理員信息表如下:</b></p><p><b>  表3</b></p><p>  管理員信息表ER圖如下:</p><

11、;p><b>  圖11</b></p><p><b>  3、功能實(shí)現(xiàn)</b></p><p>  普通用戶信息表和管理員信息的表通過(guò)兩個(gè)JavaBean來(lái)封裝,代碼如下:</p><p><b>  普通用戶:</b></p><p>  package com.b

12、jsxt.drp.business.usermgr.model;</p><p>  import java.util.Date;</p><p>  public class User {</p><p>  private String userId;</p><p>  private String userName;</p>

13、;<p>  private String password;</p><p>  private String contactTel;</p><p>  private String email;</p><p>  private Date createDate;</p><p>  public String getCo

14、ntactTel() {</p><p>  return contactTel;</p><p><b>  }</b></p><p>  public void setContactTel(String contactTel) {</p><p>  this.contactTel = contactTel;<

15、;/p><p><b>  }</b></p><p>  public Date getCreateDate() {</p><p>  return createDate;</p><p><b>  }</b></p><p>  public void setCreate

16、Date(Date createDate) {</p><p>  this.createDate = createDate;</p><p><b>  }</b></p><p>  public String getEmail() {</p><p>  return email;</p><p

17、><b>  }</b></p><p>  public void setEmail(String email) {</p><p>  this.email = email;</p><p><b>  }</b></p><p>  public String getPassword()

18、 {</p><p>  return password;</p><p><b>  }</b></p><p>  public void setPassword(String password) {</p><p>  this.password = password;</p><p>&l

19、t;b>  }</b></p><p>  public String getUserId() {</p><p>  return userId;</p><p><b>  }</b></p><p>  public void setUserId(String userId) {</p>

20、;<p>  this.userId = userId;</p><p><b>  }</b></p><p>  public String getUserName() {</p><p>  return userName;</p><p><b>  }</b></p&g

21、t;<p>  public void setUserName(String userName) {</p><p>  this.userName = userName;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>

22、;  管理員如下:</b></p><p>  package com.bjsxt.drp.business.usermgr.model;</p><p>  public class Manager {</p><p>  private String name;</p><p>  private String passwor

23、d;</p><p>  public String getName() {</p><p>  return name;</p><p><b>  }</b></p><p>  public void setName(String name) {</p><p>  this.name =

24、name;</p><p><b>  }</b></p><p>  public String getPassword() {</p><p>  return password;</p><p><b>  }</b></p><p>  public void set

25、Password(String password) {</p><p>  this.password = password;</p><p><b>  }</b></p><p><b>  }</b></p><p>  整個(gè)系統(tǒng)對(duì)數(shù)據(jù)庫(kù)的操作是一個(gè)重要的環(huán)節(jié),因?yàn)閷?duì)數(shù)據(jù)庫(kù)的操作是一個(gè)耗資源的

26、操作,所以連接數(shù)據(jù)庫(kù)和操作數(shù)據(jù)庫(kù)的代碼要合理設(shè)計(jì),本系統(tǒng)對(duì)數(shù)據(jù)庫(kù)操作代碼如下:</p><p>  package com.bjsxt.drp.business.util;</p><p>  import java.sql.*;</p><p>  public class DB {</p><p>  public static Conn

27、ection getConn() {</p><p>  Connection conn = null;</p><p><b>  try {</b></p><p>  Class.forName("com.mysql.jdbc.Driver");</p><p>  conn = DriverM

28、anager.getConnection("jdbc:mysql://localhost:3306/db_user?user=root&password=yishaoku");</p><p>  } catch (ClassNotFoundException e) {</p><p>  e.printStackTrace();</p><

29、p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p>  return conn;</p><p><b>  }</b></p><p>  

30、public static void closeConn(Connection conn) {</p><p><b>  try {</b></p><p>  if(conn != null) {</p><p>  conn.close();</p><p>  conn = null;</p>&l

31、t;p><b>  }</b></p><p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p>&

32、lt;p>  public static void closeStmt(Statement stmt) {</p><p><b>  try {</b></p><p>  if(stmt != null) {</p><p>  stmt.close();</p><p>  stmt = null;</

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

34、/p><p>  public static void closeRs(ResultSet rs) {</p><p><b>  try {</b></p><p>  if(rs != null) {</p><p>  rs.close();</p><p>  rs = null;</p

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

36、p><p><b>  }</b></p><p>  上面的代碼是連接數(shù)據(jù)庫(kù)服務(wù)器,查詢服務(wù),修改服務(wù)和關(guān)閉數(shù)據(jù)庫(kù)連接的代碼。接下來(lái)介紹該系統(tǒng)具體實(shí)現(xiàn)對(duì)用戶表的CRUD(增刪改查)的操作。代碼如下:</p><p>  具體操作用戶信息表的代碼:</p><p>  package com.bjsxt.drp.busine

37、ss.usermgr.dao;</p><p>  import java.sql.Connection;</p><p>  import java.sql.PreparedStatement;</p><p>  import java.sql.ResultSet;</p><p>  import java.sql.SQLExcepti

38、on;</p><p>  import java.sql.Statement;</p><p>  import java.sql.Timestamp;</p><p>  import java.util.ArrayList;</p><p>  import java.util.List;</p><p>  i

39、mport com.bjsxt.drp.business.usermgr.model.User;</p><p>  import com.bjsxt.drp.business.util.DB;</p><p>  public class UserDao4MySqlImpl implements UserDao {</p><p>  public void ad

40、dUser(Connection conn, User user) {</p><p>  String sql = "insert into t_user(user_id, user_name, password, contact_tel, email, create_date) "</p><p>  + "values(?, ?, ?, ?, ?, ?)

41、";</p><p>  PreparedStatement pstmt = null;</p><p><b>  try {</b></p><p>  pstmt = conn.prepareStatement(sql);</p><p>  pstmt.setString(1, user.getUser

42、Id());</p><p>  pstmt.setString(2, user.getUserName());</p><p>  pstmt.setString(3, user.getPassword());</p><p>  pstmt.setString(4, user.getContactTel());</p><p>  pst

43、mt.setString(5, user.getEmail());</p><p>  pstmt.setTimestamp(6, new Timestamp(user.getCreateDate().getTime()));</p><p>  pstmt.executeUpdate();</p><p>  } catch (SQLException e) {&

44、lt;/p><p>  e.printStackTrace();</p><p>  } finally {</p><p>  DB.closeStmt(pstmt);</p><p><b>  }</b></p><p><b>  }</b></p><

45、;p>  public void deleteUsers(Connection conn, String[] userIdList) {</p><p>  StringBuffer sbfSql = new StringBuffer();</p><p>  for (int i = 0; i < userIdList.length; i++) {</p>&l

46、t;p>  sbfSql.append("'").append(userIdList[i]).append("'").append(",");</p><p><b>  }</b></p><p>  String sql = "delete from t_user wher

47、e user_id in ("</p><p>  + sbfSql.substring(0, sbfSql.length() - 1) + ")";</p><p>  Statement stmt = null;</p><p><b>  try {</b></p><p>  stm

48、t = conn.createStatement();</p><p>  stmt.executeUpdate(sql);</p><p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p><p>  } finally {</p><p>

49、;  DB.closeStmt(stmt);</p><p>  DB.closeConn(conn);</p><p><b>  }</b></p><p><b>  }</b></p><p>  public List findAllUserList() {</p><

50、p>  String sql = "select * from t_user order by user_id ";</p><p>  Connection conn = null;</p><p>  Statement stmt = null;</p><p>  ResultSet rs = null;</p>&l

51、t;p>  List userList = new ArrayList();</p><p><b>  try {</b></p><p>  conn = DB.getConn();</p><p>  stmt = conn.createStatement();</p><p>  rs = stmt.exe

52、cuteQuery(sql);</p><p>  while (rs.next()) {</p><p>  User user = new User();</p><p>  user.setUserId(rs.getString("user_id"));</p><p>  user.setUserName(rs.g

53、etString("user_name"));</p><p>  user.setPassword(rs.getString("password"));</p><p>  user.setContactTel(rs.getString("contact_tel"));</p><p>  user.se

54、tEmail(rs.getString("email"));</p><p>  user.setCreateDate(rs.getTimestamp("create_date"));</p><p>  userList.add(user);</p><p><b>  }</b></p>

55、<p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p><p>  } finally {</p><p>  DB.closeRs(rs);</p><p>  DB.closeStmt(stmt);</p><p>  DB

56、.closeConn(conn);</p><p><b>  }</b></p><p>  return userList;</p><p><b>  }</b></p><p>  public User findUserById(String userId) {</p>&l

57、t;p>  String sql = "select * from t_user where user_id=?";</p><p>  User user = null;</p><p>  Connection conn = null;</p><p>  PreparedStatement pstmt = null;</p>

58、;<p>  ResultSet rs = null;</p><p><b>  try {</b></p><p>  conn = DB.getConn();</p><p>  pstmt = conn.prepareStatement(sql);</p><p>  pstmt.setString

59、(1, userId);</p><p>  rs = pstmt.executeQuery();</p><p>  if (rs.next()) {</p><p>  user = new User();</p><p>  user.setUserId(rs.getString("user_id"));</p

60、><p>  user.setUserName(rs.getString("user_name"));</p><p>  user.setPassword(rs.getString("password"));</p><p>  user.setContactTel(rs.getString("contact_tel&

61、quot;));</p><p>  user.setEmail(rs.getString("email"));</p><p>  user.setCreateDate(rs.getTimestamp("create_date"));</p><p><b>  }</b></p><

62、;p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p><p>  } finally {</p><p>  DB.closeRs(rs);</p><p>  DB.closeStmt(pstmt);</p><p>  DB.cl

63、oseConn(conn);</p><p><b>  }</b></p><p>  return user;</p><p><b>  }</b></p><p>  public User userSearch(String userId,String password) {</p&

64、gt;<p>  String sql = "select * from t_user where user_id=? and password=?";</p><p>  User user = null;</p><p>  Connection conn = null;</p><p>  PreparedStatement

65、pstmt = null;</p><p>  ResultSet rs = null;</p><p><b>  try {</b></p><p>  conn = DB.getConn();</p><p>  pstmt = conn.prepareStatement(sql);</p><

66、p>  pstmt.setString(1, userId);</p><p>  pstmt.setString(2, password);</p><p>  rs = pstmt.executeQuery();</p><p>  if (rs.next()) {</p><p>  user = new User();</

67、p><p>  user.setUserId(rs.getString("user_id"));</p><p>  user.setUserName(rs.getString("user_name"));</p><p>  user.setPassword(rs.getString("password"))

68、;</p><p>  user.setContactTel(rs.getString("contact_tel"));</p><p>  user.setEmail(rs.getString("email"));</p><p>  user.setCreateDate(rs.getTimestamp("crea

69、te_date"));</p><p><b>  }</b></p><p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p><p>  } finally {</p><p>  DB.closeRs(r

70、s);</p><p>  DB.closeStmt(pstmt);</p><p>  DB.closeConn(conn);</p><p><b>  }</b></p><p>  return user;</p><p><b>  }</b></p>

71、<p>  public void modifyUser(Connection conn, User user) {</p><p>  String sql = "update t_user set user_name=?, password=?, contact_tel=?, email=? where user_id=?";</p><p>  Pre

72、paredStatement pstmt = null;</p><p><b>  try {</b></p><p>  pstmt = conn.prepareStatement(sql);</p><p>  pstmt.setString(1, user.getUserName());</p><p>  ps

73、tmt.setString(2, user.getPassword());</p><p>  pstmt.setString(3, user.getContactTel());</p><p>  pstmt.setString(4, user.getEmail());</p><p>  pstmt.setString(5, user.getUserId());

74、</p><p>  pstmt.executeUpdate();</p><p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p><p>  } finally {</p><p>  DB.closeStmt(pstmt);</p

75、><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  操作管理員的代碼:</b></p><p>  package com.bjsxt.drp.b

76、usiness.usermgr.dao;</p><p>  import java.sql.Connection;</p><p>  import java.sql.PreparedStatement;</p><p>  import java.sql.ResultSet;</p><p>  import java.sql.SQLEx

77、ception;</p><p>  import com.bjsxt.drp.business.usermgr.model.Manager;</p><p>  import com.bjsxt.drp.business.util.DB;</p><p>  public class ManagerDao4MySqlImpl implements ManagerD

78、ao {</p><p>  public Manager findManager(String name, String password) {</p><p>  String sql = "select * from t_manager where name=? and password=?";</p><p>  Manager mana

79、ger = null;</p><p>  Connection conn = null;</p><p>  PreparedStatement pstmt = null;</p><p>  ResultSet rs = null;</p><p><b>  try {</b></p><p&g

80、t;  conn = DB.getConn();</p><p>  pstmt = conn.prepareStatement(sql);</p><p>  pstmt.setString(1, name);</p><p>  pstmt.setString(2, password);</p><p>  rs = pstmt.exec

81、uteQuery();</p><p>  if (rs.next()) {</p><p>  manager = new Manager();</p><p>  manager.setName(rs.getString("name"));</p><p>  manager.setPassword(rs.getStr

82、ing("password"));</p><p><b>  }</b></p><p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p><p>  } finally {</p><p>  D

83、B.closeRs(rs);</p><p>  DB.closeStmt(pstmt);</p><p>  DB.closeConn(conn);</p><p><b>  }</b></p><p>  return manager;</p><p><b>  }</b&

84、gt;</p><p><b>  }</b></p><p>  在網(wǎng)頁(yè)之間跳轉(zhuǎn)和將數(shù)據(jù)寫入數(shù)據(jù)庫(kù)中等操作都會(huì)設(shè)計(jì)使用中文的問(wèn)題,為了很好的解決中文亂碼問(wèn)題,本系統(tǒng)使用了Filter(過(guò)濾器)來(lái)處理中文亂碼。</p><p><b>  代碼如下:</b></p><p>  package co

85、m.bjsxt.drp.business.util;</p><p>  import java.io.IOException;</p><p>  import javax.servlet.Filter;</p><p>  import javax.servlet.FilterChain;</p><p>  import javax.s

86、ervlet.FilterConfig;</p><p>  import javax.servlet.ServletException;</p><p>  import javax.servlet.ServletRequest;</p><p>  import javax.servlet.ServletResponse;</p><p>

87、;  import javax.servlet.http.HttpServletRequest;</p><p>  import javax.servlet.http.HttpServletResponse;</p><p>  public class AotoriFilter implements Filter {</p><p>  public void

88、doFilter(ServletRequest request, ServletResponse response,</p><p>  FilterChain filterChain) throws IOException, ServletException {</p><p>  HttpServletRequest hq = (HttpServletRequest) request;

89、</p><p>  HttpServletResponse hp = (HttpServletResponse) response;</p><p>  hp.setContentType("text/html;charset=GBK");</p><p>  hq.setCharacterEncoding("GBK");&

90、lt;/p><p>  filterChain.doFilter(request, response);</p><p><b>  }</b></p><p>  public void destroy() {</p><p><b>  }</b></p><p>  pub

91、lic void init(FilterConfig arg0) throws ServletException {</p><p><b>  }</b></p><p><b>  }</b></p><p>  過(guò)濾器在web.xml中的配置如下:</p><p><b>  <

92、;filter></b></p><p>  <filter-name>filter</filter-name></p><p>  <filter-class>com.bjsxt.drp.business.util.AotoriFilter</filter-class></p><p><b&

93、gt;  </filter></b></p><p>  <filter-mapping></p><p>  <filter-name>filter</filter-name></p><p>  <url-pattern>/*</url-pattern></p>&

94、lt;p>  </filter-mapping></p><p>  在用戶注冊(cè)的時(shí)候和管理員在添加用戶修改用戶信息的時(shí)候,都首先通過(guò)JavaScript驗(yàn)證數(shù)據(jù)格式正否正確,正確才向服務(wù)器提交信息,關(guān)鍵驗(yàn)證代碼如下:</p><p>  <script type="text/javascript"></p><p>

95、;  function checkCount(Node){</p><p>  var value=Node.value;</p><p>  //alert(value);</p><p>  var spanNode=document.getElementById("userCount");</p><p>  //a

96、lert(spanNode);</p><p>  var reg=/^[a-z|A-Z]{1}[\w]{3,}$/i;</p><p>  if(value.match(reg)){</p><p>  spanNode.innerHTML="用戶賬號(hào)正確".fontcolor("green");</p>&l

97、t;p>  return true;</p><p><b>  }else{</b></p><p>  //alert("aa");</p><p>  spanNode.innerHTML="賬戶第1位必須是字母,長(zhǎng)度不小于4位".fontcolor("red");<

98、/p><p>  return false;</p><p><b>  }</b></p><p><b>  }</b></p><p>  function checkPassword(Node){</p><p>  var value=Node.value;</p

99、><p>  var spanNode=document.getElementById("userPassword");</p><p>  var reg=/^[\w]{6,}$/i;</p><p>  if(value.match(reg)){</p><p>  spanNode.innerHTML="密碼格

100、式正確".fontcolor("green");</p><p>  return true;</p><p><b>  }else{</b></p><p>  spanNode.innerHTML="密碼不少于6位".fontcolor("red");</p>

101、;<p>  return false;</p><p><b>  }</b></p><p><b>  }</b></p><p>  function checkRePassword(Node){</p><p>  var value=Node.value;</p>

102、;<p>  var spanNode=document.getElementById("rePassword");</p><p>  var passValue=document.getElementById("pass").value;</p><p>  if(passValue==value&&passValu

103、e!=""){</p><p>  spanNode.innerHTML="密碼正確".fontcolor("green");</p><p>  return true;</p><p><b>  }else{</b></p><p>  spanNode.

104、innerHTML="兩次密碼不一致".fontcolor("red");</p><p>  return false;</p><p><b>  }</b></p><p><b>  }</b></p><p>  function checkUser

105、Name(Node){</p><p>  var value=Node.value;</p><p>  var spanNode=document.getElementById("userName");</p><p>  if(value!=""){</p><p>  spanNode.inne

106、rHTML="用戶名格式正確".fontcolor("green");</p><p>  return true;</p><p><b>  }else{</b></p><p>  spanNode.innerHTML="用戶名不能為空".fontcolor("red&

107、quot;);</p><p>  return false;</p><p><b>  }</b></p><p><b>  }</b></p><p>  function checkTel(Node){</p><p>  var value=Node.value;

108、</p><p>  var spanNode=document.getElementById("tel");</p><p>  var reg=/^[0-9]{5,}/i;</p><p>  if(value.match(reg)){</p><p>  spanNode.innerHTML="手機(jī)號(hào)格式正

109、確".fontcolor("green");</p><p>  return true;</p><p><b>  }else{</b></p><p>  spanNode.innerHTML="手機(jī)號(hào)格式不正確".fontcolor("red");</p>

110、<p>  return false;</p><p><b>  }</b></p><p><b>  }</b></p><p>  function checkEmail(Node){</p><p>  var value=Node.value;</p><

111、;p>  var spanNode=document.getElementById("email");</p><p>  var reg=/^\w+@\w+(\.\w+)+$/;</p><p>  if(value.match(reg)){</p><p>  spanNode.innerHTML="郵箱格式正確".

112、fontcolor("green");</p><p>  return true;</p><p><b>  }else{</b></p><p>  spanNode.innerHTML="郵箱格式不正確".fontcolor("red");</p><p&g

113、t;  return false;</p><p><b>  }</b></p><p><b>  }</b></p><p>  function checkAll(){</p><p>  var formNode=document.forms[0];</p><p>

114、;  with(formNode)</p><p><b>  {</b></p><p>  if(checkCount(userCount)&&checkEmail(email)&&checkPassword("userPassword")&&checkRePassword("rePas

115、sword")&&</p><p>  checkTel("tel")&&checkUserName("userName"))</p><p><b>  {</b></p><p>  return true;</p><p><b

116、>  }else</b></p><p><b>  {</b></p><p>  return false;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }&

117、lt;/b></p><p><b>  </script></b></p><p><b>  系統(tǒng)功能截圖:</b></p><p><b>  后臺(tái)登陸界面:</b></p><p><b>  圖12</b></p>

118、<p><b>  后臺(tái)管理頁(yè)面:</b></p><p><b>  圖13</b></p><p><b>  前臺(tái)用戶登陸界面:</b></p><p><b>  圖13</b></p><p>  后臺(tái)管理員添加用戶界面:</p

119、><p><b>  圖14</b></p><p><b>  用戶注冊(cè)界面:</b></p><p><b>  圖15</b></p><p>  4、個(gè)人總結(jié)本系統(tǒng)雖然功能有限,但也是我按照一般軟件的開(kāi)發(fā)流程一步一步進(jìn)行的,從需求分析,到數(shù)據(jù)庫(kù)的設(shè)計(jì),再到具體編碼的實(shí)

120、現(xiàn),再到測(cè)試運(yùn)行。按部就班的進(jìn)行,讓我再一次感受到了軟件開(kāi)發(fā)的嚴(yán)謹(jǐn)性和規(guī)范性。在具體開(kāi)發(fā)過(guò)程中也遇到了很多問(wèn)題,但是借助于互聯(lián)網(wǎng)絡(luò)最終都得到了解決。該系統(tǒng)功能不是很完善,但是我在設(shè)計(jì)的時(shí)候考慮到了可擴(kuò)展行,可以很方便的在該系統(tǒng)上擴(kuò)展新的功能,我提供了很多接口,便于以后擴(kuò)展使用。因?yàn)樽罱诳丛O(shè)計(jì)模式的書,所以在編寫具體代碼的使用,我也有意識(shí)的使用了一些設(shè)計(jì)模式,比如:?jiǎn)卫J?,工廠模式,接口模式等等。使用這些設(shè)計(jì)模式可以讓該系統(tǒng)具備更好的

溫馨提示

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

評(píng)論

0/150

提交評(píng)論