欢迎来到Jsp编程课时十二——今天实现的目标是。@1将数据库的数据发送到浏览器。@2利用浏览器实现对数据库的增删改查操作。@3理解MVC三层架构的定义。(一)

简介: 欢迎来到Jsp编程课时十二——今天实现的目标是。@1将数据库的数据发送到浏览器。@2利用浏览器实现对数据库的增删改查操作。@3理解MVC三层架构的定义。(一)

完成项目会有以下的效果。

JSP第二十课:Mvc+Mysql+Servlect+Jsp实现在浏览器上对数据库的增删改查。


MVC全名是Model View Controller,

是 @@1模型(model)

@@2-视图(view)

@@3-控制器(controller)的缩写,

一种软件设计典范,

用一种业务逻辑、数据、界面显示分离的方法组织代码,

将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,

不需要重新编写业务逻辑。

MVC被独特的发展起来用于映射传统

的输入、处理和输出功能在一个逻辑

的图形化用户界面的结构中。

第一部分去分析MVC的两张图。

NO.one

如果我要在浏览器查找数据库的所有的数据,我改如何操作呢?

首先我们来分析上面的流程图。

第一步。首先你要在jsp中建立一张表格。用于显示数据库的所有数据。

第二步。当你运行项目时。你要想到一个问题。数据是在数据库中,而你的目标是要将数据库的数据在浏览器中显示。首先你要思考用什么方式存放数据。你可以用四大域,也可以用实体类。

第三步:进行流程分解。

@1项目运行经过的是过滤器,过滤器设置编码格式。

response.setContentType("text/html");
    response.setCharacterEncoding("UTF-8");
    request.setCharacterEncoding("UTF-8");
    chain.doFilter(request, response);

@2项目从过滤器出来后经过的是控制器,控制器接到用户发来的查询命令,而控制器完成不了。

于是控制器发送命令发给业务逻辑层中的接口,定义一个查询的方法。接口中定义的方法,要在实体类中实现。

所以逻辑层的接口将查询的命令发送给,业务逻辑层的实体类。而业务逻辑层完成不了查询任务。

于是,业务逻辑层的实体类将任务发送给数据反问层的接口。而数据反问层的接口实现不了查询这个要求。

在此之前你要将数据库连接好。

于是数据访问层的接口发送给数据访问层的实体类进行数据的查询工作。开始连接数据库。一般来说定义一个工具类用于连接数据库和关闭数据库。

  String sql="select * from tb_student2";
    return DBUtil.jt.queryForList(sql);

最后:查询的结果要进行。

@1数据库的数据查询完毕返回到数据访问层的实体类,数据访问层的实体类将结果返回到数据访问层的接口。

@2数据访问层接口将结果返回给逻辑层的实体类。

@3逻辑层的实体类将结果返回到逻辑层的接口。

@4逻辑层的接口结果返回给控制器。

@5控制器将查询的数据库的数据储存起来返回给浏览器。

//将从数据库中查询出来的数据存储至request
    session.setAttribute("students", oList);
    //请求转发跳转页面
    request.getRequestDispatcher("index.jsp").forward(request, response); 

NO.two

如果我在数据库增加一条或者几十条数据数据,我要求在浏览器中显示,我该如何去操作呢?

@1进行流程分解。(本人以删除一条数据为例)

用户在数据库中删除了一条数据。数据库将删除一条书籍信息返回给数据访问的实体类。数据访问实体类将删除一条数据信息返回给数据访问接口。


@2数据访问层接口将结果返回给逻辑层的实体类。

@3逻辑层的实体类将结果返回到逻辑层的接口。

@4逻辑层的接口结果返回给控制器。

@5控制器将删除一条数据信息返给浏览器。

@6浏览器进行查下操作,核对浏览器中的数据是否删除。

接下来的两个问题留给你们自行思考?

如果我在数据库增,删,改,查,任何一条或者几十条数据数据,我要求在浏览器中显示,我该如何去操作呢?

如果我在浏览器中的表格中增,删,改,查,任何一条或者几十条数据数据,我要求在数据库中显示,我该如何去操作呢?

代码实操。


上面是数据库的表单。

上面是项目构造图

上面是表格

上面是我增加的四条数据我们到数据库中看一下。


删我删除1001043这一条数据。

改。我修改最后2条数据,和第一条数据。

 

