JavaWeb-综合案例(用户信息)-学习笔记01【列表查询】

分手后的思念是犯贱 2022-10-29 15:35 243阅读 0赞
  • Java后端 学习路线 笔记汇总表【黑马程序员】
  1. JavaWeb-综合案例(用户信息)-学习笔记01【列表查询】
  2. JavaWeb-综合案例(用户信息)-学习笔记02【登录功能】
  3. JavaWeb-综合案例(用户信息)-学习笔记03【添加删除修改功能】
  4. JavaWeb-综合案例(用户信息)-学习笔记04【删除选中功能】
  5. JavaWeb-综合案例(用户信息)-学习笔记05【分页查询功能】
  6. JavaWeb-综合案例(用户信息)-学习笔记06【复杂条件查询功能】

目录

三层架构:软件设计架构

案例:用户信息列表展示

步骤分析

案例资料

jar包

配置文件

页面

数据库设计

列表查询分析

案例效果

案例代码

druid.properties

package cn.itcast.dao;

UserDaoImpl.java

UserDao.java

package cn.itcast.domain;

User.java

package cn.itcast.service;

UserServiceImpl.java

UserService.java

package cn.itcast.util;

JDBCUtils.java

package cn.itcast.web;

UserListServlet.java

web页面

index.jsp

list.jsp

index.html

add.html

list.html

login.html

update.html


三层架构:软件设计架构

  1. 界面层(表示层):用户看的得界面。用户可以通过界面上的组件和服务器进行交互。
  2. 业务逻辑层:处理业务逻辑的。
  3. 数据访问层:操作数据存储文件。

20210216114237931.png 三层架构

案例:用户信息列表展示

步骤分析

  1. 需求:用户信息的增删改查操作
  2. 设计:
    1. 技术选型:Servlet + JSP + MySQL + JDBCTempleat + Duird + BeanUtilS + tomcat
    2. 数据库设计:
      create database day17; — 创建数据库
      use day17; — 使用数据库
      create table user( — 创建表
      1. id int primary key auto\_increment,
      2. name varchar(20) not null,
      3. gender varchar(5),
      4. age int,
      5. address varchar(32),
      6. qq varchar(20),
      7. email varchar(50)
      );
  3. 开发:
    1. 环境搭建
      1. 创建数据库环境
      2. 创建项目,导入需要的jar包
    2. 编码
  4. 测试
  5. 部署运维

案例资料

20210216114833393.png

jar包

20210216114857723.png

配置文件

20210216114942261.png

页面

20210216115004474.png

数据库设计

user表数据:

INSERT INTO `user`(`id`,`name`,`gender`,`age`,`address`,`qq`,`email`) VALUES (1,’张三’,’男’,13,’陕西’,’12345’,’zhangsan@itcast.cn’);
INSERT INTO `user`(`id`,`name`,`gender`,`age`,`address`,`qq`,`email`) VALUES (2,’李四’,’女’,15,’北京’,’88888’,’ls@itcast.cn’);

20210216105152899.png 20210216114614883.png

列表查询分析

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDk0OTEzNQ_size_16_color_FFFFFF_t_70 列表查询分析

案例效果

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDk0OTEzNQ_size_16_color_FFFFFF_t_70 1

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDk0OTEzNQ_size_16_color_FFFFFF_t_70 2

案例代码

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDk0OTEzNQ_size_16_color_FFFFFF_t_70 3 20210216115805265.png

druid.properties

  1. driverClassName=com.mysql.jdbc.Driver
  2. url=jdbc:mysql:///day17
  3. username=root
  4. password=root
  5. # 初始化连接数量
  6. initialSize=5
  7. # 最大连接数
  8. maxActive=10
  9. # 最大等待时间
  10. maxWait=3000

package cn.itcast.dao;

UserDaoImpl.java

  1. package cn.itcast.dao.impl;
  2. import cn.itcast.dao.UserDao;
  3. import cn.itcast.domain.User;
  4. import cn.itcast.util.JDBCUtils;
  5. import org.springframework.jdbc.core.BeanPropertyRowMapper;
  6. import org.springframework.jdbc.core.JdbcTemplate;
  7. import java.util.List;
  8. public class UserDaoImpl implements UserDao {
  9. private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());
  10. @Override
  11. public List<User> findAll() {
  12. //使用JDBC操作数据库...
  13. //1.定义sql
  14. String sql = "select * from user";
  15. List<User> users = template.query(sql, new BeanPropertyRowMapper<User>(User.class));
  16. return users;
  17. }
  18. }

