日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

案例:用户信息列表展示||1. 需求 2. 设计 3. 开发4. 测试 5. 部署运维

發(fā)布時間:2025/4/16 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 案例:用户信息列表展示||1. 需求 2. 设计 3. 开发4. 测试 5. 部署运维 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

案例:用戶信息列表展示

1. 需求:用戶信息的增刪改查操作


2. 設(shè)計:


?? ?1. 技術(shù)選型:Servlet+JSP+MySQL+JDBCTemplate+Druid+BeanUtils+tomcat
?? ?2. 數(shù)據(jù)庫設(shè)計:
?? ??? ?create database day17; -- 創(chuàng)建數(shù)據(jù)庫
?? ??? ?use day17; ?? ??? ??? ? ? -- 使用數(shù)據(jù)庫
?? ??? ?create table user( ? -- 創(chuàng)建表
?? ??? ??? ?id int primary key auto_increment,
?? ??? ??? ?name varchar(20) not null,
?? ??? ??? ?gender varchar(5),
?? ??? ??? ?age int,
?? ??? ??? ?address varchar(32),
?? ??? ??? ?qq?? ?varchar(20),
?? ??? ??? ?email varchar(50)
?? ??? ?);

3. 開發(fā):


?? ?1. 環(huán)境搭建
?? ??? ?1. 創(chuàng)建數(shù)據(jù)庫環(huán)境
?? ??? ?2. 創(chuàng)建項目,導(dǎo)入需要的jar包

?? ?2. 編碼

4. 測試
5. 部署運維



User.java

package cn.itcast.domain;public class User {private int id;private String name;private String gender;private int age;private String address;private String qq;private String email;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}public String getQq() {return qq;}public void setQq(String qq) {this.qq = qq;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}@Overridepublic String toString() {return "User{" +"id=" + id +", name='" + name + '\'' +", gender='" + gender + '\'' +", age=" + age +", address='" + address + '\'' +", qq='" + qq + '\'' +", email='" + email + '\'' +'}';} }

UserListServlet.java

package cn.itcast.web.servlet;import cn.itcast.domain.User; import cn.itcast.service.UserService; import cn.itcast.service.impl.UserServiceImpl;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; import java.util.List;@WebServlet("/userListServlet") public class UserListServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1.調(diào)用UserService完成查詢UserService service = new UserServiceImpl();List<User> users = service.findAll();//2.將list存入request域request.setAttribute("users",users);//3.轉(zhuǎn)發(fā)到list.jsprequest.getRequestDispatcher("/list.jsp").forward(request,response);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request, response);} }

UserService.java

package cn.itcast.service;import cn.itcast.domain.User;import java.util.List;/*** 用戶管理的業(yè)務(wù)接口*/ public interface UserService {/*** 查詢所有用戶信息* @return*/public List<User> findAll(); }

UserServiceImpl.java