实现代码综合区。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title></title>
    <style>
    textarea{
      resize: none;
      outline: none;
      cursor: pointer;
      /*cursor: cell;
      cursor: crosshair;*/
    }
    input{
      color: #00BFFF;
      color: lightcoral;
    }
    </style>
  </head>
  <body>
    <form action="AA.htmll" method="get">
    用户名:<input type="text" autofocus="autofocus" placeholder="请输入用户名" name="usename"  multiple="multiple"><br>
    </label>
    用户手机号:<input type="text"  value="请输入用户手机号" autocomplete="off" autofocus="autofocus" name="telepon00000000
      enum"/><br>
    用户QQ号:<input type="text"  value="请输入用户QQ号" multiple="multiple" autofocus="autofocus"/><br>
    用微信号:<input type="text"  value="请输入用户微信号" autofocus="autofocus"/><br>
    用户身份证:<input type="text" placeholder="请输入用户身份证号"/><br>
    <label for="password">密码:</label><input type="password"  value="请输入密码"/><br>
    性别:<input type="radio" name="sex"/>男<input type="radio" name="sex"/>女<br>
    爱好:<input type="checkbox" checked="checked" >打游戏<input type="checkbox" >readingbook<input type="checkbox" >sleep<br>
    <input type="button" value="点击注册" /><br>
      <input type="color"  value="输入你的色彩"/><br>
      <input type="date" /><br>
      <input type="datetime" autocomplete="off"  /><br>
      <input type="datetime-local"  autocomplete="off" /><br>
      <input type="email" /><br>
      上传头像:<input type="file" / autocomplete="off" ><br>
      <input type="hidden" /><br>
      <input type="image"  src="img/img/bn (1).jpg"/ width="100px"><br>
      <input type="month" /><br>
      <input type="number"  autocomplete="off" /><br>
      <input type="radio" /><br>
      <input type="range" /><br>
      <input type="search" autocomplete="off"  /><br>
      <input type="week" /><br>
      <input type="url" /><br>
      <input type="time" /><br>
      <input type="submit" /><br>
      <input type="reset"  autocomplete="off" /><br>
      手机号:<input type="tel"  autocomplete="off" /><br>
        搜索  <input type="search" /><br>
      留言表单:<textarea name="" rows="" cols=""></textarea>
      <hr>
      <!--下拉表-->
      <select name="" multiple="multiple" size="4" required="required" >
        <option>1</option>
        <option>2</option>
        <option>3</option>
        <option>4</option>
        <option>5</option>
        <option>6</option>
      </select>
      </form>
      <h1><a href="AA.html" >返回顶部</a></h1>
<h1><a href=" ZhuCe.jsp" >返回界面</a></h1>
  </body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>增加学生信息</title>
</head>
<body>
<div align="center">
    <h3>增加学生信息</h3>
    <form action="AddStudentServlect" method="post" >
    姓名:<input type="text" name="name">
    年龄:<input type="number" name="age">
    性别:<input type="number" name="sex">
    <input type="submit" value="增加学生信息">
    </form>
    <img src="img/MVC三层架够图.png" style="height: 500px;width: 900px">
<img src="img/MVC三层架够图二.png" style="height: 500px;width: 900px">
<h1><a href=" ZhuCe.jsp" >返回界面</a></h1>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
<title>购物车</title>
<style>
table{
  width:600px;
  /* 表格边框 border:1 solid #007108;*/
  /* 边框重叠 border-collapse:collapse;*/
  border-radius:20px;
  background-color: lightcoral;/* 表格背景色 padding:5px;*/
  text-align:center; 
  }
  th{background-color:#00a40c;  /* 行名称背景色 */
      color:#FFF;/* 行名称文字颜色  border-color:#030;*/
      padding:5px;
      border-radius:20px;
    }
    td{  
     border-bottom:1px dashed #817865;
     border-radius:20px;
    }