UserDao.java

  1. package cn.itcast.dao;
  2. import cn.itcast.domain.User;
  3. import java.util.List;
  4. /**
  5. * 用户操作的DAO
  6. */
  7. public interface UserDao {
  8. public List<User> findAll();
  9. }

package cn.itcast.domain;

User.java

  1. package cn.itcast.domain;
  2. public class User {
  3. private int id;
  4. private String name;
  5. private String gender;
  6. private int age;
  7. private String address;
  8. private String qq;
  9. private String email;
  10. public int getId() {
  11. return id;
  12. }
  13. public void setId(int id) {
  14. this.id = id;
  15. }
  16. public String getName() {
  17. return name;
  18. }
  19. public void setName(String name) {
  20. this.name = name;
  21. }
  22. public String getGender() {
  23. return gender;
  24. }
  25. public void setGender(String gender) {
  26. this.gender = gender;
  27. }
  28. public int getAge() {
  29. return age;
  30. }
  31. public void setAge(int age) {
  32. this.age = age;
  33. }
  34. public String getAddress() {
  35. return address;
  36. }
  37. public void setAddress(String address) {
  38. this.address = address;
  39. }
  40. public String getQq() {
  41. return qq;
  42. }
  43. public void setQq(String qq) {
  44. this.qq = qq;
  45. }
  46. public String getEmail() {
  47. return email;
  48. }
  49. public void setEmail(String email) {
  50. this.email = email;
  51. }
  52. @Override
  53. public String toString() {
  54. return "User{" +
  55. "id=" + id +
  56. ", name='" + name + '\'' +
  57. ", gender='" + gender + '\'' +
  58. ", age=" + age +
  59. ", address='" + address + '\'' +
  60. ", qq='" + qq + '\'' +
  61. ", email='" + email + '\'' +
  62. '}';
  63. }
  64. }

package cn.itcast.service;

UserServiceImpl.java

  1. package cn.itcast.service.impl;
  2. import cn.itcast.dao.UserDao;
  3. import cn.itcast.dao.impl.UserDaoImpl;
  4. import cn.itcast.domain.User;
  5. import cn.itcast.service.UserService;
  6. import java.util.List;
  7. public class UserServiceImpl implements UserService {
  8. private UserDao dao = new UserDaoImpl();
  9. @Override
  10. public List<User> findAll() {
  11. //调用Dao完成查询
  12. return dao.findAll();
  13. }
  14. }

UserService.java

  1. package cn.itcast.service;
  2. import cn.itcast.domain.User;
  3. import java.util.List;
  4. /**
  5. * 用户管理的业务接口
  6. */
  7. public interface UserService {
  8. /**
  9. * 查询所有用户信息
  10. *
  11. * @return
  12. */
  13. public List<User> findAll();
  14. }

package cn.itcast.util;

JDBCUtils.java

  1. package cn.itcast.util;
  2. import com.alibaba.druid.pool.DruidDataSourceFactory;
  3. import javax.sql.DataSource;
  4. import java.io.IOException;
  5. import java.io.InputStream;
  6. import java.sql.Connection;
  7. import java.sql.SQLException;
  8. import java.util.Properties;
  9. /**
  10. * JDBC工具类 使用Durid连接池
  11. */
  12. public class JDBCUtils {
  13. private static DataSource ds;
  14. static {
  15. try {
  16. //1.加载配置文件
  17. Properties pro = new Properties();
  18. //使用ClassLoader加载配置文件,获取字节输入流
  19. InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");
  20. pro.load(is);
  21. //2.初始化连接池对象
  22. ds = DruidDataSourceFactory.createDataSource(pro);
  23. } catch (IOException e) {
  24. e.printStackTrace();
  25. } catch (Exception e) {
  26. e.printStackTrace();
  27. }
  28. }
  29. /**
  30. * 获取连接池对象
  31. */
  32. public static DataSource getDataSource() {
  33. return ds;
  34. }
  35. /**
  36. * 获取连接Connection对象
  37. */
  38. public static Connection getConnection() throws SQLException {
  39. return ds.getConnection();
  40. }
  41. }

