Web的Java开发基础分享——学生信息管理系统(二)

    代码仓库:https://github.com/KarezaC/StudentsInformationManagerSystem

emmmmm,坚持写博客真难啊,向哪些几百篇博文的博主大佬低头。

    接上一次,这次一定多坚持几天!

    第一件事情,把上次的index.html页面写成jsp的,为了在页面下方增加一个时间显示。代码如下:

<!--这里是welcome.jsp-->
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Date"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta name="viewport" content="width=device-width,initial-scale=1.0, 
              minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
        <title>欢迎0.0</title>
    </head>
    <body>
        <h1 align="center">欢迎使用学生管理系统</h1>
        <a href="login.jsp"><h2 align="center">点击进入</h2></a>
        <div align="center" style="width:100%; position:fixed; bottom:0;">
            <%!Date time = new Date();%>
            <%
                SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 E HH时mm分ss秒");
            %>
            <% out.println(sdf1.format(time));%>
        </div>
    </body>
</html>

效果:

好了,第二件事情,数据库连接即基本功能实现。

环境:mysql-8.0.11

使用mysql可视化工具Navicat

要连接数据库首先需要在数据库中建我们要用的库和表(这里我们不对mysql环境搭建经验做分享,如果有同学需要,博主愿意另写一篇专门分享经验的博文)

打开Navicat,建数据库test,再建表stulist,填入一些数据,如图:

OK!切回我们的NetBean,对上一次写的学生信息显示页面displayStuList.jsp进行完善。

完成数据库中学生信息的展示,效果如下:

代码如下:

<!--这里是pages文件夹里的displayStuList.jsp-->
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta name="viewport" content="width=device-width,initial-scale=1.0, 
              minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
        <title>学生信息</title>
    </head>
    <body>
        <%
            String driver = "com.mysql.jdbc.Driver";
            String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf-8"
                    + "&serverTimezone=UTC";
            String usr = "root";
            String password = "root";

            Class.forName(driver);
            Connection conn = DriverManager.getConnection(url, usr, password);
            String sqlString = "select * from StuList";
            PreparedStatement pstmt = conn.prepareStatement(sqlString);
            ResultSet rs = pstmt.executeQuery();
        %>
        <div align="right">欢迎你,<%=request.getParameter("username")%> 
            <a href="logout.jsp">退出</a>
        </div>
        <h2 align="center">学生信息列表</h2>
        <br>
        <table border=1 style="margin:auto">
            <tr>
                <td class="listTable">学号</td>
                <td class="listTable">姓名</td>
                <td class="listTable">性别</td>
                <td class="listTable">年龄</td>
                <td class="listTable">年级</td>
                <td id="profile">个人简介</td>
                <td id="operate">操作</td>
            </tr>
            <%
                while (rs.next()) {
                    out.println("<tr>");
                    out.println("<td>" + rs.getInt("id") + "</td>");
                    out.println("<td>" + rs.getString("name") + "</td>");
                    out.println("<td>" + rs.getString("sex") + "</td>");
                    out.println("<td>" + rs.getInt("age") + "</td>");
                    out.println("<td>" + rs.getString("grade") + "</td>");
                    out.println("<td>" + rs.getString("introduce") + "</td>");
                    out.println("<td><a href='www.baidu.com'>删除</a></td>");
                    out.println("</tr>");
                }
            %>
        </table>
    </body>
</html>

这里我们先分享一下第一个<%%>之间的代码。

            String driver = "com.mysql.jdbc.Driver";
            String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf-8"
                    + "&serverTimezone=UTC";
            String usr = "root";
            String password = "root";

上面这4个东西是什么呢?如果你还没有连接数据库的基础,那我们不妨来一起做一个假设。

假设你现在需要使用手机登录QQ~

driver就相当与你的手机,是你完成登录QQ的根本;url则是你手机中QQ这个app所放的位置,比如你的QQ放在主界面第三页第一排第二个,那么url就是描述这个路径的,usr和password则相对好理解,就是我们登录QQ的账号和密码。四者缺一不可。

接下来我们继续这个例子,

打开手机就是‘Class.forName(driver);’;(这里是步骤1)

完成上面找到QQ图标并打开输入账号密码就是‘Connection conn = DriverManager.getConnection(url, usr, password);’;(这里是步骤2,等于创建了一个工具,未执行这一步骤)

假设我们登录QQ是为了查找一个“honey”这个人,String sqlString = "select * from StuList";这一句代码就是描述查找“honey"这个动作的;(这里是步骤3,等于创建了一个工具,未执行这一步骤)

PreparedStatement pstmt = conn.prepareStatement(sqlString);

上面这句即把步骤2和3组装在一起变成一个步骤更复杂的大工具bigtool。

我们的目的是为了找到“honey”,并把它显示出来,

而ResultSet rs = pstmt.executeQuery();就是创建一个容器rs,把大工具bigtool执行的结果装进去。

至于显示出来的部分,在第二个<%%>

            <%
                while (rs.next()) {
                    out.println("<tr>");
                    out.println("<td>" + rs.getInt("id") + "</td>");
                    out.println("<td>" + rs.getString("name") + "</td>");
                    out.println("<td>" + rs.getString("sex") + "</td>");
                    out.println("<td>" + rs.getInt("age") + "</td>");
                    out.println("<td>" + rs.getString("grade") + "</td>");
                    out.println("<td>" + rs.getString("introduce") + "</td>");
                    out.println("<td><a href='www.baidu.com'>删除</a></td>");
                    out.println("</tr>");
                }
            %>

好了,先到这里,下一篇博客我们分享一下,数据库的增加和删除功能~

学生信息管理系统(3),传送门:点此

 

posted @ 2018-07-07 14:25  Kareza  阅读(190)  评论(0编辑  收藏  举报