</style>
</head>
<body>
<table id="list" border="0">
   <caption><h2>我的购物车</h2></caption>
  <tr>
    <th><label><input id="all" type="checkbox"  onclick="all_check()" />全选</label></th>
    <th>商品</th>
    <th>描述</th>
    <th>单价(元)</th>
    <th>数量</th>
  </tr>
  <tr>
    <td><input name="ic" type="checkbox" onclick="single_check()"  value="234"/></td>
    <td width="80"><img src="img/MVC三层架够图.png" style="height: 100px;width: 300px"></td>
    <td width="170" align="left"><a>新款春装韩版长款两件套连衣裙女名媛欧根纱长袖裙套装长裙</a></td>
    <td>699</td>
    <td>1</td>
  </tr>
   <tr>
    <td><input name="ic" type="checkbox" onclick="single_check()" /></td>
    <td width="80"><img src="img/MVC三层架够图.png" style="height: 100px;width: 300px"></td>
    <td width="170" align="left">新款女装夏修身高腰长款连衣裙女雪纺短袖裙名媛粉色收腰长裙</td>
    <td>399</td>
    <td>1</td>
  </tr>
   <tr>
    <td><input name="ic" type="checkbox" onclick="single_check()" /></td>
    <td width="80"><img src="img/MVC三层架够图.png" style="height: 100px;width: 300px"></td>
    <td width="170" align="left">新款棉麻衬衫女短袖白色衬衣亚麻纯色百搭宽松上衣</td>
    <td>268</td>
    <td>2</td>
  </tr>
  <tr>
    <td><input name="ic" type="checkbox" onclick="single_check()" /></td>
    <td width="80"><img src="img/MVC三层架够图.png" style="height: 100px;width: 300px"></td>
    <td width="170" align="left">新款棉麻衬衫女短袖白色衬衣亚麻纯色百搭宽松上衣</td>
    <td>268</td>
    <td>2</td>
  </tr>
  <tr>
    <td><input name="ic" type="checkbox" onclick="single_check()" /></td>
    <td width="80"><img src="img/MVC三层架够图.png" style="height: 100px;width: 300px"></td>
    <td width="170" align="left">新款棉麻衬衫女短袖白色衬衣亚麻纯色百搭宽松上衣</td>
    <td>268</td>
    <td>2</td>
  </tr>
  <tr>
    <td><input name="ic" type="checkbox" onclick="single_check()" /></td>
    <td width="80"><img src="img/MVC三层架够图.png" style="height: 100px;width: 300px"></td>
    <td width="170" align="left">新款棉麻衬衫女短袖白色衬衣亚麻纯色百搭宽松上衣</td>
    <td>268</td>
    <td>2</td>
  </tr>
 <h1><a href="  ZhuCe.jsp" >返回界面</a></h1> 
  <tr>
    <td  colspan="4"><span onclick="removeRow()">删除选中</span> </td><td><b>结算</b></td>
  </tr>
  </table>
  <script>
  function all_check()
   {
   var oInput=  document.getElementsByName("ic");
     for(i=0;i<oInput.length;i++)
      if(document.getElementById("all").checked==true)
    { oInput[i].checked=true;
    // alert(oInput[i].value);
    }
     else
      oInput[i].checked=false;
     }
  function   single_check()
  { var oInput=  document.getElementsByName("ic");
     var j=0;
       for(i=0;i<oInput.length;i++)
          if(oInput[i].checked==true)
        j++;
    if( j==oInput.length)
    document.getElementById("all").checked=true;
    else
     document.getElementById("all").checked=false;
    }
     function removeRow(){
       var cheObj=document.getElementsByName("ic");
       var taObj=document.getElementById("list");
       if(confirm("确定要删除么?"))
        for(var k=0;k<cheObj.length;k++){
       if(cheObj[k].checked){  
        taObj.deleteRow(k+1);
        k=-1;
        }
        }
     }
         var taObj=document.getElementById("list");
        for(var k=0;k<taObj.rows.length;k++){ 
        taObj.rows[k].onmouseover=function (){
        this.style.backgroundColor="#ddd";
        }
        taObj.rows[k].onmouseout=function (){
        this.style.backgroundColor="#d9ffdc";
        }
      }
  </script>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>学生信息对话列表</title>
