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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 零、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

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
22天前
|
设计模式 Java
Java基础—笔记—多态、final、抽象类、接口篇
该文介绍了编程中的多态、final和抽象类、接口相关概念。多态允许子类重写父类方法,通过父类引用调用子类方法,实现解耦和提高代码灵活性,但也可能导致无法使用子类特有功能,需通过强制类型转换解决。final用于修饰不可变的类、方法或变量,防止继承、重写和多次赋值。抽象类是一种包含抽象方法的类,用于强制子类重写特定方法,实现多态,适用于模板方法设计模式,解决代码重复问题。
17 0
|
22天前
|
Java
Java基础—笔记—static篇
`static`关键字用于声明静态变量和方法,在类加载时初始化,只有一份共享内存。静态变量可通过类名或对象访问,但推荐使用类名。静态方法无`this`,不能访问实例成员,常用于工具类。静态代码块在类加载时执行一次,用于初始化静态成员。
10 0
|
22天前
|
Java API 索引
Java基础—笔记—String篇
本文介绍了Java中的`String`类、包的管理和API文档的使用。包用于分类管理Java程序,同包下类无需导包,不同包需导入。使用API时,可按类名搜索、查看包、介绍、构造器和方法。方法命名能暗示其功能,注意参数和返回值。`String`创建有两种方式:双引号创建(常量池,共享)和构造器`new`(每次新建对象)。此外,列举了`String`的常用方法,如`length()`、`charAt()`、`equals()`、`substring()`等。
15 0
|
2月前
|
Web App开发 SQL Java
javaweb实现分页(二)
javaweb实现分页(二)
20 1
|
2月前
|
SQL 关系型数据库 MySQL
javaweb实现分页查询(一)
javaweb实现分页查询(一)
20 0
|
2月前
|
SQL 关系型数据库 MySQL
javaweb中实现分页,持续更新……
javaweb中实现分页,持续更新……
19 1
|
29天前
|
JSON Java 应用服务中间件
JavaWeb项目之乱码问题及如何解决
JavaWeb项目之乱码问题及如何解决
|
22天前
|
Java API
Java基础—笔记—内部类、枚举、泛型篇
本文介绍了Java编程中的内部类、枚举和泛型概念。匿名内部类用于简化类的创建,常作为方法参数,其原理是生成一个隐含的子类。枚举用于表示有限的固定数量的值,常用于系统配置或switch语句中。泛型则用来在编译时增强类型安全性,接收特定数据类型,包括泛型类、泛型接口和泛型方法。
10 0
|
24天前
|
JavaScript 前端开发
javaweb文件上传和下载
javaweb文件上传和下载
|
2月前
|
前端开发 NoSQL 应用服务中间件
javaweb单点登录的三种实现方式
javaweb单点登录的三种实现方式
35 0