【JavaWeb】实训的长篇笔记(上)(1)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 零、Hello1、心得不要经常打补丁式地去填充一些细节,而更应该去寻找更好的结构。2、问题for语法?workbench创建外键的用法?

零、Hello

1、心得

  • 不要经常打补丁式地去填充一些细节,而更应该去寻找更好的结构。

2、问题

  • for语法?
  • workbench创建外键的用法?

3、其他

  • 中华英才网:招聘网站
  • 应届生:重视可塑性

一、实训前要求

大三暑假就可以实习,只有一年了。(考研,考公,教资,就业)

boos直聘。

  • 日记:80-100字
  • 7-10班答辩取消了

MVC: 一种项目架构的设计模式,基于面向接口编程。

Servlet: 重要技术,但是企业不用。能接受前端的用户请求,把数据响应前端。(servlet -> springmvc -> sprintboot)

JDBC: 数据库连接技术

1、eclipse

工作空间的作用?会设置一些什么?

metadata:元数据,描述数据的数据。

  • 字体:不要改,有些字体无法被识别,如javascript会有一些要求。
  • 字符编码:utf-8
  • 设置JDK?

对象

  • 类是创建对象的模板
  • 类的形成:对现实事物共同点的抽象
  • 私有属性能不能被继承?能、不能都可以,要说出原因。
  • 方法重写:只修改函数体。
  • 看源码

继承

  • 一个父类可以多个子类,但是一个子类只有一个父类。(子类属于父类类型)
  • 多态?接口?抽象?

2、立项

1)名称:《交个朋友》


2)需求:(实际需要需求调研)


涉及部门:产品部(主),开发部(产品不懂技术)


前端功能:用户交互的界面


首页

导航栏:注册,登录,广告(轮播图),后台管理,我的朋友,搜索

内容:轮播图广告,系统推荐朋友

Footer:版权信息

朋友详情

头像 --> 查看信息,但不同人的信息同一个模板(不用每人写一个页面)

个人中心

登录用户的信息

用户如何交到朋友?(流程)

一方:注册 --> 登录 --> 搜索 / 推荐朋友 --> 查看 --> 好友申请 --> 等待

另一方:收到申请 --> 查看详情 --> 接受 / 拒绝(理由)

后台功能:接受请求 --> 发牛响应


登录

用户管理

审核用户

禁用账号 / 解禁账号

删除用户

修改用户

朋友推荐

3、需求分析

1)涉及部门:开发部

需求分析是了解要做什么

4、概要设计

信息

1)注册信息:用户昵称,性别,密码,确认密码

2)登录信息:用户昵称,密码

3)广告信息:图片,说明

4)用户详情:头像,昵称,真实姓名(对接公安系统),性别,职业,宣言…

5)首页推荐:头像,昵称,职业…

数据库设计

5、前端设计

设计部门:前端设计部

过程:ps画页面原型 --> html页面

前端岗位:

1)传统前端:html / css / ps

2)现在前端:+ js框架 / 前端框架 / VUE前后端分离

84af0817b5874a36bc74fdf967da8724.png

一个标签:像java中的一个对象

二、前端知识

1)div标签,在网页中划出一块空间。


占多大 --> 设置样式。


注:div本是只是竖向排列的标签。


2)盒子模型:


3)网页布局:略


前端框架:Bootstrap (v3)。


4)框架:写好了很多东西,拿来用就好了。DIV(do it self)。


使用框架:导入.css和.js文件。


css的类选择器(class)与id选择器(id)的区别是什么?


5)响应式:拉动页面窗口(改变大小、纵横比),内容仍然可以正常显示,自适应。


6)栅格:div块的嵌套,一个横向div可以分很多列。不同的屏幕大小设备,适用于不同的样式。


12个分成5份?10/5,剩下的留白。

文本对齐:左中右。

学习框架:了解它能做哪些事情。

图片:显示形状(方、圆、方形圆角)

三、操作任务

搭建eclipse环境,熟悉css,安装bootstrap文件

四、前端设计

1、主页