<style type="text/css">
*{
/* background: linear-gradient(to right,red,pink,blue); */
background:white
font-size:30px;
font-weight: bold;
}
input{
           color: white; 
           font-weight: bold;
            padding-bottom:10px; 
            padding-top: 5px;  
            padding-left:10px;
            padding-right:10px;
            border-width: 0px;
}
.in1{
  background-color: green;
}
.in2{
  background-color: black;
}
.in3{
background-color: red;
}
</style>
</head>
<body>
  <!-- 使用表格展示从数据库中获取的所有学生信息 -->
  <div align="center">
    <table border="2" style="width: 800px;text-align: center;border-collapse: collapse;">
      <caption>学生信息列表</caption>
      <tr>
        <th>学号</th>
        <th>姓名</th>
        <th>年龄</th>
        <th>性别</th>
        <th>操作</th>
      </tr>
      <c:forEach items="${students}" var="stu" varStatus="v">
        <tr>
          <td>${stu.id}</td>
          <td>${stu.name}</td>
          <td>${stu.age}</td>
          <td>${stu.sex}</td>
          <td>
          <a href="addstudent.jsp"><input type="button" value="增加"  class="in1"></a>&nbsp;
          <a href="UpdateStudent.jsp?index=${v.count-1 }"><input type="button" value="修改" class="in2"></a>&nbsp;
          <a href="DeleteStudent?id=${stu.id }"><input type="button" value="删除" class="in3"></a>&nbsp;
          </td>
        </tr>
      </c:forEach>
    </table>
  </div>
  <img src="img/MVC三层架够图.png" style="height: 500px;width: 900px">
<img src="img/MVC三层架够图二.png" style="height: 500px;width: 900px">
<h3 style="color:white; background: black;">
MVC全名是Model View Controller,<br>
@@1模型(model)<br>
@@2-视图(view)<br>
@@3-控制器(controller)的缩写,<br>
一种软件设计典范,<br>
用一种业务逻辑、数据、界面显示分离的方法组织代码,<br>
将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,<br>
不需要重新编写业务逻辑。<br>
MVC被独特的发展起来用于映射传统<br>
的输入、处理和输出功能在一个逻辑<br>
的图形化用户界面的结构中。<br>
</h3>
  <h1><a href=" index.jsp" >返回顶部</a></h1>
  <h1><a href=" ZhuCe.jsp" >返回界面</a></h1>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style>
    *{
      text-align: center;
      align-content: center;
      margin: 30px;
      font-size: 30px;
      font-weight: 700;
      font-family: "微软雅黑";
      padding: 2px;
      color: black;
      /* background: linear-gradient(to right,red,pink,blue); */
    }
    article{
    }
   </style>
<title>登录页面</title>
</head>
<body>
<article>
      <h1>欢迎来到2021年个人学生信息管理登录界面</h1>
    <form action="ServlectDengLuLogic" method="post">
        用户名:<input type="text" name="user" id="text" maxlength="8"><br>
        QQ号:<input type='text'  name='qq'><br>
        密码:<input type='password' name='psd'><br>
<input type='checkbox' value='flase' checked='checked' name='ispsd'>记住密码&nbsp;&nbsp;    
    <input type='checkbox' value='true' name='islogin'>自动登录<br>
    <input type='submit' value='登录'><br>
    </form>
    </article>
    <h1><a href=" Login.jsp" >返回界面</a></h1>
      <h1><a href=" ZhuCe.jsp" >返回界面</a></h1>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style type="text/css">
* {
    margin: 0;
    padding: 0;
   background: white;
  /*  background: linear-gradient(to right,red,pink,blue); */
}
li {
    list-style: none;
}
left {
    width: 480px;
    float: left;
}
.header {
    width: 1040px;
    height: 100px;
    float: right;
}
.top {
    float:  right;
}
.main {
    width: 500px;
    margin: 0 auto;
}
.one h1 {
    font-size: 46px;
    font-weight: 400;
    margin-bottom: 20px;
}
.two {
    font-size: 20px;
    color: #333333;
    margin-bottom: 64px;
    float: left;
}
.there {
    float: right;
    margin-bottom: 64px;
}
.there a {
    font-size: 28px;
    text-decoration: none;
    color: #359eff;
}
.there a:hover {
    color: #094683;
}
.input-outer input {
    height: 50px;
    width:  200px;
    margin-bottom: 40px;
    border-radius: 10px;
    border: 1px solid #c1c1c1;
    color: #c1c1c1;
    font-size: 20px;
}
.input-outer span,
.input-phone span {
    font-size: 25px;
    text-align: center;
    line-height: 50px;
    color: #333333;
}
.input-type select {
  margin: auto;
    height: 50px;
    border-radius: 10px;
    border: 1px solid #c1c1c1;
    font-size: 20px;
    float: left;
}
.input-phone input {
     height: 50px;
   width:   200px;
    border-radius: 10px;
    border: 1px solid #c1c1c1;
    font-size: 20px;
    margin-left: 20px;
}
.input-qq input {
     height: 50px;
  width:  200px;
    border-radius: 10px;
    border: 1px solid #c1c1c1;
    font-size: 20px;
    margin-left: 20px;
}
.input-home input {
    height: 50px;
   width:   200px;
    border-radius: 10px;
    border: 1px solid #c1c1c1;
    font-size: 20px;
    margin-left: 20px;
}
.input-sex  input{
     height: 50px;
  width:  200px;
    border-radius: 10px;
    border: 1px solid #c1c1c1;
    font-size: 20px;
    margin-left: 20px;
}
.six p {
    color: #c1c1c1;
    font-size: 14px;
}
.sub input {
  align-content: center;
  text-align: center;
      height: 50px;
    width:  200px;
    margin: 40px 0;
    font-size: 20px;
    color: #ffffff;
    background-color: #3588ff;
    border: 1px solid #c1c1c1;
    border-radius: 10px;
}
.type-radio span {
  align-content: center;
  text-align: center;
    font-size: 14px;
    color: #c1c1c1;
}
.footer {
  align-content: center;
  text-align: center;
    margin: 40px 0;
    text-align: center;
    color: #c1c1c1;
    }