package cn.itcast.service.impl;import cn.itcast.dao.UserDao; import cn.itcast.dao.impl.UserDaoImpl; import cn.itcast.domain.User; import cn.itcast.service.UserService;import java.util.List;public class UserServiceImpl implements UserService {private UserDao dao = new UserDaoImpl();@Overridepublic List<User> findAll() {//調(diào)用Dao完成查詢return dao.findAll();} }

UserDao.java

package cn.itcast.dao;import cn.itcast.domain.User;import java.util.List;/*** 用戶操作的DAO*/ public interface UserDao {public List<User> findAll(); }

UserDaoImpl.java

package cn.itcast.dao.impl;import cn.itcast.dao.UserDao; import cn.itcast.domain.User; import cn.itcast.util.JDBCUtils; import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.JdbcTemplate;import java.util.List;public class UserDaoImpl implements UserDao {private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());@Overridepublic List<User> findAll() {//使用JDBC操作數(shù)據(jù)庫...//1.定義sqlString sql = "select * from user";List<User> users = template.query(sql, new BeanPropertyRowMapper<User>(User.class));return users;} }

JDBCUtils.java

package cn.itcast.util;import com.alibaba.druid.pool.DruidDataSourceFactory;import javax.sql.DataSource; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.SQLException; import java.util.Properties;/*** JDBC工具類 使用Durid連接池*/ public class JDBCUtils {private static DataSource ds ;static {try {//1.加載配置文件Properties pro = new Properties();//使用ClassLoader加載配置文件,獲取字節(jié)輸入流InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");pro.load(is);//2.初始化連接池對象ds = DruidDataSourceFactory.createDataSource(pro);} catch (IOException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}}/*** 獲取連接池對象*/public static DataSource getDataSource(){return ds;}/*** 獲取連接Connection對象*/public static Connection getConnection() throws SQLException {return ds.getConnection();} }

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>首頁</title><!-- 1. 導(dǎo)入CSS的全局樣式 --><link href="css/bootstrap.min.css" rel="stylesheet"><!-- 2. jQuery導(dǎo)入,建議使用1.9以上的版本 --><script src="js/jquery-2.1.0.min.js"></script><!-- 3. 導(dǎo)入bootstrap的js文件 --><script src="js/bootstrap.min.js"></script> </head> <body> <div align="center"><ahref="${pageContext.request.contextPath}/userListServlet" style="text-decoration:none;font-size:33px">查詢所有用戶信息</a> </div> </body> </html>

list.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><!DOCTYPE html> <!-- 網(wǎng)頁使用的語言 --> <html lang="zh-CN"> <head><!-- 指定字符集 --><meta charset="utf-8"><!-- 使用Edge最新的瀏覽器的渲染方式 --><meta http-equiv="X-UA-Compatible" content="IE=edge"><!-- viewport視口:網(wǎng)頁可以根據(jù)設(shè)置的寬度自動進(jìn)行適配,在瀏覽器的內(nèi)部虛擬一個容器,容器的寬度與設(shè)備的寬度相同。width: 默認(rèn)寬度與設(shè)備的寬度相同initial-scale: 初始的縮放比,為1:1 --><meta name="viewport" content="width=device-width, initial-scale=1"><!-- 上述3個meta標(biāo)簽*必須*放在最前面,任何其他內(nèi)容都*必須*跟隨其后! --><title>用戶信息管理系統(tǒng)</title><!-- 1. 導(dǎo)入CSS的全局樣式 --><link href="css/bootstrap.min.css" rel="stylesheet"><!-- 2. jQuery導(dǎo)入,建議使用1.9以上的版本 --><script src="js/jquery-2.1.0.min.js"></script><!-- 3. 導(dǎo)入bootstrap的js文件 --><script src="js/bootstrap.min.js"></script><style type="text/css">td, th {text-align: center;}</style> </head> <body> <div class="container"><h3 style="text-align: center">用戶信息列表</h3><table border="1" class="table table-bordered table-hover"><tr class="success"><th>編號</th><th>姓名</th><th>性別</th><th>年齡</th><th>籍貫</th><th>QQ</th><th>郵箱</th><th>操作</th></tr><c:forEach items="${users}" var="user" varStatus="s"><tr><td>${s.count}</td><td>${user.name}</td><td>${user.gender}</td><td>${user.age}</td><td>${user.address}</td><td>${user.qq}</td><td>${user.email}</td><td><a class="btn btn-default btn-sm" href="update.html">修改</a>&nbsp;<a class="btn btn-default btn-sm" href="">刪除</a></td></tr></c:forEach><tr><td colspan="8" align="center"><a class="btn btn-primary" href="add.html">添加聯(lián)系人</a></td></tr></table> </div> </body> </html>

?

總結(jié)

以上是生活随笔為你收集整理的案例:用户信息列表展示||1. 需求 2. 设计 3. 开发4. 测试 5. 部署运维的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美一级做a爰片免费视频 成人激情在线观看 | 国产1区2区3区中文字幕 | 对白超刺激精彩粗话av | 拔插拔插华人 | 欧美深夜福利 | 在线免费观看污 | 亚洲三级电影网站 | 天堂最新 | www久久 | jizz网站 | 四虎少妇做爰免费视频网站四 | 亚洲欧美在线一区二区 | 久久男人的天堂 | 激情一级片 | 一本大道综合伊人精品热热 | 欧美日韩在线国产 | 亚洲精品电影在线观看 | 天天操天天撸 | 欧美老熟妇乱大交xxxxx | 国产精品免费久久 | 九草网 | 天躁夜夜躁狼狠躁 | 国产精品乱轮 | 国产成人精品123区免费视频 | 国产一区二区三区在线视频 | 精品无码一区二区三区爱欲 | 日本xxxx在线观看 | 激情综合小说 | 深夜久久| 成人无码精品1区2区3区免费看 | 99精品视频免费看 | 成人激情社区 | 好吊色视频988gao在线观看 | 国产不雅视频 | 国产一级片麻豆 | 高h免费视频 | 欧美另类在线观看 | 亚洲一区二区三区中文字幕 | 日本a天堂 | 网站免费黄色 | 亚洲欧美日韩精品色xxx | 向着小小的花蕾绽放 | 日韩中文一区二区 | 欧美激情18p | 日韩欧美在线视频免费观看 | 超碰97免费在线 | 黄页网站在线看 | 在线成人黄色 | 亚洲日本成人 | 香蕉啪啪网 | 欧美日韩第一区 | 丰满人妻一区二区三区精品高清 | 久久久久一区二区 | 天天综合天天添夜夜添狠狠添 | 少妇无码吹潮 | 白嫩白嫩国产精品 | 性中国古装videossex | 亚洲毛片精品 | 91免费高清在线观看 | 乱色视频 | 偷偷操av | 激情五月婷婷色 | 国产精品第13页 | 天天操天天操 | 8050午夜一级毛片久久亚洲欧 | 极品人妻一区二区 | 免费成年人视频 | 国产一区二区三区乱码 | 中文字幕色网 | 亚洲制服在线观看 | 国产超碰精品 | 日本在线视频播放 | 中文在线字幕免费观看 | 男女交性视频播放 | 中文字幕第一 | 最近中文字幕一区二区 | 国产不卡视频在线 | 人人射人人 | 午夜精品区 | 国产免费午夜 | 国产精品成久久久久三级 | 男男毛片 | 亚洲av无码精品色午夜 | 色综合av在线 | 国产又粗又黄视频 | 无码人妻精品丰满熟人区 | 亚洲国产97 | 国产又粗又大又硬 | 国产高清视频免费在线观看 | 人成在线观看 | 国产91丝袜在线播放0 | 久久黄网站 | 亚洲最大中文字幕 | 97se亚洲国产综合在线 | 黄色录像毛片 | 草久久久久 | 国产色一区二区 | 中国老太婆性视频 | 一区二区欧美日韩 |