34、验证码

学习目标: 1、了解验证码的作用 2、掌握验证码的实现 学习过程: 一、为什么需要验证码 1、什么是验证码 相信大家经常上网都会见到验证码的,如下图: 你可以随便打开一个有验证码的网站看看,那到底什么是验证码呢?验证码上面的数字或者字母是随机生成的,验证其实就是一副动态生成的图片。用户需要输入和验证码生成的图片内容一致的内容才可能继续操作。 2、验证码有什么作用呢 事实上验证码对用户体验非常不好,那为什么很多网站还是需要使用验证码呢?其实验证码的真正作用是为了保护服务器的,因为本身http协议
分类: 其他 发布时间: 12-03 23:29 阅读次数: 0

35、事件监听器

学习目标: 1、了解Servlet的监听器类的作用 2、能在项目中灵活的使用监听器 3、了解session会话的原理 学习过程: 一、监听器 什么是事件监听器,是指支持ServletContext、HttpSession及ServletRequest中状态改变的事件通知,在2.3规范后出现。实现了一个或多个servlet事件监听器接口的类型。 监听器类的规定,必须在部署描述符中配置实现类,最常用ServletContextListener和HttpSessionListener 1、Servl
分类: 其他 发布时间: 12-03 23:28 阅读次数: 0

36、上传文件

学习目标: 1、掌握文件上传的方法 2、为什么要学习Java语言 学习过程: 这节课讲解一些如何上传文件,这里我们为用户表添加一个头像属性 一、修改数据库表 首先我们要保存用户上传文件的信息,所有要修改数据库,但是我们不是使用数据库保存文件的,文件保存在web服务器的目录下,数据库只是保存文件的路径就可以了,所以我们在tb_user表中添加一个新的属性header,使用varchar格式就可以了,同时修改UserDao的代码,这些代码比较简单,这里就不列出来了。 二、修改页面 这里我们可以使用
分类: 其他 发布时间: 12-03 23:28 阅读次数: 0

37、购物系统需求分析

学习目标: 1、通过一个简单的项目示例复习本阶段的知识 2、能独立分析项目,了解项目的一般建设流程 学习过程: jsp和servlet的基本知识点就讲完了,但是我们需要做一个完整的项目巩固一下才行,否则还是不会应用这些技术的,接下来几天我们以前做一个网上购物系统。这里先给出这个系统的扼要需求分析,大家先好好阅读以下,理解好我们需要完成的系统的大概功能是什么。 1.引言 1.1 目的 随着因特网的的迅速发展,电子商务的兴起,以现代信息化为依托的商务模式已经成为一种必然的趋势,网上购物必将成为主要
分类: 其他 发布时间: 12-03 23:28 阅读次数: 0

38、数据库设计

学习过程: 大家还记得软件开发的流程,需求分许书出来后。这时候程序员可以设计数据库了,美工可以设计界面了。根据需求我们设计以下的数据库。当然不同的程序员可能对同一需求设计出不同的数据库,数据库设计尽量符合三大范式,并且利于系统的开发和升级就可以了,大家可以参考一下我的数据库的设计,往后的系统开发都是基于这个数据库的。希望大家也先设计和我一样的数据库。 表说明如下: 1、管理员表 表名 tb_manager 字段名 数据类型 备注 manager_id int(10) 管理员Id,主键 logi
分类: 其他 发布时间: 12-03 23:28 阅读次数: 0

39、导入界面和新建项目

学习过程: 界面一般需要由美工完成,不过这里我们并没有美工,所有html的界面设计我就直接把界面发给大家,下载地址如下,界面分为前台和后台两个部分,大家可以直接使用这些界面就可以了。 一、新建项目,导入界面和建立包结构 新建一个shop项目,新建相关的jsp页面,然后打开所有的html页面,把页面复制到项目中,我们是使用MVC三层架构,所有我们建立好相关的的包结构,如下: 二、完成javaBean和dao层类建立 包建立完成好,我们可以先把前期工作完成,导入相关的lib包,比如数据库驱动包,然
分类: 其他 发布时间: 12-03 23:27 阅读次数: 0