h1{
 /* text-shadow: 5px 5px 5px red; */
 color: red;
}
#code_input{
height: 50px;
width: 200px;
}
</style>
<title>注册页面</title>
</head>
<body>
<h1 style="background: black; color: red; font-weight: 900; text-align: center;">欢迎来到2021年个人学生注册界面</h1>
           <div style="align-content: center; text-align: center;">
            <article style="text-align: center; align-content: center; text-align: center;">
             <form action="ServlectZhuCe" method="post" >
             <div class="input-outer">
                  用户名:&nbsp;&nbsp;   <input type="text" name="user" id="text" maxlength="8" placeholder="请输入用户姓名" >
             </div>
         <div class="input-sex">
              输入性别&nbsp;&nbsp;
              男:<input type="radio" name="sex" id="" value="1" checked="checked" placeholder="请输入用户性别" />
      女:<input type="radio" name="sex" id="" value="0" checked="checked"  /> 
             </div> 
             <div class="input-qq">
                     QQ号:&nbsp;&nbsp;<input type="text" name="qq" maxlength="11" minlength="11">
                 </div>
             <div class="input-outer">
                  密码:&nbsp;&nbsp;<input type="password" name="psd" id="password" maxlength="16">
             </div>
                 <div class="input-phone">
                     手机号:&nbsp;&nbsp;<input type="text"  name="sj"   maxlength="11" minlength="11" >
                 </div>
                  <div class="input-home">
                     家庭地址:&nbsp;&nbsp;<input type="text"  name="home"   maxlength="11" minlength="11" >
                 </div>
                 <div class="six">
                     <p>可通过手机号找回密码</p>
                 </div>
           <div id="v_container" style="width: 200px;height: 100px; background: cyan; text-align: center; margin: auto;"></div>
    <input type="text" id="code_input" value="" placeholder="请输入图形验证码" height="200px" text-align: center; />
    <button id="my_button" >验证</button>
             <div class="sub">
                 <input type="submit" value="立即注册">
             </div>
             </form>
             </article>
             </div>
             <div class="type-radio">
                 <input type="radio" checked><span style="text-align: center;">同意开通QQ空间</span>
                 <br>
                 <input type="radio" checked><span style="text-align: center;">我已阅读并同意相关服务条款和隐私政策开始进行登录QQ页面</span>
             </div>
              <footer>
                <h1>这是QQ的注册页面</h1>
              </footer>
            <img src="img/MVC三层架够图.png" style="height: 500px;width: 900px">
<img src="img/MVC三层架够图二.png" style="height: 500px;width: 900px">
      <h1><a href=" ZhuCe.jsp" >返回界面</a></h1>
      <h1><a href=" Register.jsp" >返回顶部</a></h1>
     <script src="gVerify.js"></script>
  <script>
    var verifyCode = new GVerify("v_container");
    document.getElementById("my_button").onclick = function(){
      var res = verifyCode.validate(document.getElementById("code_input").value);
      if(res){
        alert("验证正确");
      }else{
        alert("验证码错误");
      }
    }
  </script>
</body>
</html>
<!DOCTYPE html>
<html>
<meta charset="UTF-8">
<body>
<style>
    *{
        color: #FF3333;
        background: #c3c3c3;
        font-size: 30px;
    }
