日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

使用idea開發javaWeb應用程序的思路(實現用戶的增刪改查)

瀏覽:344日期:2023-09-22 16:36:30

在2.7 節基礎上,這一節實現了用戶的增刪改查操作。完整工程代碼:鏈接: https://pan.baidu.com/s/1zSGMvSQa-ihwEN5pP4vW6w 提取碼: dpw8

工程目錄結構如下:

使用idea開發javaWeb應用程序的思路(實現用戶的增刪改查)

1、添加/修改用戶頁面

在webapp下新建目錄user,用于存放用戶相關的頁面。添加和修改使用的是同一個頁面,通過url中的參數控制是否是修改操作。后臺通過是否傳遞了id進行判斷新增還是修改。新建:add.html,代碼如下:

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>登錄頁面</title> <link rel='stylesheet' type='text/css' href='http://www.b3g6.com/css/my.css' rel='external nofollow' rel='external nofollow' > <script type='text/javascript' src='http://www.b3g6.com/js/my.js'></script></head><body><div > <div > <h3 style='margin-bottom:0;'>歡迎進入我的網站</h3> </hr> <p> 天將降大任于斯人也,必先苦其心志,勞其筋骨,餓其體膚,空乏其身,行拂亂其所為,所以動心忍性,曾益其所不能。——孟子 </p> </div> <div > <h3 style='margin-bottom:0;'>添加用戶</h3> <form action='addUser' method='post'> <input type='hidden' name='id' /> <p>登錄賬號: <input type='text' name='uname' /></p> <p>真實姓名: <input type='text' name='realName' /></p> <p>選擇性別: <select name='sex' style='width:170px'> <option value ='男'>男</option> <option value ='女'>女</option> </select></p> <p>登錄密碼: <input type='password' name='pwd' /></p> <p>確認密碼: <input type='password' name='pwdRepeat' /></p> <input type='button' value='提交' onclick='submitAddUser()'/> </form> </div></div><script type='text/javascript'>//檢查輸入是否為非空function submitAddUser(){ var uname = document.getElementById('uname').value;//獲取輸入的用戶名的值 var pwd = document.getElementById('pwd').value;//獲取輸入的密碼值 var pwdRepeat = document.getElementById('pwdRepeat').value;//獲取輸入確認密碼值 var realName = document.getElementById('realName').value;//獲取輸入的姓名值 var sex = document.getElementById('sex').value;//獲取輸入的性別值 if(uname == '' || pwd == '' || pwdRepeat == '' || realName == '' || sex == '' ){ alert('請將信息填寫完整后再提交。'); return; } if( pwd != pwdRepeat){ alert('兩次密碼輸入不一致,請重新輸入。'); } document.getElementById('userAddForm').submit(); //輸入不為空則跳轉到主頁面}//從url中獲取參數function getQueryVariable(variable){ var query = window.location.search.substring(1); console.log(query); var vars = query.split('&'); for (var i=0;i<vars.length;i++) { var pair = vars[i].split('='); if(pair[0] == variable){return decodeURI(pair[1]);} } return(false);}//判斷參數是否為true,不為true則彈窗提示密碼錯誤。var bool = getQueryVariable('success');var operation = getQueryVariable('operation');if(bool == 'false' && operation=='addUser'){ alert('操作失敗。');}else if(bool == 'true' && operation=='addUser'){ alert('操作成功。');}showOld();//從url中獲取參數,回顯function showOld(){ var uname = getQueryVariable('uname'); var realName = getQueryVariable('realName'); var id = getQueryVariable('id'); var sex = getQueryVariable('sex'); var pwd = getQueryVariable('pwd'); if(id != '' && id != null){ document.getElementById('uname').value=uname; document.getElementById('pwd').value=pwd; document.getElementById('pwdRepeat').value = pwd; document.getElementById('realName').value = realName; document.getElementById('id').value = id; if(sex == '男'){ document.getElementById('option_m').selected = true; }else{ document.getElementById('option_w').selected = true; } }}</script></body></html>2、查詢用戶頁面

在user目錄下新建list.jsp,代碼如下:

<%@page import='java.util.ArrayList'%><%@page import='com.my.site.UserEntity'%><%@ page language='java' contentType='text/html; charset=UTF-8'pageEncoding='UTF-8'%><!DOCTYPE html><html><head> <title>我的網站</title> <meta charset='utf-8'> <link rel='stylesheet' type='text/css' href='http://www.b3g6.com/css/my.css' rel='external nofollow' rel='external nofollow' ></head><body><!-- jsp 頁面可以內嵌 java代碼--><% ArrayList<UserEntity> all = ( ArrayList<UserEntity>)session.getAttribute('all');%><div > <div > <h3 style='margin-bottom:0;'>用戶查詢</h3> </hr> <p> 天將降大任于斯人也,必先苦其心志,勞其筋骨,餓其體膚,空乏其身,行拂亂其所為,所以動心忍性,曾益其所不能。——孟子 </p> </div> <div > <table border='1' > <tr> <td>編號</td> <td>用戶名</td> <td>密碼</td> <td>真實姓名</td> <td>性別</td> <td>注冊時間</td> <td>操作</td> </tr> <% for(UserEntity user:all) {%> <tr> <td ><%=user.getId() %></td> <td><%=user.getUname() %></td> <td><%=user.getPwd() %></td> <td><%= user.getRealName() %></td> <td><%= user.getSex() %></td> <td><%= user.getAdd_time() %></td> <td><a href='http://www.b3g6.com/bcjs/del?id=<%=user.getId()%> ' rel='external nofollow' >刪除</a> <a href='http://www.b3g6.com/bcjs/add.html?id=<%=user.getId()%>&uname=<%=user.getUname()%>&pwd=<%=user.getPwd()%>&realName=<%=user.getRealName()%>&sex=<%=user.getSex()%>' rel='external nofollow' >修改</a> </td> </tr> <%} %> </table> <p> 當前時間: <%= (new java.util.Date()).toLocaleString()%> </p> </div></div><script type='text/javascript'>//點擊按鈕跳轉到登錄頁面function toAddUser(){ window.location.href='http://www.b3g6.com/bcjs/user/add.html' rel='external nofollow' ;}function toSearchUser(){ window.location.href='http://www.b3g6.com/bcjs/user/list' rel='external nofollow' ;}</script></body></html>3、編寫后臺邏輯-添加/修改

新建:UserAdd類

package com.my.site;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;@WebServlet('/user/addUser')public class UserAdd extends HttpServlet { /** req 攜帶了請求相關信息,包括各種配置和請求參數; resp:攜帶返回相關信息 */ @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //從請求對象中獲取請求參數:是從前端 usr/add.html頁面的 userAddForm 表單提交過來的 String uname = new String(req.getParameter('uname').getBytes('ISO-8859-1'),'utf-8'); String pwd = new String(req.getParameter('pwd').getBytes('ISO-8859-1'),'utf-8'); String realName = new String(req.getParameter('realName').getBytes('ISO-8859-1'),'utf-8'); String sex = new String(req.getParameter('sex').getBytes('ISO-8859-1'),'utf-8'); String pwdRepeat = new String(req.getParameter('pwdRepeat').getBytes('ISO-8859-1'),'utf-8'); String id_str = req.getParameter('id'); boolean bool = false; //如果有id,就執行更新操作,沒有id則執行新增操作 if(null != id_str && !''.equals(id_str)){ int id = Integer.parseInt(req.getParameter('id')); bool = MySqlOperator.updateUser(id,uname, pwd, realName, sex); }else { bool = MySqlOperator.addUser(uname, pwd, realName, sex); } resp.setContentType('text/html;charset=UTF-8'); if(bool){ //跳轉到主頁面,并攜帶請求體,返回體對象。 resp.sendRedirect('add.html?operation=addUser&success=true'); }else{ //校驗失敗則跳轉到登錄頁面 resp.sendRedirect('add.html?operation=addUser&success=false'); } } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); }}4、編寫后臺邏輯-查詢

新建 UserList 類

package com.my.site;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import java.io.IOException;import java.util.List;@WebServlet('/user/list')public class UserList extends HttpServlet { /** req 攜帶了請求相關信息,包括各種配置和請求參數; resp:攜帶返回相關信息 */ @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { List<UserEntity> all = MySqlOperator.listAllUser(); HttpSession session = req.getSession(); session.setAttribute('all',all); resp.setContentType('text/html;charset=UTF-8'); resp.sendRedirect('list.jsp'); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); }}5、編寫后臺邏輯-刪除

新建UserDel