package cn.itcast.web;

UserListServlet.java

  1. package cn.itcast.web.servlet;
  2. import cn.itcast.domain.User;
  3. import cn.itcast.service.UserService;
  4. import cn.itcast.service.impl.UserServiceImpl;
  5. import javax.servlet.ServletException;
  6. import javax.servlet.annotation.WebServlet;
  7. import javax.servlet.http.HttpServlet;
  8. import javax.servlet.http.HttpServletRequest;
  9. import javax.servlet.http.HttpServletResponse;
  10. import java.io.IOException;
  11. import java.util.List;
  12. @WebServlet("/userListServlet")
  13. public class UserListServlet extends HttpServlet {
  14. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  15. //1.调用UserService完成查询
  16. UserService service = new UserServiceImpl();
  17. List<User> users = service.findAll();
  18. //2.将list存入request域
  19. request.setAttribute("users", users);
  20. //3.转发到list.jsp
  21. request.getRequestDispatcher("/list.jsp").forward(request, response);
  22. }
  23. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  24. this.doPost(request, response);
  25. }
  26. }

web页面

index.jsp

  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <!DOCTYPE html>
  3. <html lang="zh-CN">
  4. <head>
  5. <meta charset="utf-8"/>
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>首页</title>
  9. <!-- 1. 导入CSS的全局样式 -->
  10. <link href="css/bootstrap.min.css" rel="stylesheet">
  11. <!-- 2. jQuery导入,建议使用1.9以上的版本 -->
  12. <script src="js/jquery-2.1.0.min.js"></script>
  13. <!-- 3. 导入bootstrap的js文件 -->
  14. <script src="js/bootstrap.min.js"></script>
  15. <script type="text/javascript">
  16. </script>
  17. </head>
  18. <body>
  19. <div align="center">
  20. <a href="${pageContext.request.contextPath}/userListServlet" style="text-decoration:none;font-size:33px">查询所有用户信息</a>
  21. </div>
  22. </body>
  23. </html>

list.jsp

  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  3. <!DOCTYPE html>
  4. <!-- 网页使用的语言 -->
  5. <html lang="zh-CN">
  6. <head>
  7. <!-- 指定字符集 -->
  8. <meta charset="utf-8">
  9. <!-- 使用Edge最新的浏览器的渲染方式 -->
  10. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  11. <!-- viewport视口:网页可以根据设置的宽度自动进行适配,在浏览器的内部虚拟一个容器,容器的宽度与设备的宽度相同。
  12. width: 默认宽度与设备的宽度相同
  13. initial-scale: 初始的缩放比,为1:1 -->
  14. <meta name="viewport" content="width=device-width, initial-scale=1">
  15. <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
  16. <title>用户信息管理系统</title>
  17. <!-- 1. 导入CSS的全局样式 -->
  18. <link href="css/bootstrap.min.css" rel="stylesheet">
  19. <!-- 2. jQuery导入,建议使用1.9以上的版本 -->
  20. <script src="js/jquery-2.1.0.min.js"></script>
  21. <!-- 3. 导入bootstrap的js文件 -->
  22. <script src="js/bootstrap.min.js"></script>
  23. <style type="text/css">
  24. td, th {
  25. text-align: center;
  26. }
  27. </style>
  28. </head>
  29. <body>
  30. <div class="container">
  31. <h3 style="text-align: center">用户信息列表</h3>
  32. <table border="1" class="table table-bordered table-hover">
  33. <tr class="success">
  34. <th>编号</th>
  35. <th>姓名</th>
  36. <th>性别</th>
  37. <th>年龄</th>
  38. <th>籍贯</th>
  39. <th>QQ</th>
  40. <th>邮箱</th>
  41. <th>操作</th>
  42. </tr>
  43. <c:forEach items="${users}" var="user" varStatus="s">
  44. <tr>
  45. <td>${s.count}</td>
  46. <td>${user.name}</td>
  47. <td>${user.gender}</td>
  48. <td>${user.age}</td>
  49. <td>${user.address}</td>
  50. <td>${user.qq}</td>
  51. <td>${user.email}</td>
  52. <td><a class="btn btn-default btn-sm" href="update.html">修改</a> <a class="btn btn-default btn-sm" href="">删除</a></td>
  53. </tr>
  54. </c:forEach>
  55. <tr>
  56. <td colspan="8" align="center"><a class="btn btn-primary" href="add.html">添加联系人</a></td>
  57. </tr>
  58. </table>
  59. </div>
  60. </body>
  61. </html>