</style>
<h22>JavaScript getTime()</h22>
<p>JavaScript 中的内部时钟从 1970 年 1 月 1 日午夜开始计算。</p>
<p>getTime() 函数返回从那时起的毫秒数:</p>
<p id="demo"></p>
<script>
    var d = new Date();
    document.getElementById("demo").innerHTML = d.getTime();
</script>
<hr>
<h22>JavaScript getFullYear()</h22>
<p>getFullYear() 方法返回日期的完整年:</p>
<p id="demo1"></p>
<script>
    var d = new Date();
    document.getElementById("demo1").innerHTML = d.getFullYear();
</script>
<hr>
<h22>JavaScript getMonth()</h22>
<p>getMonth()方法以 0 到 11 之间的数字返回日期的月份。</p>
<p>要获得正确的月份,您必须添加 1:</p>
<p id="demo2"></p>
<script>
    var d = new Date();
    document.getElementById("demo2").innerHTML = d.getMonth() + 1;
</script>
<hr>
<h22>JavaScript getDate()</h22>
<p>getDate() 方法以数字(1-31)返回日期的日:</p>
<p id="demo3"></p>
<script>
    var d = new Date();
    document.getElementById("demo3").innerHTML = d.getDate();
</script>
<hr>
<h22>JavaScript getHours()</h22>
<p>getHours() 方法以数字(0-23)返回日期的小时:</p>
<p id="demo4"></p>
<script>
    var d = new Date();
    document.getElementById("demo4").innerHTML = d.getHours();
</script>
<hr>
<h22>JavaScript getMinutes()</h22>
<p>getMinutes() 方法以数字(0-59)返回日期的分钟:</p>
<p id="demo5"></p>
<script>
    var d = new Date();
    document.getElementById("demo5").innerHTML = d.getMinutes();
</script>
<hr>
<h22>JavaScript getSeconds()</h22>
<p>getSeconds() 方法以数字(0-59)返回日期的秒:</p>
<p id="demo6"></p>
<script>
    var d = new Date();
    document.getElementById("demo6").innerHTML = d.getSeconds();
</script>
<hr>
<h22>JavaScript getMilliseconds()</h22>
<p>getMilliseconds() 方法以数字(0-999)的形式返回日期的毫秒数:</p>
<p id="demo7"></p>
<script>
    var d = new Date();
    document.getElementById("demo7").innerHTML = d.getMilliseconds();
</script>
<hr>
<h22>JavaScript getDay()</h22>
<p>getDay() 方法将周名作为数字返回:</p>
<p id="demo8"></p>
<script>
    var d = new Date();
    document.getElementById("demo8").innerHTML = d.getDay();
</script>
<hr>
<h22>JavaScript getDay()</h22>
<p>getDay() 方法将周名作为数字返回:</p>
<p>您可以使用数组来显示星期的名称:</p>
<p id="demo9"></p>
<script>
    var d = new Date();
    var days = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
    document.getElementById("demo9").innerHTML = days[d.getDay()];
</script>
<hr>
<!--<h12>getUTCDate() 等于 getDate(),但返回 UTC 日期
    getUTCDay() 等于 getDay(),但返回 UTC 日
    getUTCFullYear()  等于 getFullYear(),但返回 UTC 年
    getUTCHours() 等于 getHours(),但返回 UTC 小时
    getUTCMilliseconds()  等于 getMilliseconds(),但返回 UTC 毫秒
    getUTCMinutes() 等于 getMinutes(),但返回 UTC 分
    getUTCMonth() 等于 getMonth(),但返回 UTC 月
    getUTCSeconds() 等于 getSeconds(),但返回 UTC 秒
</h12>-->
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>修改学生</title>
</head>
<body>
  <div align="center">
    <h3>更新学生信息</h3>
    <!-- 通过主页上发送过来的下标 index -->
    <!-- 获取session对象中的集合 -->
    <form action="UpdateStudentServlet" method="post">
      <!-- 将学号隐藏在修改的表单页面上 -->
      <input type="hidden" value="${students[param.index].id }" name="id">
      姓名:<input type="text" value="${students[param.index].name }" name="name"><br>
      年龄:<input type="number" value="${students[param.index].age }" name="age"><br>
      <input type="submit" value="更新">
    </form>
  </div>
    <h1><a href=" ZhuCe.jsp" >返回界面</a></h1>
    <h1><a href=" UpdateStudent.jsp" >返回顶部</a></h1>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
