前端基础

HTML

input输入框

  • type属性: 文本框, 单选框, 复选框, 下拉列表, 提交按钮, 重置按钮

get请求和post请求

get请求会将数据添加到url中, 明文数据不安全

post请求一般用于表单数据提交

当属性名和属性值相同时, 可以省略属性值

<input name></input><input name = "name"></input>的含义相同

CSS

  • 标签名p
  • 类样式.–>class属性
  • id样式#–>id属性

style属性: 嵌入式样式表, 一般都是设置为外部样式表

引入外部样式表<link ref = "stylesheet" href="css/demo.css">

JS

JavaScript的变量类型

  1. 数值类型: number
  2. 字符串类型: string
  3. 对象类型: object
  4. 布尔类型: boolean
  5. 函数类型: function

JavaScript里面特殊的值

  1. undefined: 所有js变量未赋予初始值的时候
  2. null: 空值
  3. NAN: 非数字, 非数值

关系运算符

  1. ===全等于: 会判断数据类型
  2. ==等于

逻辑运算符

  1. &&: 返回第一个为假的值或最后一个为真的值

JavaWeb

  1. 标签

    1.  <a></a> : 超链接
       <a href="http://www.baidu.com" target="_blank">百度</a>
       target="_blank"表示在新窗口打开,target="_self"表示覆盖当前页面
    2.  <img></img> : 图片
       <img src="http://..." width="" height="" alt="图片资源不可显示"/>
       alt="图片资源找不可显示" : 表示当图片资源找不到的时候用来代替的文本内容
       相对路径和绝对路径
       JavaSE中,    
           相对路径表示中工程名开始算,
           绝对路径:盘符:/目录/文件名
       web中,
           相对路径:
               .            表示当前文件所在的目录
               ..            表示当前文件所在的上一级目录
               文件名          表示当前文件所在目录的文件,相当于./文件名
           绝对路径:          
                           http://ip:port/工程名/资源路径
               错误格式:    盘符:/目录/文件名
    3.  <!--标签 : 表格-->
       <table border="1" width="300" height="200">
           <tr>
               <td>1-1</td>
               <td>1-2</td>
               <td>1-3</td>
           </tr>
           <tr>
               <td>2-1</td>
               <td>2-2</td>
               <td>2-3</td>
           </tr>    
       </table>
    4.  div : 默认独占一行
       span : 数据长度
       p : 段落标签,前后各空一行
  2. CSS选择器

    1. 标签名选择器
      作用 : 可以决定哪些标签被动的使用样式,不同的标签使用不同的样式

       格式:
       标签名{
           属性:;
       }
       div{
           border: 1px solid yellow;
           color: blue;
           font-size: 30px;
       }
    2. id选择器

       #id属性值{
           属性:;
       }
       #007{
           color: blue;
           font-size: 30px;
           border: 1px yellow;
       }
    3. class选择器(类选择器)

       .class属性值{
           属性:;
       }
    4. 组合选择器 (n选1)

       格式: 
       选择器1,选择器2,...,选择器n{
           属性:;
       }
       .class01,#id001{
           color: blue;
           font-size: 20px;
       }
       选择class="class001"或者id="id001"的对象,进行设置样式
  3. js中的事件

     onload     加载完成事件            页面加载完成之后,常用于做页面js代码初始化操作
     onclick 单击事件             常用于按钮的点击响应操作
     onblur     失去焦点事件            常用于输入框失去焦点后验证其输入内容是否合法
     onchange    内容发生改变事件    常用于下拉列表和输入框内容发生改变后的操作
     onsubmit    表单提交事件        常用于表单提交前验证所有表单项是否合法

    事件的注册(绑定)

    1. 静态注册

       通过html标签的事件属性直接赋予事件响应后的代码
    2. 动态注册

       是指先通过js代码得到标签的dom对象,然后再通过dom对象.事件名=function{}这种形式赋予事件响应后的代码
       动态注册的步骤:
       1.window.onload = function(){
           2.获取标签对象 var Obj = document.getElementById("");
           3.标签对象.事件名=function(){
               待执行代码
               return flase;//阻止事件进一步执行
               return true;//事件正常执行
           }
       }
      

      onload事件

       静态注册
      function onloadFunc(){
       alert("静态注册onload事件,将所有需要执行的操作写入函数,通过调用函数的方式来避免body标签很臃肿");
      }
      <body onload="onloadFunc">
      
       动态注册
      window.onload = function(){
       alert("动态注册onload事件");
      }

      onclick事件

      动态注册
      <script>
      window.onload = func(){
       //document是js语言提供的一个对象(表示整个文档)
       var btnObj = document.getElementById("");
       btnObj.onclick = function(){
           alert("动态注册的onclick事件")
       }
      }
      </script>

      onblur事件

      静态注册
      <script>
       function onblurFunc(){
       console.log("静态注册失去焦点事件");
      }
      </script>
      <body>
       用户名:<input type="text"><br/>
       密码  :<input id="password" type="text"><br/>
      </body>
      
      
动态注册
<script>
    window.onload = function(){
    var passwordObj = document.getElementById("password");
    passwordObj.onblur = function(){
        console.log("动态注册失去焦点事件");       
    }
}
    function onblurFunc(){
    console.log("静态注册失去焦点事件")
}
</script>
<body>
    用户名:<input type="text"><br/>
    密码  :<input id="password" type="text"><br/>
