JavaWeb学习总结
JavaWeb学习总结
JavaWeb学习总结(五十三)——Web应用中使用JavaMail发送邮件
摘要: 现在很多的网站都提供有用户注册功能,通常我们注册成功之后就会收到一封来自注册网站的邮件。邮件里面的内容可能包含了我们的注册的用户名和密码以及一个激活账户的超链接等信息。今天我们也来实现一个这样的功能,用户注册成功之后,就将用户的注册信息以Email的形式发送到用户的注册邮箱当中,实现发送邮件功能... 阅读全文
JavaWeb学习总结(五十二)——使用JavaMail创建邮件和发送邮件
摘要: 一、RFC882文档简单说明 RFC882文档规定了如何编写一封简单的邮件(纯文本邮件),一封简单的邮件包含邮件头和邮件体两个部分,邮件头和邮件体之间使用空行分隔。 邮件头包含的内容有:from字段 --用于指明发件人to字段 --用于指明收件人subject字段--用于说明邮件主题cc字段... 阅读全文
JavaWeb学习总结(五十一)——邮件的发送与接收原理
摘要: 一、邮件开发涉及到的一些基本概念1.1、邮件服务器和电子邮箱 要在Internet上提供电子邮件功能,必须有专门的电子邮件服务器。例如现在Internet很多提供邮件服务的厂商:sina、sohu、163等等他们都有自己的邮件服务器。 这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递... 阅读全文
JavaWeb学习总结(五十)——文件上传和下载
摘要: 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现。 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apac... 阅读全文
JavaWeb学习总结(四十九)——简单模拟Sping MVC
摘要: 在Spring MVC中,将一个普通的java类标注上Controller注解之后,再将类中的方法使用RequestMapping注解标注,那么这个普通的java类就够处理Web请求,示例代码如下: 1 /** 2 * 使用Controller注解标注LoginUI类 3 */ 4 @Con... 阅读全文
JavaWeb学习总结(四十八)——模拟Servlet3.0使用注解的方式配置Servlet
摘要: 一、Servlet的传统配置方式 在JavaWeb开发中, 每次编写一个Servlet都需要在web.xml文件中进行配置,如下所示:1 2 ActionServlet3 me.gacl.web.controller.ActionServlet4 5 6 7 ActionS... 阅读全文
javaweb学习总结(四十七)——监听器(Listener)在开发中的应用
摘要: 监听器在JavaWeb开发中用得比较多,下面说一下监听器(Listener)在开发中的常见应用一、统计当前在线人数 在JavaWeb应用开发中,有时候我们需要统计当前在线的用户数,此时就可以使用监听器技术来实现这个功能了。 1 package me.gacl.web.listener; 2 ... 阅读全文
javaweb学习总结(四十六)——Filter(过滤器)常见应用
摘要: 一、统一全站字符编码 通过配置参数charset指明使用何种字符编码,以处理Html Form请求参数的中文问题 1 package me.gacl.web.filter; 2 3 import java.io.IOException; 4 import javax.servlet.Filter... 阅读全文
javaweb学习总结(四十五)——监听器(Listener)学习二
摘要: 一、监听域对象中属性的变更的监听器 域对象中属性的变更的事件监听器就是用来监听 ServletContext, HttpSession, HttpServletRequest 这三个对象中的属性变更信息事件的监听器。 这三个监听器接口分别是ServletContextAttributeListe... 阅读全文
javaweb学习总结(四十四)——监听器(Listener)学习
摘要: 一、监听器介绍1.1、监听器的概念 监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。监听器其实就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事... 阅读全文
javaweb学习总结(四十三)——Filter高级开发
摘要: 在filter中可以得到代表用户请求和响应的request、response对象,因此在编程中可以使用Decorator(装饰器)模式对request、response对象进行包装,再把包装对象传给目标资源,从而实现一些特殊需求。一、Decorator设计模式1.1、Decorator设计模式介... 阅读全文
javaweb学习总结(四十二)——Filter(过滤器)学习
摘要: 一、Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制... 阅读全文
javaweb学习总结(四十一)——Apache的DBUtils框架学习
摘要: 一、commons-dbutils简介 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。因此dbutils成为很多不喜欢hibernat... 阅读全文
javaweb学习总结(四十)——编写自己的JDBC框架
摘要: 一、元数据介绍 元数据指的是"数据库"、"表"、"列"的定义信息。1.1、DataBaseMetaData元数据 Connection.getDatabaseMetaData()获得代表DatabaseMetaData元数据的DatabaseMetaData对象。 DataBaseMetaDa... 阅读全文
javaweb学习总结(三十九)——数据库连接池
摘要: 一、应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长。假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的浪费数据库的资源,并且极易造成数据库服务器内存溢出、拓机。如下图所示: 二、使用数据库连接池优... 阅读全文
javaweb学习总结(三十八)——事务
摘要: 一、事务的概念 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功。 例如:A——B转帐,对应于如下两条sql语句 update from account set money=money+100 where name='B'; update from accou... 阅读全文
javaweb学习总结(三十七)——获得MySQL数据库自动生成的主键
摘要: 测试脚本如下:1 create table test12 (3 id int primary key auto_increment,4 name varchar(20)5 ); 测试代码: 1 package me.gacl.demo; 2 3 import java.... 阅读全文
javaweb学习总结(三十六)——使用JDBC进行批处理
摘要: 在实际的项目开发中,有时候需要向数据库发送一批SQL语句执行,这时应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率。 JDBC实现批处理有两种方式:statement和preparedstatement一、使用Statement完成批处理 1、使用Statemen... 阅读全文
JavaWeb学习总结(三十五)——使用JDBC处理Oracle大数据
摘要: 一、Oracle中大数据处理 在Oracle中,LOB(Large Object,大型对象)类型的字段现在用得越来越多了。因为这种类型的字段,容量大(最多能容纳4GB的数据),且一个表中可以有多个这种类型的字段,很灵活,适用于数据 量非常大的业务领域(如图象、档案等)。 LOB类型分为BLOB和... 阅读全文
javaweb学习总结(三十四)——使用JDBC处理MySQL大数据
摘要: 一、基本概念 大数据也称之为LOB(Large Objects),LOB又分为:clob和blob,clob用于存储大文本,blob用于存储二进制数据,例如图像、声音、二进制文等。 在实际开发中,有时是需要用程序把大文本或二进制数据直接保存到数据库中进行储存的。 对MySQL而言只有blob,... 阅读全文
javaweb学习总结(三十三)——使用JDBC对数据库进行CRUD
摘要: 一、statement对象介绍 Jdbc中的statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查,只需要通过这个对象向数据库发送增删改查语句即可。 Statement对象的executeUpdate方法,用于向数据库发送增、删、改的sql语句,executeUpdate... 阅读全文
javaweb学习总结(三十二)——JDBC学习入门
摘要: 一、JDBC相关概念介绍1.1、数据库驱动 这里的驱动的概念和平时听到的那种驱动的概念是一样的,比如平时购买的声卡,网卡直接插到计算机上面是不能用的,必须要安装相应的驱动程序之后才能够使用声卡和网卡,同样道理,我们安装好数据库之后,我们的应用程序也是不能直接使用数据库的,必须要通过相应的数据库驱动... 阅读全文
javaweb学习总结(三十一)——国际化(i18n)
摘要: 一、国际化开发概述 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。 国际化(internationalization)又称为 i18n(读法为i 18 n,据说是因为internationalizati... 阅读全文
javaweb学习总结(三十)——EL函数库
摘要: 一、EL函数库介绍 由于在JSP页面中显示数据时,经常需要对显示的字符串进行处理,SUN公司针对于一些常见处理定义了一套EL函数库供开发者使用。 这些EL函数在JSTL开发包中进行描述,因此在JSP页面中使用SUN公司的EL函数库,需要导入JSTL开发包,并在页面中导入EL函数库,如下所示: ... 阅读全文
javaweb学习总结(二十九)——EL表达式
摘要: 一、EL表达式简介 EL 全名为Expression Language。EL主要作用: 1、获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象、获取数据。(某个web域 中的对象,访问javabean的属性、访问list集合、访问map集合... 阅读全文
javaweb学习总结(二十八)——JSTL标签库之核心标签
摘要: 一、JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的。使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码二、JSTL标签库的分类核心标签(用得最多)国际化标签(I18N格式化标签)数据库标签(SQL标签,很少使用)XML标签(几乎... 阅读全文
javaweb学习总结(二十七)——jsp简单标签开发案例和打包
摘要: 一、开发标签库1.1、开发防盗链标签 1、编写标签处理器类:RefererTag.java 1 package me.gacl.web.simpletag; 2 3 import java.io.IOException; 4 import javax.servlet.http.HttpServl... 阅读全文
在Servlet使用getServletContext()获取ServletContext对象出现java.lang.NullPointerException(空指针)异常的解决办法
摘要: 今天遇到了一个在servlet的service方法中获取ServletContext对象出现java.lang.NullPointerException(空指针)异常,代码如下:1 //获取ServletContext对象2 ServletContext servletContext = thi... 阅读全文
javaweb学习总结(二十六)——jsp简单标签标签库开发(二)
摘要: 一、JspFragment类介绍 javax.servlet.jsp.tagext.JspFragment类是在JSP2.0中定义的,它的实例对象代表JSP页面中的一段符合JSP语法规范的JSP片段,这段JSP片段中不能包含JSP脚本元素。 WEB容器在处理简单标签的标签体时,会把标签体内容用一... 阅读全文
javaweb学习总结(二十五)——jsp简单标签开发(一)
摘要: 一、简单标签(SimpleTag) 由于传统标签使用三个标签接口来完成不同的功能,显得过于繁琐,不利于标签技术的推广, SUN公司为降低标签技术的学习难度,在JSP 2.0中定义了一个更为简单、便于编写和调用的SimpleTag接口来实现标签的功能。 实现SimpleTag接口的标签通常称为简单... 阅读全文
javaweb学习总结(二十四)——jsp传统标签开发
摘要: 一、标签技术的API1.1、标签技术的API类继承关系 二、标签API简单介绍2.1、JspTag接口 JspTag接口是所有自定义标签的父接口,它是JSP2.0中新定义的一个标记接口,没有任何属性和方法。JspTag接口有Tag和SimpleTag两个直接子接口,JSP2.0以前的版本中只有T... 阅读全文
javaweb学习总结(二十三)——jsp自定义标签开发入门
摘要: 一、自定义标签的作用 自定义标签主要用于移除Jsp页面中的java代码。二、自定义标签开发和使用2.1、自定义标签开发步骤 1、编写一个实现Tag接口的Java类(标签处理器类) 1 package me.gacl.web.tag; 2 3 import java.io.IOExceptio... 阅读全文
javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
摘要: 一、Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据。 Servlet+JSP+JavaBean模式程序各个... 阅读全文
javaweb学习总结(二十一)——JavaWeb的两种开发模式
摘要: SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式。一、JSP+JavaBean开发模式1.1、jsp+javabean开发模式架构 jsp+javabean开发模式的架构图如下图(图1-... 阅读全文
javaweb学习总结(二十)——JavaBean总结
摘要: 一、什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点:这个Java类必须具有一个无参的构造函数属性必须私有化。私有化的属性必须通过public类型的方法暴露给其它程序,并且方法的命名也必须遵守一定的命名规范。javaBean范例: 1 package ga... 阅读全文
javaweb学习总结(十九)——JSP标签
摘要: 一、JSP标签介绍 JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护。二、JSP常用标签 jsp的常用标签有以下三个标签 标签 标签2.1、标签 标签用于把另外一个资源的输出内容插入进... 阅读全文
javaweb学习总结(十八)——JSP属性范围
摘要: 所谓的属性范围就是一个属性设置之后,可以经过多少个其他页面后仍然可以访问的保存范围。一、JSP属性范围 JSP中提供了四种属性范围,四种属性范围分别指以下四种:当前页:一个属性只能在一个页面中取得,跳转到其他页面无法取得一次服务器请求:一个页面中设置的属性,只要经过了服务器跳转,则跳转之后的页... 阅读全文
JavaWeb学习总结(十七)——JSP中的九个内置对象
摘要: 一、JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理。JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet) ,然后按照servlet的调用方式进行调用。 由于JSP第一次访问时会翻译成servlet,... 阅读全文
javaweb学习总结(十六)——JSP指令
摘要: 一、JSP指令简介 JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。 在JSP 2.0规范中共定义了三个指令:page指令Include指令taglib指令 JSP指令的基本语法格式: 例如:1 如果一个... 阅读全文
javaweb学习总结(十五)——JSP基础语法
摘要: 任何语言都有自己的语法,JAVA中有,JSP虽然是在JAVA上的一种应用,但是依然有其自己扩充的语法,而且在JSP中,所有的JAVA语句都可以使用。一、JSP模版元素 JSP页面中的HTML内容称之为JSP模版元素。 JSP模版元素定义了网页的基本骨架,即定义了页面的结构和外观。二、JSP... 阅读全文
javaweb学习总结(十四)——JSP原理
摘要: 一、什么是JSP? JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。 JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套jav... 阅读全文
JavaWeb学习总结(十三)——使用Session防止表单重复提交
摘要: 在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交。一、表单重复提交的常见应用场景有如下的form.jsp页面 1 2 3 4 5 Form表单... 阅读全文
JavaWeb学习总结(十二)——Session
摘要: 一、Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序... 阅读全文
javaweb学习总结(十一)——使用Cookie进行会话管理
摘要: 一、会话的概念 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。 有状态会话:一个同学来过教室,下次再来教室,我们会知道这个同学曾经来过,这称之为有状态会话。二、会话过程中要解决的一些问题? 每个用户在使用浏览器与服务器进行... 阅读全文
javaweb学习总结(十)——HttpServletRequest对象(一)
摘要: 一、HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。二、Request常用方法2.1、获得客户机信息 ge... 阅读全文
javaweb学习总结(九)—— 通过Servlet生成验证码图片
摘要: 一、BufferedImage类介绍生成验证码图片主要用到了一个BufferedImage类,如下:创建一个DrawImage Servlet,用来生成验证码图片 1 package gacl.response.study; 2 import java.awt.Color; 3 import ... 阅读全文
javaweb学习总结(八)——HttpServletResponse对象(二)
摘要: 一、HttpServletResponse常见应用——生成验证码1.1、生成随机图片用作验证码 生成图片主要用到了一个BufferedImage类, 生成随机图片范例: 1 package gacl.response.study; 2 3 import java.awt.Color; 4 im... 阅读全文
javaweb学习总结(七)——HttpServletResponse对象(一)
摘要: Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象、和代表响应的response对象。request和response对象即然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找request对象就行了。要向客户机输出数据,只需要找resp... 阅读全文
javaweb学习总结(六)——Servlet开发(二)
摘要: 一、ServletConfig讲解1.1、配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个标签为servlet配置一些初始化参数。例如: 1 2 ServletConfigDemo1 3 gacl.servlet.study.Servl... 阅读全文
javaweb学习总结(五)——Servlet开发(一)
摘要: 一、Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术。 Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤: 1、编写一个Java类,实现servlet接口。 ... 阅读全文
javaweb学习总结(四)——Http协议
摘要: 一、什么是HTTP协议 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HT... 阅读全文
JavaWeb学习总结(三)——Tomcat服务器学习和使用(二)
摘要: 一、打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下: 范例:将JavaWebDemoProject这个JavaWeb应用打包成war包 执行完之后,就可以得到一个文件,平时开发完JavaWeb应用后,一般都会将Jav... 阅读全文
JavaWeb学习总结(二)——Tomcat服务器学习和使用(一)
摘要: 一、Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件。 如果想修改Tomcat服务器的启动端口,则可以在server.xml配置文件中的Connector节点进行的端口修改例如:将Tomcat服务器的启动端口由默认的80... 阅读全文
JavaWeb学习总结(一)——JavaWeb开发入门
摘要: 一、基本概念1.1、WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。 Internet上供外界访问的Web资源分为:静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。动态web资源:指web页面中供人们浏... 阅读全文