1)导航栏


组件:导航、分页、缩略图…

先确定需求,然后开始写自己的前端页面。

勾上 generate web .xml

建议整个网页放在一个container容器中。

nav:导航

交互:如下拉框,js文件。导航栏中引用了jquery框架(怎么看出来的?)

用行内样式可以覆盖默认样式。在浏览器修改,快速调整,不用每次都修改都刷新浏览器。

2)广告栏


调整图片大小 / div形状

调整两栏之间的间隙

3)系统推荐


缩略图

注意div标签的正确对应和闭合。

4)其它


将导航栏固定在顶端,同时避免遮盖。下面的广告栏加上上边距。

2、登录页面

3、后台管理

  • 不太注重前端的体验
  • 用户会有默认的头像
  • 表格:,,, 。

    五、数据库

    1、数据库基础

    关系型数据库。

    mysql安装流程:安装mysql,安装mysql服务,登录,修改密码,设置远程连接(具体见视频)。

    update user set host='%' where user='root';
    
    • 官网:mysql.com 。

    移除mysql:停止服务,mysqld -remove mysql,删除安装文件目录,删除注册表。(使用.exe文件安装的,按照普通软件方式卸载)

    ? services.msc


    自己注册购买几个域名?


    社区版,8.x版本


    准备工作:如果机器上已经有,只要能用就无需安装。若有但不能用,需卸载干净后才能安装。


    my.ini


    mysql与mysql服务?


    注册表:维护计算机运行的服务列表。


    登录时指定登录端口号,使用参数-P,使用不同版本的mysql


    概念区分:数据库服务器,数据库,表,数据。


    数据库服务器:安装了数据库软件的服务器。


    应用服务器:安装了应用程序的服务器。(企业中会分开部署)


    数据库:在数据库服务器中创建,用来存放数据表。


    表:用来存放数据,以行为单位。

    Java 数据库
    一个类 一张表
    类属性 表字段
    属性类型 字段类型
    对象 一行

    MySQL客户端的安装:navicat_trial。workbench是老版本。


    本机:localhost,127.0.0.1

    navicat_trial报错:1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client,应该是版本太旧了。

    2、MySQL基本使用

    • 登录:mysql -u root -p,其中-p并不是password的意思,而是用于指定数据库,参数可以为空(即不选择),在登录后通过use 来选择数据库 。
    • sql的分类:DDL(数据定义语言), DCL(数据控制语言), DML(数据操作语言), DLL(数据事务语言)
    • 创建数据库:可在客户端中创建。
    • 创建数据表

    (sex) 1boy 2girl,使用代号比使用字符串查询更快。

    (birthday),如果使用timestamp(记录从1970年开始的毫秒数),则1970前的生日无法表示。可以使用datetime。

    表名字不使用user,因为是sql的关键字。

    workbench显然没有navacat好用,比如写入日期时没有选项框,只能手打。

    数据类型:int, varchar, double, datatime, timestamp; 长串数字,若不用于运算,一律使用varchar而不用int。


    数据输入:


    主键:能够唯一标识一条字段。一般不参与业务逻辑运算,如学生主键经常使用id而不用学号。


    修改表结构:在workbench中右键目标表,选择alter table。

    设置自动维护主键:勾选·Auto Increment。记录已经被使用过的主键的最大值,删掉也不影响。

    外键:在一张表中,关联另一张表的约束。


    键名冲突:例如学生表有个id,地址表也有个id,如果要创建外键就会有问题。因此,可以给每个表自己的主键加个标识,例如重命名为uid。

    (或者给外键加个标识成aid应该也行 )


    主外键约束。参照完整性,外键的值得在被关联表中存在。约束的是外键列的值。


    主外键约束的建立。外键不能参照不存在的主键,于是已经被参照的主键也无法被删除。


    注意 :在开发过程中,表和表在结构上体现主外键关系,但不创建主外键约束。因为删除(修改)一个主键字段,就要先删除参照它的外键字段,这个外键字段的行可能又被被人参照,表间关联和约束太多导致维护困难。


    主表:表中有一个主键被其他表用来当外键的表。


    从表:把另外一个表中的主键当作自己的外键的表。

    3、SQL语句

    增加:insert into 表名(字段1, 字段2) values(值1, 值2)


    修改:update 表名 set 字段=新值, ... where 条件


    删除:delete from 表名 where 条件


    查询:select 字段1, 字段2... from 表名 where 条件

    查询部分数据:limit ;


    模糊查询。关键字like;通配符% _ ;


    %可以代表任意多个字符,_可以代表任意一个字符。


    排序。order by ;


    对查询好像结果排序,ASC(升序) | DESC(降序)


    分组。group by ;


    分组的目的是统计。常见的统计函数有(max min sum avg count)。


    含有goupy by的sql中,select后只能接被分组的字段或统计函数。否则在mysql5.x版本会报错;在8.x中不会报错但是无意义。


    多表连接查询


    子查询


    将一个查询的结果作为另一个查询的对象。


    案例:和李四住在一起的人有哪些?

    • 分析:首先知道李四住在哪,然后将李四住址作为条件进行查询。
    -- 1、查询部分数据
    select * from users limit 2; -- 返回查询数据的前两个
    select * from users limit 0,1; -- 从0到1,注意下标从0开始
    -- 2、模糊查询
    select * from users where name like %航%;
    -- 4、分组
    select * from users group by aid; -- 显示每组的第一条数据
    select aid, count(id) from users group by aid; -- 查询每个地址人数
    -- 5、连接
    select * from users,address where users.aid = address.id;
    select * from users as u,address a where u.aid = a.id; -- 简化写法
    -- 6、子查询 --> 和李四住在一起的人有哪些?
    select id,name,aid from users where aid = 
    (select aid from users where name="李四");
    