</body>
```

onchange事件

```html
静态注册
<script>
    function onchangeFunc(){
    alert("女神已经改变了");
    }
</script>


<select onchange="onchangeFunc();">
    <option>--女神--</option>
    <option>--芳芳--</option>
    <option>--佳佳--</option>
</select>
动态注册
<script>
    window.onload = function(){
        var selObj = document.getElementById("sel001")
        selObj.onchange = function(){
            alert("女神已经发生改变");
        }
    }
</script>


<select id="sel001">
    <option>--女神--</option>
    <option>--芳芳--</option>
    <option>--佳佳--</option>
</select>
```

onsubmit事件(表单提交事件)

```html

```

JQuery

  1. $的功能

     1. 当传入的参数为[函数]时,表示在文档加载完成后执行这个函数
     $(function()){
         alert("页面加载完成之后,自动调用");
     }
    
     2. 当传入的参数为[HTML字符串]时,根据这个字符串查找元素结点对象
     $("
    "+ "div-span1"+ "div-span2"+ "
    ").appendTo("body"); 在body的下面创建div,再在div下面创建两个span 3.当传入的参数为[选择器字符串]时 $("#id属性值"); id选择器,根据id查询标签对象 $("标签名"); 标签名选择器,根据指定的标签名查询标签对象 $(".class属性值"); 类选择器,可以根据class属性查询标签对象 4. 当传入的参数为[DOM对象]时,将DOM对象包装为jQuery对象返回
  2. 选择器

    1. 基本选择器

      1. $(“#id”)
      2. $(“element”)
      3. $(“.class”)
      4. $(“*”)
    2. 层级选择器

      1. $(“from input”) : 找到from标签的子孙标签里面的input标签
      2. $(“from > input”) : 找from标签的直接子标签input
    3. 过滤选择器

      1. 基本过滤选择器

        • :first $(“li:first”) 选择第一个li标签
        • :last
        • :not(selector)
        • :even $(“tr:even”) 选择偶数行的tr标签
        • :odd $(“tr:even”) 选择奇数行的tr标签
        • :eq(index) $(“tr:eq(1)”) 选择第2行(索引值为1)的tr标签
        • :gt(index) $(“tr:gt(0)”) 选择索引值大于0的tr标签
        • :It(index) $(“tr:lt(0)”) 选择索引值小于0的tr标签
        • :header
        • :animated 选择正在执行动画效果的xx标签
        • :focus
      2. 内容过滤选择器

        • :contains() $(“xxx:contains(‘yyy’)”) 查找所有包含yyy文本内容的xxx标签元素

        • :empty $(“td:empty”)查找所有不包含子元素或者文本的td元素

        • :parent 非空

        • has(selector) selector表示一个选择器

          1. 匹配含有p元素的div元素

            $(“div:has(p)”)

          2. 并为其添加一个test类
            $(“div:has(p)”).addClass(“test”)

      3. 属性过滤选择器

        • [attribute]
        • [attribute=value] $(“input[name=’newsletter’]”)查找name属性值为newsletter的input标签
        • [attribute != value]
        • [attribute ^= string] $(“input[name^=’news’]”)查找name属性值以news开头的input标签
        • [attribute $= string] $(“input[name$=’news’]”)查找name属性值以news结尾的input标签
        • [][][selector1] [selector2] 需要同时满足多个条件
      4. 表单过滤选择器

        • :btn $(“:btn”)匹配type为btn的所有元素, 和内容过滤选择器有点不同,”:”号前面不需要加标签类型
        • :file
      5. 过滤选择器

Http

请求

请求行General

请求头Request Headers: 客户端告诉服务器

请求体Payload/Form Data, 因为Content-Type不同

get方式没有请求体, 但是有一个queryString, 添加在url后面

post方式是Form Data

json格式是Request Payload

会话Session

Http无状态: 服务器无法判断两次请求是否是同一个客户端发送过来的

通过会话跟踪技术来解决http无状态的问题

使用setAttribute来保存数据到session作用域中, 可能需要执行重定向或内部转发的操作, 此时再从中作用域中将数据提取出来. 在某个页面中加载java内存中的数据称为页面的渲染. thymeleaf就是用来实现页面渲染的技术

服务器内部转发和客户端重定向

服务器内部转发: 服务器去联系服务器内的另一个Servlet, 然后另一个Servlet把数据返回给客户端, 此时客户端的url并不会发生变化

        request.getRequestDispatcher("xxxxxx").forward(request, response);

客户端重定向: 服务器直接返回客户端新的Servlet地址, 然后客户端再次请求新的Servlet

        response.sendRediret("xxxxx");

   转载规则


《》 熊水斌 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
Spring配置文件<?xml version="1.0" encoding="UTF-8"?> <!--xmlns="http://www.springframework.org/schema/beans"根据该值修改-->
2022-11-11
下一篇 
事务在使用java执行sql语句的时候, 每次在连接关闭的时候都会执行事务的提交, 因此对于同一个事务中的多个操作, 需要将其放到同一个连接当中 void transactionTestv2() throws Exception {
2022-11-11
  目录