婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > JSP使用MVC模式完成刪除和修改功能實例詳解

JSP使用MVC模式完成刪除和修改功能實例詳解

熱門標簽:杭州語音電銷機器人軟件 高德地圖標注樣式 電銷機器人好賣么 電銷機器人是有一些什么技術 四川保險智能外呼系統(tǒng)商家 杭州ai語音電銷機器人功能 北票市地圖標注 地圖標注線上教程 商洛電銷

本文實例講述了JSP使用MVC模式完成刪除和修改功能的方法。分享給大家供大家參考。具體如下:

目標:

① 進一步理解MVC模式;
② 掌握刪除功能的基本實現(xiàn)過程;
③ 掌握修改功能的基本實現(xiàn)過程。

主要內(nèi)容:

① 使用MVC完成刪除功能;
② 使用MVC模式完成信息更新功能。

1、如何使用MVC模式完成刪除功能

根據(jù)MVC模式的特點,分別考慮MVC的3個部分。
① 首先考慮V部分:

輸入:通常刪除功能是在查詢的基礎上完成的,所以在用戶信息列表界面上可以添加刪除的超鏈。

輸出:提示用戶刪除是否成功,可以采用單獨的界面,也可以在其他頁面中顯示。我們采用第二種方式,在用戶列表界面中顯示提示信息。

② 其次考慮M部分:需要在User.java中添加刪除用戶的方法即可。

③ 最后考慮C部分:獲取用戶要刪除的用戶名,然后調(diào)用M部分完成刪除,最后轉向用戶信息列表界面。

下面分別實現(xiàn)。

2、在userlist.jsp文件中添加刪除超鏈和提示信息

1)添加刪除超鏈(紅色部份):

c:forEach var="user" items="${users}">
 tr>
  td>
   ${user.username}
  /td>
  td>
   ${user.userpass}
  /td>
  td>
   a href="deleteUser?username=${user.username}">刪除/a>
  /td>
 /tr>
/c:forEach>

注意:刪除的時候需要知道要刪除的用戶的名字(這里名字作為主鍵),所以通過參數(shù)傳遞名字。

2)添加提示信息:

復制代碼 代碼如下:
font color="red"> ${deleteinfo} /font>

3)修改后的代碼如下:

%@ page contentType="text/html;charset=gb2312"%>
%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
font color="red"> ${addinfo} /font>
font color="red"> ${deleteinfo} /font>
br>
c:if test="${pageNo!=1}">
 a href="getAllUser?pageNo=1">第一頁/a>
 a href="getAllUser?pageNo=${pageNo-1}">上一頁/a>
/c:if>
c:if test="${pageNo!=pageCounter}">
 a href="getAllUser?pageNo=${pageNo+1}">下一頁/a>
 a href="getAllUser?pageNo=${pageCounter}">最后一頁/a>
/c:if>
br>
table width="200" border="1" height="56">
 tbody>
  tr>
   td>
    用戶名
   /td>
   td>
    口令
   /td>
   td>
   /td>
  /tr>
  c:forEach var="user" items="${users}">
   tr>
    td>
     ${user.username}
    /td>
    td>
     ${user.userpass}
    /td>
    td>
     a href="deleteUser?username=${user.username}">刪除/a>
    /td>
   /tr>
  /c:forEach>
 /tbody>
/table>

3、編寫M部分:在User.java中添加方法

在User.java中添加deleteUser方法,參考代碼如下:

public boolean deleteUser(String username) {
 Connection con = null;
 Statement stmt = null;
 boolean b; // 表示刪除成功與否
 try {
  // 指出連接數(shù)據(jù)庫所需要的驅動程序
  Class.forName("oracle.jdbc.driver.OracleDriver");
  // 建立與數(shù)據(jù)庫之間的連接
  con = DriverManager.getConnection(
    "jdbc:oracle:thin:@myserver:1521:mydb", "scott",
    "tiger");
  // 編寫查詢數(shù)據(jù)庫信息的SQL語句
  String sql = "delete from usertable where username='" + username + "'";
  // 創(chuàng)建語句對象,用于執(zhí)行SQL語句
  stmt = con.createStatement();
  // 執(zhí)行沒有結果集返回的語句,返回的是影響數(shù)據(jù)庫表中記錄的個數(shù)
  int n = stmt.executeUpdate(sql);
  if (n > 0)
   b = true;
  else
   b = false;
 } catch (Exception e) {
  b = false;
 } finally {
  // 關閉相關對象
  if (stmt != null)
   try {
    stmt.close();
   } catch (Exception ee) {
   }
  if (con != null)
   try {
    con.close();
   } catch (Exception ee) {
   }
 }
 return b;
}