*{
/* background: linear-gradient(to right,red,pink,blue); */
}
</style>
</head>
<body>
<h1 style="background: black; color: red; text-align: center;">欢迎来到学生信息管理注册登录界面</h1>
<hr>
<h1><a href="Register.jsp" >点击这里进行学生信息注册页面</a></h1>
<hr>
<h1><a href="HomeServletBook" >点击这里进入学生图书管理页面</a></h1>
<hr>
<h1><a href=" AA.html" >点击这里进入一些html5的回顾</a></h1>
<h1><a  href="TIime.html">当前的获取方式</a></h1>
<h1><a href=" ZhuCe.jsp" >返回顶部</a></h1>
<h1><a href=" ZhuCe.jsp" >返回界面</a></h1>
<img src="img/MVC三层架够图.png" style="height: 500px;width: 900px">
<img src="img/MVC三层架够图二.png" style="height: 500px;width: 900px">
</body>
</html>
相关文章
|
9月前
|
存储 监控 安全
360 企业安全浏览器基于阿里云数据库 SelectDB 版内核 Apache Doris 的数据架构升级实践
为了提供更好的日志数据服务,360 企业安全浏览器设计了统一运维管理平台,并引入 Apache Doris 替代了 Elasticsearch,实现日志检索与报表分析架构的统一,同时依赖 Doris 优异性能,聚合分析效率呈数量级提升、存储成本下降 60%....为日志数据的可视化和价值发挥提供了坚实的基础。
360 企业安全浏览器基于阿里云数据库 SelectDB 版内核 Apache Doris 的数据架构升级实践
|
9月前
|
自然语言处理 Java 数据库连接
掌握JSP页面编程:动态生成Web内容
【4月更文挑战第3天】Java Server Pages (JSP) 是一种用于创建动态Web内容的Java技术,它结合HTML并允许在页面中嵌入Java代码。JSP支持代码片段、表达式语言(EL)和JSTL标签库,简化动态内容生成。当服务器接收到请求时,执行JSP中的Java代码并将结果嵌入HTML返回给客户端。示例展示了如何显示当前日期和时间。JSP可与Servlet、JavaBeans、数据库等结合,用于构建功能丰富的交互式Web应用。
180 5
|
9月前
ssm使用全注解实现增删改查案例——showEmp.jsp
ssm使用全注解实现增删改查案例——showEmp.jsp
|
9月前
ssm使用全注解实现增删改查案例——showDept.jsp
ssm使用全注解实现增删改查案例——showDept.jsp
|
9月前
ssm使用全注解实现增删改查案例——updateEmp.jsp
ssm使用全注解实现增删改查案例——updateDept.jsp
|
9月前
ssm使用全注解实现增删改查案例——saveEmp.jsp
ssm使用全注解实现增删改查案例——saveEmp.jsp
|
4月前
|
Web App开发 SQL 数据库
使用 Python 解析火狐浏览器的 SQLite3 数据库
本文介绍如何使用 Python 解析火狐浏览器的 SQLite3 数据库,包括书签、历史记录和下载记录等。通过安装 Python 和 SQLite3,定位火狐数据库文件路径,编写 Python 脚本连接数据库并执行 SQL 查询,最终输出最近访问的网站历史记录。
72 4
|
4月前
|
NoSQL 前端开发 MongoDB
前端的全栈之路Meteor篇(三):运行在浏览器端的NoSQL数据库副本-MiniMongo介绍及其前后端数据实时同步示例
MiniMongo 是 Meteor 框架中的客户端数据库组件,模拟了 MongoDB 的核心功能,允许前端开发者使用类似 MongoDB 的 API 进行数据操作。通过 Meteor 的数据同步机制,MiniMongo 与服务器端的 MongoDB 实现实时数据同步,确保数据一致性,支持发布/订阅模型和响应式数据源,适用于实时聊天、项目管理和协作工具等应用场景。
101 0
|
6月前
|
Web App开发 JSON 数据格式
【Azure Developer】浏览器查看本地数据文件时遇见跨域问题(CORS)
【Azure Developer】浏览器查看本地数据文件时遇见跨域问题(CORS)
【Azure Developer】浏览器查看本地数据文件时遇见跨域问题(CORS)
|
7月前
|
Web App开发 JavaScript 前端开发
Chrome插件实现问题之最新的 Chrome 浏览器架构有什么新的改变吗
Chrome插件实现问题之最新的 Chrome 浏览器架构有什么新的改变吗