【JavaWeb】实训的长篇笔记(上)(2):https://developer.aliyun.com/article/1407211?spm=a2c6h.13148508.setting.18.79f64f0ecKMDuK

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
27天前
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
本系列教程笔记详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。若需快速学习Kotlin,建议查看“简洁”系列教程。本期重点介绍了Kotlin与Java的共存方式,包括属性、单例对象、默认参数方法、包方法、扩展方法以及内部类和成员的互操作性。通过这些内容,帮助你在项目中更好地结合使用这两种语言。
42 1
|
28天前
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
32 2
|
1月前
|
Java 开发工具 Android开发
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
|
18天前
|
安全 Java 编译器
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
|
18天前
|
Java 开发工具 Android开发
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
|
18天前
|
Java 编译器 Android开发
Kotlin教程笔记(28) -Kotlin 与 Java 混编
Kotlin教程笔记(28) -Kotlin 与 Java 混编
|
27天前
|
Java 编译器 Android开发
Kotlin语法笔记(28) -Kotlin 与 Java 混编
本系列教程详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。对于希望快速学习Kotlin的用户,推荐查看“简洁”系列教程。本文档重点介绍了Kotlin与Java混编的技巧,包括代码转换、类调用、ProGuard问题、Android library开发建议以及在Kotlin和Java之间互相调用的方法。
20 1
|
27天前
|
安全 Java 编译器
Kotlin语法笔记(27) -Kotlin 与 Java 共存(二)
本教程详细讲解Kotlin语法,适合希望深入了解Kotlin的开发者。若需快速入门,建议查阅“简洁”系列教程。本文重点探讨Kotlin与Java共存的高级话题,包括属性访问、空安全、泛型处理、同步机制及SAM转换等,助你在项目中逐步引入Kotlin。
20 1
|
28天前
|
Java 编译器 Android开发
Kotlin语法笔记(28) -Kotlin 与 Java 混编
Kotlin语法笔记(28) -Kotlin 与 Java 混编
25 2
|
1月前
|
Java 数据库连接 编译器
Kotlin教程笔记(29) -Kotlin 兼容 Java 遇到的最大的“坑”
Kotlin教程笔记(29) -Kotlin 兼容 Java 遇到的最大的“坑”