注意:紅色部分需要修改成您自己的服務器和數(shù)據(jù)庫。

4、編寫C部分:添加DeleteUser控制器

DeleteUser.java的代碼如下:

package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javabean.User;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DeleteUser extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
 //獲取信息
 String username = request.getParameter("username");
 // 調(diào)用JavaBean
 User user = new User();
 boolean b = user.deleteUser(username);
 // 傳遞刪除成功或失敗的信息
 String info;
 if(b)
  info = "刪除成功!";
 else
  info = "刪除失敗!";
 request.setAttribute("deleteinfo",info);
 // 選擇界面對用戶響應
 RequestDispatcher rd = request.getRequestDispatcher("getAllUser");
 rd.forward(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
  doGet(request,response);
}
}

5、如何使用MVC模式實現(xiàn)修改功能

修改功能本身包括兩個過程:用戶選擇要修改的用戶,然后把該用戶的信息顯示在修改界面上;用戶進行修改,修改之后提交,服務器完成修改功能。
對于第一個功能,采用MVC模式:

V部分:

輸入:在用戶列表界面上添加“修改”超鏈。
輸出:用戶信息修改界面,把查詢到的信息顯示在修改界面上。

M部分:編寫按照用戶名查詢用戶信息的方法。

C部分:獲取要刪除的用戶的名字,調(diào)用M部分的查詢方法,得到用戶信息,傳遞到修改界面,使用修改界面對用戶響應。

對于第二部分,采用MVC模式:

V部分

輸入:上面編寫的修改界面。
輸出:用戶信息列表界面

M部分:編寫用戶信息修改的方法。

C部分:獲取用戶輸入的信息,調(diào)用M部分完成修改,轉向列表界面對用戶進行響應。

下面分別介紹實現(xiàn)方法。

6、修改用戶信息列表界面

修改后的代碼如下:

%@ page contentType="text/html;charset=gb2312"%>
%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
font color="red"> ${addinfo} /font>
font color="red"> ${deleteinfo} /font>
font color="red"> ${updateinfo} /font>
br>
c:if test="${pageNo!=1}">
a href="getAllUser?pageNo=1">第一頁/a>
a href="getAllUser?pageNo=${pageNo-1}">上一頁/a>
/c:if>
c:if test="${pageNo!=pageCounter}">
a href="getAllUser?pageNo=${pageNo+1}">下一頁/a>
a href="getAllUser?pageNo=${pageCounter}">最后一頁/a>
/c:if>
br>
table width="200" border="1" height="56">
tbody>
 tr>
  td>
   用戶名
  /td>
  td>
   口令
  /td>
  td>
  /td>
 /tr>
 c:forEach var="user" items="${users}">
  tr>
   td>
    ${user.username}
   /td>
   td>
    ${user.userpass}
   /td>
   td>
    a href="findUser?username=${user.username}">修改/a>
   /td>
   td>
    a href="deleteUser?username=${user.username}">刪除/a>
   /td>
  /tr>
 /c:forEach>
/tbody>
/table>

7、編寫信息修改界面

參考代碼如下:

%@ page contentType="text/html;charset=gb2312"%> 修改用戶br>
form name="form1" method="post" action="updateUser">
 用戶名:${user.username}
input type="hidden" name="username" value="${user.username}">br>
 口令:input type="text" name="userpass" value="${user.userpass}">br>
 input type="submit" value="修改">input type="reset" value="重置">
/form>

8、在User.java中添加查詢信息的方法