index.html

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="utf-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
  6. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  7. <title>首页</title>
  8. <!-- 1. 导入CSS的全局样式 -->
  9. <link href="css/bootstrap.min.css" rel="stylesheet">
  10. <!-- 2. jQuery导入,建议使用1.9以上的版本 -->
  11. <script src="js/jquery-2.1.0.min.js"></script>
  12. <!-- 3. 导入bootstrap的js文件 -->
  13. <script src="js/bootstrap.min.js"></script>
  14. <script type="text/javascript">
  15. </script>
  16. </head>
  17. <body>
  18. <div align="center">
  19. <a href="list.html" style="text-decoration:none;font-size:33px">查询所有用户信息</a>
  20. </div>
  21. </body>
  22. </html>

add.html

  1. <!-- HTML5文档-->
  2. <!DOCTYPE html>
  3. <!-- 网页使用的语言 -->
  4. <html lang="zh-CN">
  5. <head>
  6. <!-- 指定字符集 -->
  7. <meta charset="utf-8">
  8. <!-- 使用Edge最新的浏览器的渲染方式 -->
  9. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  10. <!-- viewport视口:网页可以根据设置的宽度自动进行适配,在浏览器的内部虚拟一个容器,容器的宽度与设备的宽度相同。
  11. width: 默认宽度与设备的宽度相同
  12. initial-scale: 初始的缩放比,为1:1 -->
  13. <meta name="viewport" content="width=device-width, initial-scale=1">
  14. <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
  15. <title>添加用户</title>
  16. <!-- 1. 导入CSS的全局样式 -->
  17. <link href="css/bootstrap.min.css" rel="stylesheet">
  18. <!-- 2. jQuery导入,建议使用1.9以上的版本 -->
  19. <script src="js/jquery-2.1.0.min.js"></script>
  20. <!-- 3. 导入bootstrap的js文件 -->
  21. <script src="js/bootstrap.min.js"></script>
  22. </head>
  23. <body>
  24. <div class="container">
  25. <center><h3>添加联系人页面</h3></center>
  26. <form action="" method="post">
  27. <div class="form-group">
  28. <label for="name">姓名:</label>
  29. <input type="text" class="form-control" id="name" name="name" placeholder="请输入姓名">
  30. </div>
  31. <div class="form-group">
  32. <label>性别:</label>
  33. <input type="radio" name="sex" value="男" checked="checked"/>
  34. <input type="radio" name="sex" value="女"/>
  35. </div>
  36. <div class="form-group">
  37. <label for="age">年龄:</label>
  38. <input type="text" class="form-control" id="age" name="age" placeholder="请输入年龄">
  39. </div>
  40. <div class="form-group">
  41. <label for="address">籍贯:</label>
  42. <select name="address" class="form-control" id="jiguan">
  43. <option value="广东">广东</option>
  44. <option value="广西">广西</option>
  45. <option value="湖南">湖南</option>
  46. </select>
  47. </div>
  48. <div class="form-group">
  49. <label for="qq">QQ:</label>
  50. <input type="text" class="form-control" name="qq" placeholder="请输入QQ号码"/>
  51. </div>
  52. <div class="form-group">
  53. <label for="email">Email:</label>
  54. <input type="text" class="form-control" name="email" placeholder="请输入邮箱地址"/>
  55. </div>
  56. <div class="form-group" style="text-align: center">
  57. <input class="btn btn-primary" type="submit" value="提交"/>
  58. <input class="btn btn-default" type="reset" value="重置"/>
  59. <input class="btn btn-default" type="button" value="返回"/>
  60. </div>
  61. </form>
  62. </div>
  63. </body>
  64. </html>

