JavaWeb 笔记——6

news2025/1/16 12:57:36

JavaWeb 笔记——6

  • 一、Vue
    • 1.1、Vue-概述
    • 1.2、Vue快速入门
    • 1.3、Vue常用指令
    • 1.3、Vue生命周期
    • 1.4、查询所有-案例
    • 1.5、新增品牌-案例
  • 二、Element
    • 2.1、Element概述
    • 2.2、快速入门
    • 2.3、Element布局
    • 2.4、常用组件
  • 三、综合案例
    • 3.1、换件搭建
    • 3.2、查询所有
    • 3.3、新增品牌
    • 3.4、Servlet代码优化
    • 3.5、批量删除
    • 3.6、分页查询
      • 3.6.1、后端逻辑
      • 3.6.2、前端逻辑
    • 3.7、条件查询

一、Vue

1.1、Vue-概述

  • Vue是一套前端框架,免除原生JavaScript中的DOM操作,简化书写
  • 基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上
  • 官网: Vue官网

在这里插入图片描述
在这里插入图片描述

1.2、Vue快速入门

  1. 新建HTML页面,引入 Vue.js文件
<script src="js/vue.js"></script>
  1. 在JS代码区域,创建Vue核心对象,进行数据绑定
new Vue({
	el: "#app",
	data() {
		return {
			username: ""
		}
	}
});
  1. 编写视图
<div id="app">
<input name="username" v-model="username" >
	{{username}}
</div>

1.3、Vue常用指令

  • 指令:HTML标签上带有v-前缀的特殊属性,不同指令具有不同含义。
    例如: v-if, v-for…
  • 常用指令
指令作用
v-bind为HTML标签绑定属性值,如设置href , css样式等
v-model在表单元素上创建双向数据绑定
v-on为HTML标签绑定事件
v-if条件性的渲染某元素,判定为true时渲染,否则不渲染
v-else
v-else-if
v-show根据条件展示某元素,区别在于切换的是display属性的值
v-for列表渲染,遍历容器的元素或者对象的属性
指令作用
v-bind为HTML标签绑定属性值,如设置href , css样式
v-model在表单元素上创建双向数据绑定
  • v-bind:

    <a v-bind:href="url">百度一下</a>
    
    <!--v-bind可以省略-->
    <a:href="url">百度一下</a>
    
  • v-model:

    <input name="username" v-model="username">
    
指令作用
v-on为HTML标签绑定事件
  • html:
<input type="button" value="一个按钮" v-on:click="show()">
<input type="button" value="一个按钮" @click="show()">
  • vue:
new Vue({
	el:"#app",
	methods: {
		show(){
			alert(我被点了");
		}
	}
});
指令作用
v-if条件性的渲染某元素,判定为true时渲染,否则不渲染
v-else
v-else-if
v-show根据条件展示某元素,区别在于切换的是display属性的值
  • v-if:
<div v-if="count == 3">div1</div>
<div v-else-if="count == 2">div2</div>
<div v-else>div3</div>
  • v-show:
<div v-show="count == 3">div4</div>
指令作用
v-for列表渲染,遍历容器的元素或者对象的属性
  • v-for
<div v-for="addr in addrs">
{{addr}}<br>
</div>
  • 加索引
<div v-for="(addr,i) in addrs">
<!--i表示索引,从0开始-->
{{i+1}}:{{addr}}<br>
</div>

1.3、Vue生命周期

状态阶段周期
beforeCreate创建前
created创建后
beforeMount载入前
mounted挂载完成
beforeUpdate更新前
updated更新后
beforeDestroy销毁前
destroyed销毁后

在这里插入图片描述

  • mounted:挂载完成,Vue初始化成功,HTML页面渲染成功。
    • 发送异步请求,加载数据
new Vue({
	el:"#app",
	mounted(){
		alert("vue挂载完毕,发送异步请求");
	}
});

1.4、查询所有-案例

在这里插入图片描述

1.5、新增品牌-案例

在这里插入图片描述

二、Element

2.1、Element概述

  • Element:是饿了么公司前端开发团队提供的一套基于Vue的网站组件库,用于快速构建网页

  • 组件:组成网页的部件,例如超链接、按钮、图片、表格等等~

  • Element官网: Element官网

2.2、快速入门

  1. 引入Element 的css、js文件和Vue.js

    <script src="vue.js"></script>
    <script src="element-ui/liblindex.js"></script>
    <link rel="stylesheet" href="element-ui/lib/theme-chalk/index.css">
    
  2. 创建Vue核心对象

<script>
new Vue({
		el:"#app"
	})
</script>
  1. 官网复制Element组件代码

2.3、Element布局

  • Element中有两种布局方式:
    • Layout布局:通过基础的24分栏,迅速简便地创建布局
    • Container 布局容器:用于布局的容器组件,方便快速搭建页面的基本结构

2.4、常用组件

在这里插入图片描述

  • 在Element官网找到相关的组件并且配置到网页中

三、综合案例

在这里插入图片描述

3.1、换件搭建

  • 创建maven
  • 引入依赖
  • 导入数据

3.2、查询所有

在这里插入图片描述

3.3、新增品牌

在这里插入图片描述

3.4、Servlet代码优化

  • Web层的Servlet个数太多了,不利于管理和编写
  • 将Servlet进行归类,对于同一个实体的操作方法,写到一个Servlet中。比如: BrandServlet、UserServlet

在这里插入图片描述

package com.Smulll.web.Servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class BaseServlet extends HttpServlet {

    //根据请求地最后一行路径分发方法
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //获取请求路径
        String uri = req.getRequestURI();
        //获取最后一段路径,方法名 通过 / 进行分割
        int i = uri.lastIndexOf('/');
        String methodName = uri.substring(i + 1);
        //System.out.println(methodName); //selectAll
        //获取BrandServlet字节码文件 Class
        Class<? extends BaseServlet> cls = this.getClass();
        //System.out.println(cls);  //class com.Smulll.web.Servlet.BaseServlet
        try {
            //获取方法 Method对象
            Method method = cls.getMethod(methodName, HttpServletRequest.class, HttpServletResponse.class);
            System.out.println(method);
            //执行方法
            method.invoke(this,req,resp);
        } catch (NoSuchMethodException e) {
            throw new RuntimeException(e);
        } catch (InvocationTargetException e) {
            throw new RuntimeException(e);
        } catch (IllegalAccessException e) {
            throw new RuntimeException(e);
        }
    }
}
package com.Smulll.web.Servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/brand/*")
public class BrandServlet extends BaseServlet{
    public static void selectAll(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {
        System.out.println("selectAll...");
    }

    public static void add(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException{
        System.out.println("add...");
    }
}

3.5、批量删除

在这里插入图片描述

3.6、分页查询

在这里插入图片描述

3.6.1、后端逻辑

在这里插入图片描述

3.6.2、前端逻辑

在这里插入图片描述

3.7、条件查询

在这里插入图片描述

  • 3个条件之间有什么关系?
    AND

  • 3个条件必须全部填写吗?
    不需要
    动态SQL <if> <where>

  • 条件查询需要带分页吗?
    需要

select *
from tb_brand
<where>
	<if test="brand.brandName != null and brand.brandName != '' ">
		brand_name like #{brand.brandName}
	</if>
	<if test= "brand.companyName != null and brand.companyName != '' ">
		and company_name like #{brand.companyName}
	</if>
	<if test= "brand.status != null">
		and status = #{brand.status}
	</if>
</where>
limit #{begin} ,#{size}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/755624.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

集群基础2——LVS负载均衡apache(nat模式)

文章目录 一、环境说明一、配置调度器网卡二、配置后端服务器三、配置调度器四、验证五、设置https负载均衡 一、环境说明 使用lvs中的nat模型&#xff0c;对apache负载均衡集群。 主机IP角色安装服务真实IP&#xff1a;192.168.161.129VIP&#xff1a;192.168.161.130调度服务…

证照之星软件怎么样?证照之星怎么换背景色

随着科技的快速发展&#xff0c;越来越多的软件应用于各个方面&#xff0c;为人们的生活和工作带来便利。今天&#xff0c;我们要介绍的就是一款证件照制作方面的软件——证照之星。那么&#xff0c;证照之星到底是什么软件&#xff1f;它好用吗&#xff1f;这篇文章将为大家详…

【PHP面试题45】cgi与fast_cgi关系是怎么样的

文章目录 一、CGI与FastCGI简介二、CGI与FastCGI的关系三、CGI与FastCGI的应用场景四、总结 一、CGI与FastCGI简介 本文已收录于PHP全栈系列专栏&#xff1a;PHP面试专区。 计划将全覆盖PHP开发领域所有的面试题&#xff0c;对标资深工程师/架构师序列&#xff0c;欢迎大家提前…

解析!1V1直播源码开发搭建技术实时语音识别翻译功能的应用

语言是我们人类交流的工具&#xff0c;它的种类繁多&#xff0c;比如世界语言&#xff0c;像是中国的汉语、英国的英语、法国的法语等&#xff1b;又或是我们中国的方言&#xff0c;像是山东话、北京话、上海话等。可谓是五花八门&#xff0c;争奇斗艳&#xff0c;每一种世界语…

MySQL的安装与卸载

1. MySQL安装 连接MySQL cmd或自带工具或Navicat 2. MSQL卸载

怎么管理酒店后勤维修工作?如何提高客户满意度?

酒店维修不及时会对客户满意度产生负面影响。当客人入住酒店时&#xff0c;如果发现设施设备出现故障或损坏&#xff0c;会直接影响客人的入住体验和满意度。如果这些故障或损坏得不到及时维修和解决&#xff0c;客人会对酒店的服务质量和信誉产生怀疑&#xff0c;可能会对酒店…

3.2.17 什么是数组及应用

【分享成果&#xff0c;随喜正能量】人这一生&#xff0c;好不好都得自己走&#xff0c;累不累都得自己承受。每个人都有难言之苦&#xff0c;每个人都有无声的泪&#xff0c;岁月可曾放过谁&#xff1f;再风光的人&#xff0c;背后都有寒凉凄楚&#xff0c;再幸福的人&#xf…

【UE4 塔防游戏系列】04-敌人沿着指定路线移动

目录 效果 步骤 一、绘制道路 二、创建出生点和路径点 三、生成敌人 四、敌人沿着路径点移动 效果 步骤 一、绘制道路 首先绘制一条道路&#xff0c;后面希望敌人会沿着这条绘制道路行走。 二、创建出生点和路径点 2.1 新建父类为Actor的蓝图&#xff0c;作为敌人出…

Docker——认识Docker 常用命令 Linux中安装docker 常见问题及其解决

目录 引出Docker是啥&#xff1f;Docker是啥&#xff1f;Docker VS 虚拟机1.特性优势2.资源优势 Docker的架构Docker常用命令&#xff08;1&#xff09;docker ps&#xff08;2&#xff09;docker stop 容器名称&#xff08;3&#xff09;docker ps -a&#xff08;4&#xff0…

css基础知识二十:说说对Css预编语言的理解?有哪些区别?

一、是什么 Css 作为一门标记性语言&#xff0c;语法相对简单&#xff0c;对使用者的要求较低&#xff0c;但同时也带来一些问题 需要书写大量看似没有逻辑的代码&#xff0c;不方便维护及扩展&#xff0c;不利于复用&#xff0c;尤其对于非前端开发工程师来讲&#xff0c;往…

[java安全]CommonsCollections3.1

文章目录 【java安全】CommonsCollections3.1InvokerTransformerConstantTransformerChainedTransformerTransformedMap如何触发checkSetValue()方法&#xff1f;AnnotationInvocationHandlerpoc利用链 【java安全】CommonsCollections3.1 java开发过程中经常会用到一些库。Ap…

【Python 基础篇】Python环境搭建

文章目录 一、Python环境的下载二、Python环境变量的安装及配置三、Python编译器的选择一、Python环境的下载 Python官方网站:www.python.org 这个是Python的官方网站,Python下载以及相关文档都能在里面找到 如果下载慢的话,可以在各大电脑应用市场下载(自己是在联想应用商…

【分布式任务调度】XXL-JOB调度中心集群部署配置(一)

文章目录 1.概述2.代码编译2.1.代码下载2.2.初始化与编译 3.集群部署3.1.服务启动3.2.反向代理 4.结语 1.概述 XXL-JOB是一款轻量级的分布式任务调度中间件&#xff0c;默认支持6000个定时任务&#xff0c;如果生产环境的任务数量在这个范围内&#xff0c;可以选择使用 XXL-JO…

【手撕C语言基础】联合体与枚举

(꒪ꇴ꒪ ),hello我是祐言博客主页&#xff1a;C语言基础,Linux基础,软件配置领域博主&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff01;送给读者的一句鸡汤&#x1f914;&#xff1a;集中起来的意志可以击穿顽石!作者水平很有限&#xff0c;如果发现错误&#x…

九五从零开始的运维之路(其二十)

[TOC](文章目录) 文章目录 前言一、LAMP是什么二、配置环境及安装1.配置yum源2.关闭防火墙、网络图形化工具及SElinux3.安装软件包 三、配置apache服务器内容四、启动服务五、访问验证总结 前言 本篇将简述的内容&#xff1a;Linux系统下的LAMP平台部署 基于discuz框架的论坛搭…

StartAllBack| Win11 更新系统后闪屏

解决方法&#xff1a;安装最新版 StartAllBack 中文官网&#xff1a;http://www.startallback.cn 激活方式&#xff1a; ① 点击下载好的 .exe 文件安装 StartAllBack ② 打开 StartAllBack 的安装目录 为我安装的路径&#xff1a;C:\Users\你的用户名\AppData\Local\Start…

opencv 基础学习08-图像通道操作

opencv 基础学习08-图像通道操作 什么是图像通道&#xff1f;通道操作&#xff1a;**1 通过索引拆分**2 通过opencv 函数拆分通道合并 什么是图像通道&#xff1f; OpenCV的通道拆分功能可用于将多通道图像拆分成单独的通道&#xff0c;这在图像处理和计算机视觉任务中具有许多…

[MySQL]MySQL内外连接

[MySQL]MySQL内外连接 文章目录 [MySQL]MySQL内外连接1. 内连接2. 外连接2.1 左外连接2.2 右外连接 3. 简单练习 1. 内连接 内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选&#xff0c;也是在开发过程中使用的最多的连接查询。 语法&#xff1a; SELECT ... FR…

【USRP X310】如何将你的X310转化为USRP RIO 可以用于FPGA编程

X310 转化为USRP RIO X310产品X310和NI-USRP对应关系 简介第一步原理解释打开工具运行 Initialize Flash.vi可以去选择设备类型Hardware Current Version 如何选择 第二步创建工程运行校准程序 附录&#xff1a;射频子板的IDWBXSBXCBXUBXTwinRX X310产品 X310和NI-USRP对应关系…