public User findUserByName(String username) {
  Connection con = null;
  Statement stmt = null;
  ResultSet rs = null;
  try {
   // 指出連接數(shù)據(jù)庫所需要的驅動程序
   Class.forName("oracle.jdbc.driver.OracleDriver");
   // 建立與數(shù)據(jù)庫之間的連接
   con = DriverManager.getConnection(
     "jdbc:oracle:thin:@myserver:1521:mydb", "scott",
     "tiger");
   // 編寫查詢數(shù)據(jù)庫信息的SQL語句
   String sql = "select * from usertable where username='" + username + "'";
   // 創(chuàng)建語句對象,用于執(zhí)行SQL語句
   stmt = con.createStatement();
   // 執(zhí)行沒有結果集返回的語句,返回的是影響數(shù)據(jù)庫表中記錄的個數(shù)
   rs = stmt.executeQuery(sql);
   if(rs.next()){
    User user = new User();
    String userpass = rs.getString(2);
    user.setUsername(username);
    user.setUserpass(userpass);
    return user;
   }   
  } catch (Exception e) {
   return null;
  } finally {
   // 關閉相關對象
   try{
    rs.close();
   }catch(Exception e){}
   if (stmt != null)
    try {
     stmt.close();
    } catch (Exception ee) {
    }
   if (con != null)
    try {
     con.close();
    } catch (Exception ee) {
    }
  }
  return null;
}

注意:紅色部分需要修改成您自己的服務器和數(shù)據(jù)庫。

9、在User.java中添加“修改信息”的方法

public boolean update() {
 Connection con = null;
 Statement stmt = null;
 boolean b;
 try {
  // 指出連接數(shù)據(jù)庫所需要的驅動程序
  Class.forName("oracle.jdbc.driver.OracleDriver");
  // 建立與數(shù)據(jù)庫之間的連接
  con = DriverManager.getConnection(
    "jdbc:oracle:thin:@myserver:1521:mydb", "scott",
    "tiger");
  // 編寫更新的sQL語句
  String sql = "update usertable set userpass = '"+userpass+"' where username='" + username + "'";
  // 創(chuàng)建語句對象,用于執(zhí)行SQL語句
  stmt = con.createStatement();
  // 執(zhí)行沒有結果集返回的語句,返回的是影響數(shù)據(jù)庫表中記錄的個數(shù)
  int n = stmt.executeUpdate(sql);
  if(n>0)
   b=true;
  else
   b=false;
 } catch (Exception e) {
  b = false;
 } finally {
  if (stmt != null)
   try {
    stmt.close();
   } catch (Exception ee) {
   }
  if (con != null)
   try {
    con.close();
   } catch (Exception ee) {
   }
 }
 return b;
}

注意:紅色部分需要修改成您自己的服務器和數(shù)據(jù)庫。

10、編寫查詢信息的Servlet

參考代碼如下:

package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javabean.User;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FindUser extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
 doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
 // 獲取信息
 String username = request.getParameter("username");
 //調(diào)用Javabean
 User user = new User();
 user = user.findUserByName(username);
 // 傳遞值
 request.setAttribute("user", user);
 // 選擇界面對用戶進行響應
 RequestDispatcher rd = request.getRequestDispatcher("updateuser.jsp");
 rd.forward(request, response);    
}
}

11、編寫修改信息的Servlet

參考代碼如下:

package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javabean.User;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class UpdateUser extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
 doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
 // 獲取信息
 String username = request.getParameter("username");
 String userpass = request.getParameter("userpass");
 //調(diào)用Javabean
 User user = new User();
 user.setUsername(username);
 user.setUserpass(userpass);
 boolean b = user.update();
 // 傳遞值
 String info ;
 if(b)
  info="修改成功!";
 else
  info="修改失敗!";
 // 選擇界面對用戶進行響應
 RequestDispatcher rd = request.getRequestDispatcher("getAllUser");
 rd.forward(request, response); 
}
}

希望本文所述對大家的JSP程序設計有所幫助。