list.html

  1. <!DOCTYPE html>
  2. <!-- 网页使用的语言 -->
  3. <html lang="zh-CN">
  4. <head>
  5. <!-- 指定字符集 -->
  6. <meta charset="utf-8">
  7. <!-- 使用Edge最新的浏览器的渲染方式 -->
  8. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  9. <!-- viewport视口:网页可以根据设置的宽度自动进行适配,在浏览器的内部虚拟一个容器,容器的宽度与设备的宽度相同。
  10. width: 默认宽度与设备的宽度相同
  11. initial-scale: 初始的缩放比,为1:1 -->
  12. <meta name="viewport" content="width=device-width, initial-scale=1">
  13. <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
  14. <title>用户信息管理系统</title>
  15. <!-- 1. 导入CSS的全局样式 -->
  16. <link href="css/bootstrap.min.css" rel="stylesheet">
  17. <!-- 2. jQuery导入,建议使用1.9以上的版本 -->
  18. <script src="js/jquery-2.1.0.min.js"></script>
  19. <!-- 3. 导入bootstrap的js文件 -->
  20. <script src="js/bootstrap.min.js"></script>
  21. <style type="text/css">
  22. td, th {
  23. text-align: center;
  24. }
  25. </style>
  26. </head>
  27. <body>
  28. <div class="container">
  29. <h3 style="text-align: center">用户信息列表</h3>
  30. <table border="1" class="table table-bordered table-hover">
  31. <tr class="success">
  32. <th>编号</th>
  33. <th>姓名</th>
  34. <th>性别</th>
  35. <th>年龄</th>
  36. <th>籍贯</th>
  37. <th>QQ</th>
  38. <th>邮箱</th>
  39. <th>操作</th>
  40. </tr>
  41. <tr>
  42. <td>1</td>
  43. <td>张三</td>
  44. <td></td>
  45. <td>20</td>
  46. <td>广东</td>
  47. <td>44444222</td>
  48. <td>zs@qq.com</td>
  49. <td><a class="btn btn-default btn-sm" href="update.html">修改</a> <a class="btn btn-default btn-sm" href="">删除</a></td>
  50. </tr>
  51. <tr>
  52. <td>2</td>
  53. <td>张三</td>
  54. <td></td>
  55. <td>20</td>
  56. <td>广东</td>
  57. <td>44444222</td>
  58. <td>zs@qq.com</td>
  59. <td><a class="btn btn-default btn-sm" href="update.html">修改</a> <a class="btn btn-default btn-sm" href="">删除</a></td>
  60. </tr>
  61. <tr>
  62. <td>3</td>
  63. <td>张三</td>
  64. <td></td>
  65. <td>20</td>
  66. <td>广东</td>
  67. <td>44444222</td>
  68. <td>zs@qq.com</td>
  69. <td><a class="btn btn-default btn-sm" href="update.html">修改</a> <a class="btn btn-default btn-sm" href="">删除</a></td>
  70. </tr>
  71. <tr>
  72. <td>4</td>
  73. <td>张三</td>
  74. <td></td>
  75. <td>20</td>
  76. <td>广东</td>
  77. <td>44444222</td>
  78. <td>zs@qq.com</td>
  79. <td><a class="btn btn-default btn-sm" href="update.html">修改</a> <a class="btn btn-default btn-sm" href="">删除</a></td>
  80. </tr>
  81. <tr>
  82. <td>5</td>
  83. <td>张三</td>
  84. <td></td>
  85. <td>20</td>
  86. <td>广东</td>
  87. <td>44444222</td>
  88. <td>zs@qq.com</td>
  89. <td><a class="btn btn-default btn-sm" href="update.html">修改</a> <a class="btn btn-default btn-sm" href="">删除</a></td>
  90. </tr>
  91. <tr>
  92. <td colspan="8" align="center"><a class="btn btn-primary" href="add.html">添加联系人</a></td>
  93. </tr>
  94. </table>
  95. </div>
  96. </body>
  97. </html>