package com.my.site;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;@WebServlet('/user/del')public class UserDel extends HttpServlet { /** req 攜帶了請求相關信息,包括各種配置和請求參數; resp:攜帶返回相關信息 */ @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //從請求對象中獲取請求參數:是從前端 usr/add.html頁面的 userAddForm 表單提交過來的 int id = Integer.parseInt(req.getParameter('id').trim()); MySqlOperator.delUser(id); resp.setContentType('text/html;charset=UTF-8'); resp.sendRedirect('list'); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); }}6、 編寫數據庫操作

package com.my.site;import java.sql.*;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;public class MySqlOperator { private static final String MYSQL_URL = 'jdbc:mysql://localhost:3309/ztest?allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=UTC'; private static final String MYSQL_NAME = 'root'; private static final String MYSQL_PASSWORD = 'MySql@8022'; private static Connection conn = null; private static Statement stt = null; static { try { Class.forName('com.mysql.cj.jdbc.Driver'); conn = DriverManager.getConnection(MYSQL_URL,MYSQL_NAME,MYSQL_PASSWORD); stt = conn.createStatement(); } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } } /** * 根據用戶名和密碼檢查是否合法用戶, * @param uname * @param pwd * @return */ public static boolean loginChecked(String uname,String pwd){ try { Statement stt = conn.createStatement(); String sql = 'select * from user where account=’'+uname+'’ and password = ’'+pwd+'’';//這樣寫是有sql注入漏洞的,后面會用到 System.out.println(sql); ResultSet rs = stt.executeQuery(sql); while (rs.next()){ return true; } } catch ( SQLException e) { e.printStackTrace(); } return false; } /** * 添加用戶 */ public static boolean addUser(String uname,String pwd,String realName,String sex){ Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat('yyyy-MM-dd HH:mm:sss'); String data_str = sdf.format(date); String sql = 'insert into user(account,name,password,sex,add_time) values' + ' (’'+uname+'’,’'+realName+'’,’'+pwd+'’,’'+sex+'’,’'+data_str+'’)'; System.out.println(sql); try { if(conn.isValid(2)){ initConn(); } stt.execute(sql); return true; } catch (SQLException throwable) { throwable.printStackTrace(); return false; } } /**查詢所有用戶*/ public static List<UserEntity> listAllUser(){ String sql = 'select * from user'; ResultSet rs = null; ArrayList<UserEntity> all = new ArrayList<>(); SimpleDateFormat sdf = new SimpleDateFormat('yyyy-MM-dd HH:mm:sss'); try { rs = stt.executeQuery(sql); while (rs.next()){ UserEntity user = new UserEntity(); user.setUname(rs.getString('account')); user.setPwd(rs.getString('password')); user.setRealName(rs.getString('name')); user.setSex(rs.getString('sex')); user.setAdd_time(sdf.format(rs.getDate('add_time'))); user.setId(rs.getInt('id')); all.add(user); } System.out.println(sql); System.out.println('查詢條數:'+all.size()); return all; } catch (SQLException throwable) { throwable.printStackTrace(); } return all; } /**刪除用戶*/ public static boolean delUser(int id) { String sql = 'delete from user where id='+id; try { stt.execute(sql); return true; } catch (SQLException throwable) { throwable.printStackTrace(); return false; } }/**用于 mysql 連接斷開后重連*/ public static void initConn(){ try { Class.forName('com.mysql.cj.jdbc.Driver'); conn = DriverManager.getConnection(MYSQL_URL,MYSQL_NAME,MYSQL_PASSWORD); stt = conn.createStatement(); } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } }/**更新用戶信息*/ public static boolean updateUser(int id, String uname, String pwd, String realName, String sex) { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat('yyyy-MM-dd HH:mm:sss'); String data_str = sdf.format(date); String sql = 'update user set account=’'+uname+'’,password=’'+pwd+'’,name=’'+realName+'’,sex=’'+sex+'’,add_time=’'+data_str+'’ where id='+id; System.out.println(sql); try { if(conn.isValid(2)){ initConn(); } stt.execute(sql); return true; } catch (SQLException throwable) { throwable.printStackTrace(); return false; } }}7、 運行效果

使用idea開發javaWeb應用程序的思路(實現用戶的增刪改查)使用idea開發javaWeb應用程序的思路(實現用戶的增刪改查)

到此這篇關于使用idea開發javaWeb應用程序的思路(實現用戶的增刪改查)的文章就介紹到這了,更多相關idea 開發javaweb應用程序內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
人在线成免费视频| 国产精品15p| 欧美一区成人| 欧美在线影院| 日韩国产欧美一区二区三区| 97精品国产一区二区三区 | 国产精品一站二站| 色综合视频一区二区三区日韩 | 久久99久久人婷婷精品综合| 亚洲毛片网站| 一区二区三区四区精品视频| 久久亚洲图片| 欧美成人日韩| 亚洲视频综合| 亚洲一级二级| 国产美女高潮在线| 亚洲精品一级二级| 高清精品久久| 麻豆精品久久久| 久久在线91| 亚洲精品在线观看91| 免费日韩视频| 日韩福利视频一区| 久久福利在线| 亚洲精品一区三区三区在线观看| 欧美一区自拍| 美腿丝袜亚洲一区| 国产成人久久精品麻豆二区 | 水蜜桃久久夜色精品一区的特点| 日韩av一区二区在线影视| 国产精品一区二区精品| 精品无人区麻豆乱码久久久 | 玖玖玖国产精品| 亚洲综合专区| 欧美精品国产| 91麻豆国产自产在线观看亚洲| 欧美成人a交片免费看| 亚洲不卡系列| 激情婷婷欧美| 国产乱码精品一区二区亚洲| 日韩 欧美一区二区三区| 亚洲日产av中文字幕| 色8久久久久| 亚洲最新无码中文字幕久久| 亚洲欧洲一区| 亚洲精品日韩久久| 国产精品传媒麻豆hd| 欧美日韩国产综合网| 日韩高清一区在线| 高清一区二区三区av| 美女久久久久| 欧美日韩国产一区二区在线观看| 国产福利片在线观看| 午夜日韩在线| 日韩毛片一区| 日本99精品| 日韩三区免费| 亚洲精品少妇| av免费不卡国产观看| 国产婷婷精品| 天堂av在线| 久久激五月天综合精品| 免费av一区| 国际精品欧美精品| 亚洲日本欧美| 精精国产xxxx视频在线播放| 亚洲一区二区三区久久久| 蜜桃精品视频| 亚洲精品国产精品粉嫩| 久久久久一区| 91国语精品自产拍| 久久国产三级| 亚洲无线一线二线三线区别av| 国产情侣一区| 在线亚洲自拍| 精品久久久久久久| 婷婷精品久久久久久久久久不卡| 午夜欧美精品久久久久久久| 牛牛精品成人免费视频| 五月婷婷六月综合| 欧美aⅴ一区二区三区视频| 神马午夜久久| 成人免费一区| 亚洲2区在线| 国产综合视频| 国产精品v日韩精品v欧美精品网站| 亚洲制服欧美另类| 欧美+亚洲+精品+三区| 久久精品理论片| 亚洲狼人精品一区二区三区| 久久久久91| 久久精品资源| 欧美在线看片| 国产免费成人| 亚洲国产成人精品女人| 日韩影院二区| 国产欧美高清| 日韩在线黄色| 欧美精品激情| 国产精品国产一区| 日韩欧美高清一区二区三区| 99久久久久国产精品| 欧美激情福利| 欧美经典一区| 国产精品xvideos88| 日本亚州欧洲精品不卡| 亚洲不卡视频| 天堂成人免费av电影一区 | 中文字幕日韩亚洲| 91久久亚洲| 午夜国产精品视频免费体验区| 免费精品国产| 国产精品成人自拍| 综合日韩在线| 亚洲女同一区| 免费观看在线色综合| 日韩在线一区二区| 视频一区二区欧美| 国产视频亚洲| 亚洲精品欧美| 国产亚洲一区二区三区啪| 国产一区二区精品| 欧美福利一区| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲影视一区二区三区| 亚洲精品精选| 久久理论电影| 99riav国产精品| 国产一区成人| 亚洲一区二区三区无吗| 日本欧美在线| 精品一区二区三区视频在线播放 | 日韩国产欧美| 久久精品亚洲人成影院| 巨乳诱惑日韩免费av| 天堂va在线高清一区| 日韩精品成人在线观看| 国产日韩中文在线中文字幕 | 噜噜噜躁狠狠躁狠狠精品视频| 欧美精品黄色| 综合激情网...| 久久精品亚洲| 成人日韩在线观看| 亚州av乱码久久精品蜜桃| 日韩在线观看一区二区| 日韩成人精品一区二区| 中文字幕高清在线播放| 日韩免费看片| 妖精视频成人观看www| 日韩欧美美女在线观看| 久久久久久婷| 精品国产麻豆| 国产麻豆久久| 亚洲精品护士| 亚洲精品在线影院| 视频一区二区三区在线| 久久激情av| 成人国产综合| 亚洲精品黄色| 日韩1区2区| 香蕉成人久久| 国产精品主播| 色婷婷成人网| 日韩伦理一区| 亚洲精品在线二区| 国产一区二区精品福利地址| 国户精品久久久久久久久久久不卡 | 午夜欧美精品久久久久久久| 日韩高清一区| 蜜桃成人av| 国产日本精品| 国产一区亚洲| 麻豆中文一区二区| 丝袜美腿亚洲色图| 捆绑调教日本一区二区三区| 国产精品视频一区二区三区四蜜臂| 模特精品在线| 视频福利一区| 国产精品久久久久9999高清| 亚洲精品美女| 日韩制服丝袜av| 一区在线免费| 久久精品一区二区不卡| 日韩大片在线观看| 国产一区二区三区91| 国产精品免费99久久久| 日韩福利视频导航| 中文字幕中文字幕精品| 久久亚洲不卡| 尤物网精品视频| 蜜桃tv一区二区三区| 99精品视频在线| 成人羞羞在线观看网站| 国产精品久久久久久久久免费高清| 日韩中文字幕| 亚洲精品麻豆| 亚洲美女91| 日韩黄色在线观看| 亚洲网址在线观看| 亚洲视频国产|