您可能感興趣的文章:
  • JSP使用Servlet作為控制器實現(xiàn)MVC模式實例詳解
  • springMVC如何將controller中數(shù)據(jù)傳遞到jsp頁面
  • springMVC如何將controller中Model數(shù)據(jù)傳遞到jsp頁面
  • SpringMVC 向jsp頁面?zhèn)鬟f數(shù)據(jù)庫讀取到的值方法
  • 淺談SpringMVC jsp前臺獲取參數(shù)的方式 EL表達式
  • JSP開發(fā)中在spring mvc項目中實現(xiàn)登錄賬號單瀏覽器登錄
  • JSP中springmvc配置validator的注意事項
  • JavaWeb實現(xiàn)用戶登錄注冊功能實例代碼(基于Servlet+JSP+JavaBean模式)
  • jsp 實現(xiàn)的簡易mvc模式示例

標簽:宿州 紅河 云浮 貴州 西藏 江西 青島 丹東

巨人網(wǎng)絡通訊聲明:本文標題《JSP使用MVC模式完成刪除和修改功能實例詳解》,本文關鍵詞  JSP,使用,MVC,模式,完成,刪除,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《JSP使用MVC模式完成刪除和修改功能實例詳解》相關的同類信息!
  • 本頁收集關于JSP使用MVC模式完成刪除和修改功能實例詳解的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    中文字幕免费一区| 欧美一区二区三区视频免费播放| 日韩精品视频网| 亚洲成人在线观看视频| 亚洲第一成人在线| 午夜精品久久久久| 日韩和的一区二区| 老司机免费视频一区二区三区| 久久精品国产第一区二区三区| 日韩高清一级片| 国精产品一区一区三区mba桃花 | 亚洲女同ⅹxx女同tv| 亚洲精品久久7777| 丝瓜av网站精品一区二区| 九九国产精品视频| 成人综合婷婷国产精品久久 | 国产精品一线二线三线| 国产福利91精品| 色婷婷一区二区| 欧美日韩另类国产亚洲欧美一级| 欧美一区二区在线播放| 久久久久久久久久久久久久久99| 国产精品九色蝌蚪自拍| 亚洲一区二区四区蜜桃| 韩国女主播成人在线| 成av人片一区二区| 91精品欧美一区二区三区综合在 | 国产女主播视频一区二区| 中文字幕永久在线不卡| 天堂一区二区在线免费观看| 国产福利精品一区| 欧美日韩成人综合在线一区二区| 26uuu亚洲| 亚洲综合色噜噜狠狠| 精品一区二区三区在线播放| 91影视在线播放| 精品国产青草久久久久福利| 亚洲综合成人在线| 懂色av中文一区二区三区| 欧美日韩成人综合天天影院| 国产精品久久久久久福利一牛影视 | 亚洲综合激情另类小说区| 亚洲一线二线三线视频| 国产尤物一区二区在线| 欧美视频日韩视频在线观看| 国产午夜亚洲精品午夜鲁丝片| 性欧美疯狂xxxxbbbb| 99久久精品情趣| 精品粉嫩aⅴ一区二区三区四区| 亚洲一区二区在线免费观看视频| 高清免费成人av| www久久久久| 免费在线看成人av| 欧美在线一区二区| 亚洲欧美日韩久久| 成人aa视频在线观看| 国产日韩v精品一区二区| 精品一区二区在线播放| 欧美日韩视频在线观看一区二区三区| 中文字幕免费不卡在线| 国产一区二区三区蝌蚪| 日韩欧美国产一二三区| 日本伊人精品一区二区三区观看方式| 99久久国产综合精品麻豆| 久久久久久久综合狠狠综合| 韩国在线一区二区| 久久久久亚洲综合| 国产剧情在线观看一区二区| 精品伦理精品一区| 国内精品写真在线观看| 精品免费日韩av| 精品一区二区日韩| 亚洲精品一区二区三区在线观看| 日韩av高清在线观看| 日韩一级二级三级| 国产一区二区在线影院| 精品国产麻豆免费人成网站| 国产在线精品不卡| 国产丝袜欧美中文另类| 成人av电影观看| 亚洲欧美日韩国产另类专区| 在线观看免费成人| 青青草原综合久久大伊人精品 | 精品国产一区二区三区不卡 | 国内不卡的二区三区中文字幕| 精品国产免费一区二区三区四区| 精品伊人久久久久7777人| 久久精品男人的天堂| a在线欧美一区| 亚洲色图视频免费播放| 色av一区二区| 奇米精品一区二区三区四区| 久久影院电视剧免费观看| 成人一区二区视频| 亚洲狼人国产精品| 欧美一区二区三区不卡| 国产91综合网| 亚洲第一成人在线| 亚洲资源中文字幕| 日韩精品一区二区三区视频播放 | 亚洲视频一二三| 欧美日韩国产免费一区二区| 国内精品国产成人国产三级粉色| 中文字幕乱码久久午夜不卡| 色欧美日韩亚洲| 麻豆91小视频| 最近日韩中文字幕| 日韩免费成人网| 一本大道久久a久久综合婷婷| 爽好久久久欧美精品| 国产精品视频一区二区三区不卡| 欧美日韩一本到| 懂色av一区二区三区蜜臀| 婷婷久久综合九色国产成人| 中文字幕va一区二区三区| 91精品国产一区二区三区蜜臀| 成人少妇影院yyyy| 看电影不卡的网站| 亚洲综合清纯丝袜自拍| 国产喷白浆一区二区三区| 337p亚洲精品色噜噜噜| 91行情网站电视在线观看高清版| 国产一区在线精品| 秋霞国产午夜精品免费视频| 一区二区三区中文免费| 国产亚洲美州欧州综合国| 91精品国产一区二区人妖| 欧美视频在线一区二区三区| 97精品电影院| 不卡视频一二三| 国产丶欧美丶日本不卡视频| 久久99久久精品| 男人的天堂久久精品| 亚洲第一福利视频在线| 一区二区三国产精华液| 亚洲精品伦理在线| 最新国产成人在线观看| 中文字幕国产一区| 国产农村妇女毛片精品久久麻豆| 精品国产免费久久| 亚洲精品一区二区三区99| 欧美tickle裸体挠脚心vk| 欧美一区二区久久| 欧美videos大乳护士334| 日韩一区二区在线看| 日韩欧美成人一区| 精品国产91久久久久久久妲己| 日韩精品一区二区三区swag| 日韩欧美国产成人一区二区| 精品欧美一区二区三区精品久久| 日韩精品一区二区三区三区免费 | 夜夜爽夜夜爽精品视频| 亚洲欧美视频在线观看视频| 亚洲乱码一区二区三区在线观看| 亚洲欧美另类在线| 亚洲精品va在线观看| 一区二区三区不卡视频在线观看| 一区二区三区 在线观看视频| 亚洲激情网站免费观看| 亚洲图片欧美色图| 蜜臀av性久久久久蜜臀aⅴ| 麻豆视频观看网址久久| 国产综合色精品一区二区三区| 国产一区 二区 三区一级| 不卡视频免费播放| 欧美熟乱第一页| 精品国产髙清在线看国产毛片| 国产欧美精品一区二区三区四区| 中文字幕亚洲不卡| 水野朝阳av一区二区三区| 国产毛片一区二区| 91视视频在线观看入口直接观看www | 日韩一区二区在线观看视频 | 日韩二区三区四区| 国产在线精品一区二区三区不卡 | 精品国产sm最大网站| 国产欧美一二三区| 亚洲最新视频在线播放| 国内精品伊人久久久久影院对白| 91小视频免费观看| 欧美不卡视频一区| 亚洲精品水蜜桃| 久久99精品国产91久久来源| bt7086福利一区国产| 777亚洲妇女| 中文字幕一区不卡| 久久精品二区亚洲w码| 色成年激情久久综合| 国产日韩综合av| 天堂午夜影视日韩欧美一区二区| 国产精品一区二区在线播放| 在线视频你懂得一区| 国产欧美日韩精品一区| 美女视频黄 久久| 欧美三级中文字| 一区二区中文字幕在线| 国产寡妇亲子伦一区二区| 日韩一级高清毛片| 日韩中文字幕91| 日本韩国欧美国产|