40、商品类别管理

学习过程: 昨天完成用户的登录和注册功能,今天我们回到后台完成商品类别和商品的管理,先从比较简单商品类别做起。大家可以先完成后台管理员登录功能,和前途登录差不多,所以这里我就不列出代码的实现了,大家可以下载源码查看。按照计划,我们先完成商品类别的管理,这个功能比较简单,可以先看看静态页面,如下图: 其实主要的功能就是对商品类别进行增删改查操作,通过对商品类别管理,大家可以基本学会如何对MVC三层框架进行开发的一个思路。首先,我们先完成页面的开发,这部分功能美工已经完成,所以我们现在可以先实现d
分类: 其他 发布时间: 12-03 23:27 阅读次数: 0

41、商品管理

学习过程: 下面我们需要完成的是商品管理,虽然也是增删改查这个几个功能,不过因为需要上传商品图和分页两个功能,而且商品也和类别有多对一的关系,所以商品管理相比之下就比较复杂一点,不过也没有关系,这方便的知识点我们前面也已经讲过了。 1、完成dao层。注意分页的代码,这里用到了Page类,这个类可在源码中获得。 public class GoodsDao extends BaseDao implements IGoodsDao { /** * 添加商品 * * @param
分类: 其他 发布时间: 12-03 23:27 阅读次数: 0

42、首页的实现

学习过程: 前台首页其实就是列表查询,商品分页查询等功能的一个结合而已,页面效果如下: 有了后台的类别和商品的实现,那么首页的分页就变得比较简单了,仅仅只是调用了一下dao层的方法就可以了。新建一个servlet,访问路径为toIndex。然后修改web.xml的主页,这样我们直接访问域名时就会自动进入这个servlet了。 <servlet-mapping> <servlet-name>toIndex</servlet-name> <url-pattern>/toIndex</u
分类: 其他 发布时间: 12-03 23:27 阅读次数: 0

43、购物车

学习过程: 完成主页后,我们就可以做购物车了,当然我们这个购物车实现相对比较简单,因为要实现像京东网站,淘宝网站那些购物车设计的技术比较多,其实所谓的购物车,其实关键一点就是如何保持购物信息,有些网站是保存在客户端的cookie里,再结合session和数据库进行保存的,那么我们这里就采用最简单的保存在session中,虽然这种实现比较简单,但是问题也有很多,比如保存在session中需要使用服务器的资源,用户下次登录所有的购物信息也不会保存,所有很多网站都会把购物信息保存在数据库或者cook
分类: 其他 发布时间: 12-03 23:26 阅读次数: 0

44、确认下单

学习过程: 完成了购物车后,下面我们需要做的就是确认下单操作了,大家可以先看看数据库的设计,这个保存我们需要保持订单以及订单的所有的详细信息,所有在添加订单的时候需要同时添加几条信息,为了保证数据的完整性,这里必须使用事务进行处理。 1、dao层的实现。当然这里还有一个知识点,就是如何获得刚刚插入数据的id呢,因为订单和订单详细两个表是一对多的关系,在插入订单详细的数据时需要订单的id,而这个id是由数据库自增实现的,由于不同的数据库对主键的自增的实现不同,所以要想获得刚刚插入的这个自增的id
分类: 其他 发布时间: 12-03 23:26 阅读次数: 0

45、订单查询

学习过程: 确认订单后就可以前台可以查看订单,后台也可以处理订单了,我们先完成前台的订单查询 一、前台订单查询 1、前台订单查询的dao实现,为OrderDao添加方法,新点击的订单默认是没有处理的状态。 /** * * @param memeberId 用户Id * @param page * @return */ public List<Order> getOrdersByMemberId(int memeberId, Page page) { Order
分类: 其他 发布时间: 12-03 23:26 阅读次数: 0

java截取某个字符之前的字符串

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lihua5419/article/details/84065674 public class SubString { public static void main(String[] args) { String str="[email protected]"; String str1=str.substring(0, str.indexOf("@"));//截取@之前的字符串
分类: 其他 发布时间: 12-03 23:25 阅读次数: 0

mvn clean install:There are test failures.

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lihua5419/article/details/84566251 因为本地系统引入了新的一个依赖工程,下载到本地执行mvn clean package/install的时候突然报错There are test failures. 如下图所示: 这是因为编译的时候Maven会自动执行src/test/java中的JUnit测试用例,因为没有必要执行测试用例,我们可以直接跳过UT的编译及执行 可以
分类: 其他 发布时间: 12-03 23:25 阅读次数: 0

$(cd `dirname $0`;pwd)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lihua5419/article/details/84578442 打开文本编辑器(可以使用 vi/vim 命令来创建文件),新建一个文件 test.sh,扩展名为 sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用 php 写 shell 脚本,扩展名就用 php 好了 #!/bin/bash echo "Hello World !" #! 是一个约定的标记,它告诉系
分类: 其他 发布时间: 12-03 23:24 阅读次数: 0

VMware Workstation Pro 15.0.2安装详细步骤

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lihua5419/article/details/84583071 根据所需要版本点击下载: VMware-workstation-full-14.0.0-6661328 提取码:g3y9 VMware-workstation-full-15.0.0-10134415 提取码:bbkj VMware-workstation-full-15.0.2-10952284 提取码:1xq0 下图以15.
分类: 其他 发布时间: 12-03 23:24 阅读次数: 0

Oracle11g安装详细步骤

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lihua5419/article/details/84315992 win10系统安装oracle11g时可能会遇到INS-13001环境不满足最低要求 这时,打开你的解压后的database文件夹,找到stage,然后cvu,找到cvu_prereq.xml文件,用记事本打开,增添一下内容 <OPERATING_SYSTEM RELEASE="6.2"> <VERSION VALUE="3"/
分类: 其他 发布时间: 12-03 23:24 阅读次数: 0

shell脚本学习方法

1,熟悉shell脚本基础知识点,掌握(sed,find,awk,cut等重要的命令。),掌握判断语句,循环语句的使用,和shell脚本的格式,步骤要写工整。 2,练习shell脚本,从简单的脚本练起走,自己先敲一边,在看里面的内容是如何实现的。在回过头来看相关的知识点(不用死记硬背,用到的时候在记一下,慢慢就熟悉了。),然后就是练习,看里面的内容如何实现。 3,思考人家的脚本是如何实现问题的,总结方法。比如说截取的方法,批量创建的方法,监控的方法等等。思考问题应该通过什么方法实现,想不出来就
分类: 其他 发布时间: 12-03 23:23 阅读次数: 0

线性表(二)——顺序存储结构

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiangguangchao/article/details/84302604 线性表的顺序存储结构 构造原理 用一组地址连续的存储单元依次存储线性表的数据元素,数据元素之间的逻辑关系通过数据元素的存储位置直接反映。 记做 ( a1,a2,a3,… … , an ) 所谓一个元素的地址是指该元素占用的若干(连续的)存储单元的第一个单元的地址。记做LOC(ai) 若假设每个数据元素占用k个存储单元,
分类: 其他 发布时间: 12-03 23:23 阅读次数: 0

线性表(三)——线性链表(单链表)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiangguangchao/article/details/84304503 线性链表(单链表) 构造原理 用一组地址任意的存储单元(连续的或不连续的)依次存储表中各个数据元素, 数据元素之间的逻辑关系通过指针间接地反映出来。 线性表的这种存储结构称为线性链表,又称为单链表。 在C语言中线性链表的定义如下: typedef struct node { ElemType data;
分类: 其他 发布时间: 12-03 23:22 阅读次数: 0