login.html

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="utf-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
  6. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  7. <title>管理员登录</title>
  8. <!-- 1. 导入CSS的全局样式 -->
  9. <link href="css/bootstrap.min.css" rel="stylesheet">
  10. <!-- 2. jQuery导入,建议使用1.9以上的版本 -->
  11. <script src="js/jquery-2.1.0.min.js"></script>
  12. <!-- 3. 导入bootstrap的js文件 -->
  13. <script src="js/bootstrap.min.js"></script>
  14. <script type="text/javascript">
  15. </script>
  16. </head>
  17. <body>
  18. <div class="container" style="width: 400px;">
  19. <h3 style="text-align: center;">管理员登录</h3>
  20. <form action="login" method="post">
  21. <div class="form-group">
  22. <label for="user">用户名:</label>
  23. <input type="text" name="user" class="form-control" id="user" placeholder="请输入用户名"/>
  24. </div>
  25. <div class="form-group">
  26. <label for="password">密码:</label>
  27. <input type="password" name="password" class="form-control" id="password" placeholder="请输入密码"/>
  28. </div>
  29. <div class="form-inline">
  30. <label for="vcode">验证码:</label>
  31. <input type="text" name="verifycode" class="form-control" id="verifycode" placeholder="请输入验证码" style="width: 120px;"/>
  32. <a href="javascript:refreshCode()"><img src="vcode" title="看不清点击刷新" id="vcode"/></a>
  33. </div>
  34. <hr/>
  35. <div class="form-group" style="text-align: center;">
  36. <input class="btn btn btn-primary" type="submit" value="登录">
  37. </div>
  38. </form>
  39. <!-- 出错显示的信息框 -->
  40. <div class="alert alert-warning alert-dismissible" role="alert">
  41. <button type="button" class="close" data-dismiss="alert">
  42. <span>×</span></button>
  43. <strong>登录失败!</strong>
  44. </div>
  45. </div>
  46. </body>
  47. </html>

update.html

  1. <!DOCTYPE html>
  2. <!-- 网页使用的语言 -->
  3. <html lang="zh-CN">
  4. <head>
  5. <base href="<%=basePath%>"/>
  6. <!-- 指定字符集 -->
  7. <meta charset="utf-8">
  8. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  9. <meta name="viewport" content="width=device-width, initial-scale=1">
  10. <title>修改用户</title>
  11. <link href="css/bootstrap.min.css" rel="stylesheet">
  12. <script src="js/jquery-2.1.0.min.js"></script>
  13. <script src="js/bootstrap.min.js"></script>
  14. </head>
  15. <body>
  16. <div class="container" style="width: 400px;">
  17. <h3 style="text-align: center;">修改联系人</h3>
  18. <form action="" method="post">
  19. <div class="form-group">
  20. <label for="name">姓名:</label>
  21. <input type="text" class="form-control" id="name" name="name" readonly="readonly" placeholder="请输入姓名"/>
  22. </div>
  23. <div class="form-group">
  24. <label>性别:</label>
  25. <input type="radio" name="sex" value="男"/>
  26. <input type="radio" name="sex" value="女"/>
  27. </div>
  28. <div class="form-group">
  29. <label for="age">年龄:</label>
  30. <input type="text" class="form-control" id="age" name="age" placeholder="请输入年龄"/>
  31. </div>
  32. <div class="form-group">
  33. <label for="address">籍贯:</label>
  34. <select name="address" class="form-control">
  35. <option value="广东">广东</option>
  36. <option value="广西">广西</option>
  37. <option value="湖南">湖南</option>
  38. </select>
  39. </div>
  40. <div class="form-group">
  41. <label for="qq">QQ:</label>
  42. <input type="text" class="form-control" name="qq" placeholder="请输入QQ号码"/>
  43. </div>
  44. <div class="form-group">
  45. <label for="email">Email:</label>
  46. <input type="text" class="form-control" name="email" placeholder="请输入邮箱地址"/>
  47. </div>
  48. <div class="form-group" style="text-align: center">
  49. <input class="btn btn-primary" type="submit" value="提交"/>
  50. <input class="btn btn-default" type="reset" value="重置"/>
  51. <input class="btn btn-default" type="button" value="返回"/>
  52. </div>
  53. </form>
  54. </div>
  55. </body>
  56. </html>
  1. 《醒世诗》明朝状元·罗殿

急急忙忙苦追求,寒寒暖暖度春秋。
朝朝暮暮营家计,昧昧昏昏为己谋。
是是非非何日了,烦烦恼恼几时休。
明明白白一条路,万万千千不肯修。

发表评论

表情:
评论列表 (有 0 条评论,243人围观)

还没有评论,来说两句吧...

相关阅读