初级阶段4-网页编程
随着互联网的流行,B/S已经是绝对的主流了,本节学习制作基于网页的前端,本节会对jsp和servlet的相关知识进行一个非常详细和深入的学习,有关web方面的知识点比较多,大家必须要对着个阶段的所有的知识点都牢固掌握。
JavaDayUp-远行客
这个作者很懒,什么都没留下…
展开
-
48、邮件的发送
学习过程:一、邮件简介邮件实现并不是一个必须要完成的功能,这里就简单介绍一下。不过由于现在的邮件服务器安全性已经升级了,所以有些服务器不一定能正常运行了。和操作数据库一样,其实我们并不是要开发一个邮件服务器,java实现的只是一个客户端,我们要做的事情是连接到邮件服务器,让邮件服务器发送或者接受邮件,所以实现起来是非常简单的。优先我们先连接一下连接邮件服务器的两个最基本的协议。当前...原创 2018-12-03 14:23:53 · 782 阅读 · 0 评论 -
47、自适应mysql和oracle(2)
学习过程:接着上一节课,下面我们设计一个工厂类,根据数据库dao层生产的工厂。这个类根据jdbc.properties配置文件的db属性读取配置文件,然后生成不同的dao实现,新建一个FactoryDao类,代码如下:public class FactoryDao { private static FactoryDao factoryDao; private String db;...原创 2018-12-03 13:38:54 · 177 阅读 · 0 评论 -
46、自适应mysql和oracle(1)
学习过程:在需求分许里面还有这么一个要求就是能自适应mysql和oracle,虽然只有这么一句话,但是我们应该如何才能实现这个功能,毕竟mysql和oracle数据库所支持的sql语言除了基本的增删改查是一样之外,还是有很多是不同的,比如说分页算法就不同,那么我们如何可以让使用者在不修改java源码的基础上就可以实现自适应mysql和oracle呢?这里我们的解决方法就是使用简单工厂模式,虽然...原创 2018-12-03 13:37:25 · 285 阅读 · 0 评论 -
45、订单查询
学习过程:确认订单后就可以前台可以查看订单,后台也可以处理订单了,我们先完成前台的订单查询一、前台订单查询1、前台订单查询的dao实现,为OrderDao添加方法,新点击的订单默认是没有处理的状态。 /** * * @param memeberId 用户Id * @param page * @return */ public List<Order&g...原创 2018-12-02 22:16:02 · 970 阅读 · 0 评论 -
44、确认下单
学习过程:完成了购物车后,下面我们需要做的就是确认下单操作了,大家可以先看看数据库的设计,这个保存我们需要保持订单以及订单的所有的详细信息,所有在添加订单的时候需要同时添加几条信息,为了保证数据的完整性,这里必须使用事务进行处理。1、dao层的实现。当然这里还有一个知识点,就是如何获得刚刚插入数据的id呢,因为订单和订单详细两个表是一对多的关系,在插入订单详细的数据时需要订单的id,而这个...原创 2018-12-02 22:01:21 · 794 阅读 · 0 评论 -
43、购物车
学习过程:完成主页后,我们就可以做购物车了,当然我们这个购物车实现相对比较简单,因为要实现像京东网站,淘宝网站那些购物车设计的技术比较多,其实所谓的购物车,其实关键一点就是如何保持购物信息,有些网站是保存在客户端的cookie里,再结合session和数据库进行保存的,那么我们这里就采用最简单的保存在session中,虽然这种实现比较简单,但是问题也有很多,比如保存在session中需要使用服...原创 2018-12-02 21:47:35 · 243 阅读 · 0 评论 -
42、首页的实现
学习过程:前台首页其实就是列表查询,商品分页查询等功能的一个结合而已,页面效果如下:有了后台的类别和商品的实现,那么首页的分页就变得比较简单了,仅仅只是调用了一下dao层的方法就可以了。新建一个servlet,访问路径为toIndex。然后修改web.xml的主页,这样我们直接访问域名时就会自动进入这个servlet了。 <servlet-mapping> <...原创 2018-12-02 21:35:54 · 373 阅读 · 0 评论 -
41、商品管理
学习过程:下面我们需要完成的是商品管理,虽然也是增删改查这个几个功能,不过因为需要上传商品图和分页两个功能,而且商品也和类别有多对一的关系,所以商品管理相比之下就比较复杂一点,不过也没有关系,这方便的知识点我们前面也已经讲过了。 1、完成dao层。注意分页的代码,这里用到了Page类,这个类可在源码中获得。public class GoodsDao extends BaseDa...原创 2018-12-02 21:31:55 · 690 阅读 · 0 评论 -
40、商品类别管理
学习过程:昨天完成用户的登录和注册功能,今天我们回到后台完成商品类别和商品的管理,先从比较简单商品类别做起。大家可以先完成后台管理员登录功能,和前途登录差不多,所以这里我就不列出代码的实现了,大家可以下载源码查看。按照计划,我们先完成商品类别的管理,这个功能比较简单,可以先看看静态页面,如下图: 其实主要的功能就是对商品类别进行增删改查操作,通过对商品类别管理,大家可以基本学会如何对M...原创 2018-12-02 20:54:55 · 2251 阅读 · 2 评论 -
39、导入界面和新建项目
学习过程:界面一般需要由美工完成,不过这里我们并没有美工,所有html的界面设计我就直接把界面发给大家,下载地址如下,界面分为前台和后台两个部分,大家可以直接使用这些界面就可以了。一、新建项目,导入界面和建立包结构新建一个shop项目,新建相关的jsp页面,然后打开所有的html页面,把页面复制到项目中,我们是使用MVC三层架构,所有我们建立好相关的的包结构,如下:二、完成ja...原创 2018-12-02 20:50:19 · 679 阅读 · 1 评论 -
38、数据库设计
学习过程:大家还记得软件开发的流程,需求分许书出来后。这时候程序员可以设计数据库了,美工可以设计界面了。根据需求我们设计以下的数据库。当然不同的程序员可能对同一需求设计出不同的数据库,数据库设计尽量符合三大范式,并且利于系统的开发和升级就可以了,大家可以参考一下我的数据库的设计,往后的系统开发都是基于这个数据库的。希望大家也先设计和我一样的数据库。表说明如下:1、管理员表 表...原创 2018-12-02 20:38:23 · 1254 阅读 · 2 评论 -
37、购物系统需求分析
学习目标:1、通过一个简单的项目示例复习本阶段的知识2、能独立分析项目,了解项目的一般建设流程学习过程:jsp和servlet的基本知识点就讲完了,但是我们需要做一个完整的项目巩固一下才行,否则还是不会应用这些技术的,接下来几天我们以前做一个网上购物系统。这里先给出这个系统的扼要需求分析,大家先好好阅读以下,理解好我们需要完成的系统的大概功能是什么。1.引言1.1 目的...原创 2018-12-02 20:35:38 · 27623 阅读 · 0 评论 -
36、上传文件
学习目标:1、掌握文件上传的方法2、为什么要学习Java语言学习过程:这节课讲解一些如何上传文件,这里我们为用户表添加一个头像属性一、修改数据库表首先我们要保存用户上传文件的信息,所有要修改数据库,但是我们不是使用数据库保存文件的,文件保存在web服务器的目录下,数据库只是保存文件的路径就可以了,所以我们在tb_user表中添加一个新的属性header,使用varchar格...原创 2018-11-30 21:21:04 · 132 阅读 · 0 评论 -
35、事件监听器
学习目标:1、了解Servlet的监听器类的作用2、能在项目中灵活的使用监听器3、了解session会话的原理学习过程:一、监听器什么是事件监听器,是指支持ServletContext、HttpSession及ServletRequest中状态改变的事件通知,在2.3规范后出现。实现了一个或多个servlet事件监听器接口的类型。监听器类的规定,必须在部署描述符中配置实...原创 2018-11-30 21:18:22 · 522 阅读 · 0 评论 -
34、验证码
学习目标:1、了解验证码的作用2、掌握验证码的实现学习过程:一、为什么需要验证码1、什么是验证码相信大家经常上网都会见到验证码的,如下图:你可以随便打开一个有验证码的网站看看,那到底什么是验证码呢?验证码上面的数字或者字母是随机生成的,验证其实就是一副动态生成的图片。用户需要输入和验证码生成的图片内容一致的内容才可能继续操作。 2、验证码有什么作用呢事实...原创 2018-11-30 20:42:45 · 8283 阅读 · 0 评论 -
33、分页实现——分页的页面实现
学习目标:1、掌握分页页面展示的逻辑2、为根据业务需要灵活使用分页算法学习过程:有和后台的dao层的实现,那么页面显示就简单多,这个实现就很多元化了,这里我们使用简单一点的方式。一、修改servletservlet需要解释前台传过来的当前页变量,并同时把分页对象传给页面展示,代码如下:if (op == null || op.equals("list")) { ...原创 2018-11-30 20:30:39 · 239 阅读 · 0 评论 -
32、分页实现——分页的dao实现
学习目标:1、掌握Java端的分页算法2、根据业务灵活的使用分页算法学习过程:有了数据库分页的基础后,java代码实现分页就只是调用这个sql语句就可以了,但是为了更好的支持分页的算法,我们需要在dao层把分页的算法封装一下,这样模型层调用和页面展示的时候才能更加方便。一、封装一个分页对象新建一个Page类,把分页的算法封装到这个类里面。public class Pa...原创 2018-11-30 20:27:22 · 1511 阅读 · 0 评论 -
31、分页实现——数据库的分页
学习目标:1、掌握数据库分页算法2、掌握不同数据库之间分页算法的不同点学习过程:今天的另外一个重要内容就是分页显示列表。现在我们在页面上面看到的用户列表都是全部信息,信息量少当然没有问题,但是一般数据里都会几百或者上万条,每次都全部显示是不可能的,所以我们必须分页显示。分页一般有两种实现方式,其一、先把所有的信息查询出来保存在web服务器中,然后在展示的时候再部分展示。其二、在...原创 2018-11-30 20:23:03 · 1973 阅读 · 0 评论 -
30、过滤器
学习目标:1、了解Filter的概念2、掌握Filter的定义和使用3、根据业务需要灵活定义Filter学习过程:一、什么是过滤器filter与Servlet相似,可以绑定到一个Web应用程序中。但是与其他Web应用程序组件不同的是,过滤器是“链”在容器的处理过程中的。这就意味着它们会在servlet处理器之前访问一个进入的请求,并且在外发的响应信息返回到客户前访问这些响应...原创 2018-11-30 20:06:47 · 100 阅读 · 0 评论 -
29、示例2-增删改
学习过程:一、添加用户我们继续上一节课的示例,把增删改查都完成了。1、新建一个新添加用户页面adduser.jsp,代码如下: <body> <form action="admin/userServlet?op=add" method="post"> 用户名:<input name="username" /> <b原创 2018-11-30 19:47:24 · 204 阅读 · 0 评论 -
28、示例1--完成登录操作和条件查询
学习目标:1、再通过示例巩固前面学习的知识2、熟练使用MVC思想指导实际项目的开发学习过程:我们先完成登录吧这里我们把业务逻辑分为用户管理和登录两个,所以我们建立两个Servlet:LoginServlet和UserServlet,我们先完成登录功能。一、登录功能1、修改index.jsp,完成登录页面的设计,和前面没有什么区别,提交到登陆Servlet就行了恶。代码如下:...原创 2018-11-30 19:39:02 · 275 阅读 · 0 评论 -
27、服务器端作用域
学习目标:1、了解服务器端作用域2、在实际项目中灵活的使用作用域学习过程:我们前面讲过http是一次连接,但是服务器有的时候需要记录某个操作是那一个用户的,比如用户下订单前需要登录,服务器需要知道这个订单是谁下的,又或者发布文章,一般也需要先登录,然后再发布,既然http是一次连接,服务器又是如何知道是那一个用户的呢。事实上不论是服务器还是客户端,都是可以保存数据的,客户端一般就是...原创 2018-11-29 11:40:46 · 350 阅读 · 0 评论 -
26、jstl和EL表达式
学习目标:1、了解JSTL标签2、了解EL表达式学习过程:这节课我们要学习两个内容:jstl和EL表达式。这两个内容一般都是一起配合使用了,所以我们就放在一起讲解了,这两个内容使用起来都是非常简单的。它可以简化我们在jsp中嵌入java代码。我们先看看在昨天我们做的用户列表的例子:我们讲过mvc三层框架中,虽然在jsp中不会直接访问数据库访问层了,但是还是会在这里嵌入java代...原创 2018-11-28 22:32:57 · 151 阅读 · 0 评论 -
25、转发和重定向
学习目标:1、了解转发和重定向的意义2、能在开发实践中正确使用转发和重定向学习过程:一、转发和重定向的区别1、转发和重定向的区别(1)重定向:其实是两次请求, 第一次,客户端请求服务器响应,这时候服务器response回来,告诉浏览器,你应该去另外一个地址访问,浏览器就会发送第二次请求,服务器会再一次应答。这个时候浏览器的网址可以看到地址变了,而且历史的回退按钮也亮了。重定...原创 2018-11-28 22:22:33 · 137 阅读 · 0 评论 -
24、mvc演示
学习目标:1、了解jsp和servlet的关系2、使用MVC的思想指导开发学习过程:一、jsp和servlet有什么联系和区别servlet和我们昨天学习的jsp直接有什么联系和区别呢?事实上,jsp和servlet本质都是一样的,都是可以通过java程序动态的生产静态网页,因为jsp经编译后就变成了的java文件,其实就是一个功能增强的Servlet。如果说他们之间有什么区别...原创 2018-11-27 22:09:40 · 128 阅读 · 0 评论 -
23、mvc三层模式介绍和servlet的生命周期
学习目标:1、了解MVC的三层框架思想2、了解GET和POST的作用和区别3、了解servlet学习过程:servlet是一个比较重要的内容,我们以后学习的很多框架技术就是对servlet的封装的,所有有很多理论基础需要在servlet时候讲解,这节课我们有几个比较重要的概念要简单先介绍一下,大家不要理解很深,只需要先初步认识这个概念就可以了,以后在练习过程中会不对加深对这写概...原创 2018-11-27 21:21:13 · 333 阅读 · 0 评论 -
22、示例
学习目标:1、复习数据库和html静态页知识2、实现简单的B/S结构的用户登陆注册和查询学习过程:下面我们就通过做两个示例加深一下对jsp的认识。一、登录示例1、建立数据库和数据库表。先建立一个jspstu的数据库,然后在建立一张tb_user表,表代码如下:CREATE TABLE `tb_user` ( `uid` INT (11) NOT NULL A...原创 2018-11-27 20:51:00 · 115 阅读 · 0 评论 -
21、内置对象
学习目标:1、了解JSP的内置对象2、着重了解request对象的方法和使用学习过程:一、复习我们先回顾一下,我们这个网络访问的过程是怎样的?1、http协议特点。超文本传输协议 (HTTP-Hypertext transfer protocol) 是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。q超文本传输协议 q 无状...原创 2018-11-27 20:38:38 · 171 阅读 · 1 评论 -
20、jsp的页面元素
学习目标:1、了解JSP的页面元素的组成2、能在项目中灵活的使用这些页面元素学习过程:上一节可我们知道jsp的实质其实就是一个java文件,不过这个java文件有点特殊,而且jsp本身也有自己的一些特点,下面我们就讲一下jsp页面主要包含哪些基本元素,因为随着mvc思想的发展,jsp页面的功能需求不断弱化,一般仅仅只是作为展示使用,所以jsp的功能虽然很强大,不过我们并不需要非常深...原创 2018-11-27 20:23:06 · 267 阅读 · 0 评论 -
19、jsp的实质是什么?
学习目标:1、了解什么是JSP2、了解JSP的原理学习过程:一、JSP的概念这节课我们的目标是要搞清楚什么是JSP,他和HTML的静态页面有什么区别呢?jsp是运行在服务器端的,它的实质是一个java文件, html的静态信息,所有内容都是发送到客户端再运行的。JSP全称是Java 服务器页面 (Java Server Page ) 以扩展名 .jsp 保存,是由Sun...原创 2018-11-27 19:40:00 · 5113 阅读 · 0 评论 -
18、jquery示例
一、jquery特效jquery吸引人的地方出了对原始的javascript进行封装之外,它还提供了一些非常实用的动画特效函数。比如:show():这个就是 'show( speed, [callback] )' 无动画的版本。如果选择的元素是可见的,这个方法将不会改变任何东西。无论这个元素是通过hide()方法隐藏的还是在CSS里设置了display:none;,这个方法都将有效。h...原创 2018-11-26 22:16:11 · 107 阅读 · 0 评论 -
17、jqeuery入门
学习目标:1、了解JQuery的历史2、掌握JQuery的基本使用学习过程:一、jquery简介javascript虽然容易,不过还是比较繁琐的,而且还要考虑浏览器的兼容性问题,所以要写出好的javascript代码一点都不简单。随着ajax的流行,目前有很多公司对javascript进行了封装,使得javascript更加容易使用,比较流行有1. jQuery – Jav...原创 2018-11-26 22:06:36 · 253 阅读 · 0 评论 -
16、json的认识
学习目标:1、了解JSON格式2、了解JSON的应用学习过程:一、JSON简介JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的...原创 2018-11-26 22:01:43 · 87 阅读 · 0 评论 -
15、js修改html的css样式
学习目标:1、使用JS操作html的css样式2、通过轮询框示例加深JS的了解学习过程:之前我们学习了使用js修改html的属性达到一种交互的效果,事实上,使用js修改html的css样式可以实现一种更加绚丽的交互效果。这节课我们就学习一下如何使用js修改html的样式的方法。要修改html的样式有两种方式,一种是修改style属性html标签对象.style.style属...原创 2018-11-26 16:09:38 · 4331 阅读 · 0 评论 -
14、表单验证
学习目标:1、了解验证的必要性2、掌握客户端js的验证学习过程:为了保证用户提交的信息都是正确的,保证系统的安全性,验证是必不可少的,验证一般分为两种方式。客户端验证:直接在客户端执行JS进行验证,验证的过程中和服务器端没有任何的交互 服务器端验证:页面将验证信息传回服务器端,服务器端进行验证,并将验证的结果发送回客户端 这两个验证都是必须的,因为客户端的验证安全性不是太高...原创 2018-11-25 20:26:13 · 162 阅读 · 0 评论 -
13、级联
学习目标:1、提高数组的使用2、提高JS的应用能力学习过程:下面我们再做一个级联的效果,我们使用大家很常见的一个示例,选择了省份后就会自动的现实其对应的市,要实现这个功能,我们需要做三个步骤定义省和对应市的数据结构。 利用省份下拉框的选项改变事件onChange。 根据用户选择的省份,动态添加城市下拉框的值。1、定义省和对应市的数据结构这里采用数组的方式定义,为了...原创 2018-11-25 20:14:49 · 96 阅读 · 0 评论 -
12、数组
学习目标:1、掌握JS数组的定义2、使用JS数组实现全选功能学习过程:今天我们还是继续通过学习几个常用的示例加深对JS的理解。一、JS的数组1、定义数组和赋值定义变量的同时赋数组值,那么这个变量就是一个数组变量了。var bbb = [ 'ab', 'liu', 'bao' ];也可以先定义数组变量,然后再赋值。var arr = Array(3);a...原创 2018-11-25 19:55:20 · 118 阅读 · 0 评论 -
11、计算器的实现
学习目标:1、掌握JS和表单的结合使用2、掌握表单的取值赋值事件等功能的使用学习过程:下面我们再做一个计算器的示例,一般要完成一个与用户有交互功能的网页,第一步都是先把网页的排版搞定,然后在写javascript,基本上javascript的功能就会控制HTML的标签对象,通过修改HTML标签对象或者修改器对应的css样式来达到一种动态的效果。比如这个计算器,他的页面实现代码如下:...原创 2018-11-25 19:29:49 · 206 阅读 · 0 评论 -
10、时钟实现
学习目标:1、了解JS的时间函数2、掌握JS实现定时器3、端正学习态度学习过程:下面我们通过一个非常实用时钟示例来讲解一下知识,要实现这个时钟时间我们需要解决三个问题。获得当前时间,并格式化 如何可以在页面中显示时间 让时间动起来1、获得当前时间,并格式化要获得当前时间,可以使用JavaSctipt的Date对象,默认构造函数会返回当前时间。存储日期为自 1970...原创 2018-11-25 19:26:57 · 279 阅读 · 0 评论 -
9、基本语法和基本对象
学习目标:1、掌握JS的基本语法2、掌握JS的网页对象3、初步使用JS编写简单功能学习过程:一、基本语法javaScript需要嵌入到HTML代码中,然后在浏览器中运行,HTML嵌入代码格式如下:<script type="text/javascript"> //在这里写js代码。</script>我们可以在HTML的任何位置嵌...原创 2018-11-25 18:12:10 · 122 阅读 · 0 评论