![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java Web
无知是恶
这个作者很懒,什么都没留下…
展开
-
文件上传和下载
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现。 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件。这个common-fileuplo...转载 2019-12-29 14:10:06 · 287 阅读 · 0 评论 -
监听器(Listener)学习
一、监听器介绍1.1、监听器的概念 监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。监听器其实就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法立即被执行。1.2、监听器案例——监听window窗口的事件监听...转载 2019-12-29 13:52:55 · 728 阅读 · 0 评论 -
Filter高级开发
在filter中可以得到代表用户请求和响应的request、response对象,因此在编程中可以使用Decorator(装饰器)模式对request、response对象进行包装,再把包装对象传给目标资源,从而实现一些特殊需求。一、Decorator设计模式1.1、Decorator设计模式介绍 当某个对象的方法不适应业务需求时,通常有2种方式可以对方法进行增强:编写子类,覆盖...转载 2019-12-27 14:26:39 · 142 阅读 · 0 评论 -
Web应用中使用JavaMail发送邮件
现在很多的网站都提供有用户注册功能,通常我们注册成功之后就会收到一封来自注册网站的邮件。邮件里面的内容可能包含了我们的注册的用户名和密码以及一个激活账户的超链接等信息。今天我们也来实现一个这样的功能,用户注册成功之后,就将用户的注册信息以Email的形式发送到用户的注册邮箱当中,实现发送邮件功能就得借助于JavaMail了。一、搭建开发环境1.1、创建Web项目 1.2、用户注...转载 2019-12-27 13:04:13 · 226 阅读 · 0 评论 -
使用JavaMail创建邮件和发送邮件
一、RFC882文档简单说明 RFC882文档规定了如何编写一封简单的邮件(纯文本邮件),一封简单的邮件包含邮件头和邮件体两个部分,邮件头和邮件体之间使用空行分隔。 邮件头包含的内容有:from字段 --用于指明发件人 to字段 --用于指明收件人 subject字段--用于说明邮件主题 cc字段 -- 抄送,将邮件发送给收件人的同时抄送给另一个...转载 2019-12-27 13:03:58 · 184 阅读 · 0 评论 -
邮件的发送与接收原理
一、邮件开发涉及到的一些基本概念1.1、邮件服务器和电子邮箱 要在Internet上提供电子邮件功能,必须有专门的电子邮件服务器。例如现在Internet很多提供邮件服务的厂商:sina、sohu、163等等他们都有自己的邮件服务器。 这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中。 电子邮箱(E-Mail地址)...转载 2019-12-27 13:03:46 · 1022 阅读 · 0 评论 -
Filter(过滤器)学习
一、Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。 Servlet API中提供了一个Filter...转载 2019-12-27 13:03:33 · 138 阅读 · 0 评论 -
Apache的DBUtils框架学习
一、commons-dbutils简介 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。因此dbutils成为很多不喜欢hibernate的公司的首选。 commons-dbutilsAPI介绍:org.apache.co...转载 2019-12-27 13:03:22 · 213 阅读 · 0 评论 -
编写自己的JDBC框架
一、元数据介绍 元数据指的是"数据库"、"表"、"列"的定义信息。1.1、DataBaseMetaData元数据 Connection.getDatabaseMetaData()获得代表DatabaseMetaData元数据的DatabaseMetaData对象。 DataBaseMetaData对象的常用方法:getURL():返回一个String类对象,代表数据库的UR...转载 2019-12-27 13:03:11 · 192 阅读 · 0 评论 -
数据库连接池
一、应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长。假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的浪费数据库的资源,并且极易造成数据库服务器内存溢出、拓机。如下图所示: 二、使用数据库连接池优化程序性能2.1、数据库连接池的基本概念 数据库连接是一种关键的有限的昂贵的资...转载 2019-12-27 13:03:00 · 708 阅读 · 0 评论 -
数据库事务
一、事务的概念 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功。 例如:A——B转帐,对应于如下两条sql语句 update from account set money=money+100 where name='B'; update from account set money=money-100 where name='A';二、M...转载 2019-12-27 13:02:46 · 148 阅读 · 0 评论 -
获得MySQL数据库自动生成的主键
测试脚本如下:1 create table test12 (3 id int primary key auto_increment,4 name varchar(20)5 );测试代码:package me.gacl.demo;import java.sql.Connection;import java.sql.PreparedStatement...转载 2019-12-27 13:02:28 · 488 阅读 · 0 评论 -
使用JDBC进行批处理
在实际的项目开发中,有时候需要向数据库发送一批SQL语句执行,这时应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率。 JDBC实现批处理有两种方式:statement和preparedstatement一、使用Statement完成批处理 1、使用Statement对象添加要批量执行SQL语句,如下:1 Statement.addBatch(sql1...转载 2019-12-26 10:50:32 · 208 阅读 · 0 评论 -
使用JDBC处理Oracle大数据
一、Oracle中大数据处理 在Oracle中,LOB(Large Object,大型对象)类型的字段现在用得越来越多了。因为这种类型的字段,容量大(最多能容纳4GB的数据),且一个表中可以有多个这种类型的字段,很灵活,适用于数据 量非常大的业务领域(如图象、档案等)。 LOB类型分为BLOB和CLOB两种:BLOB即二进制大型对象(Binary Large Object),适用于存贮...转载 2019-12-26 10:42:11 · 344 阅读 · 0 评论 -
使用JDBC处理MySQL大数据
一、基本概念 大数据也称之为LOB(Large Objects),LOB又分为:clob和blob,clob用于存储大文本,blob用于存储二进制数据,例如图像、声音、二进制文等。 在实际开发中,有时是需要用程序把大文本或二进制数据直接保存到数据库中进行储存的。 对MySQL而言只有blob,而没有clob,mysql存储大文本采用的是Text,Text和blob分别又分为: ...转载 2019-12-26 10:34:09 · 137 阅读 · 0 评论 -
使用JDBC对数据库进行CRUD
一、statement对象介绍 Jdbc中的statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查,只需要通过这个对象向数据库发送增删改查语句即可。 Statement对象的executeUpdate方法,用于向数据库发送增、删、改的sql语句,executeUpdate执行完后,将会返回一个整数(即增删改语句导致了数据库几行数据发生了变化)。 Stateme...转载 2019-12-26 09:42:11 · 188 阅读 · 0 评论 -
JDBC学习入门
一、JDBC相关概念介绍1.1、数据库驱动 这里的驱动的概念和平时听到的那种驱动的概念是一样的,比如平时购买的声卡,网卡直接插到计算机上面是不能用的,必须要安装相应的驱动程序之后才能够使用声卡和网卡,同样道理,我们安装好数据库之后,我们的应用程序也是不能直接使用数据库的,必须要通过相应的数据库驱动程序,通过驱动程序去和数据库打交道,如下所示: 1.2、JDBC介绍 SUN...转载 2019-12-26 09:13:38 · 134 阅读 · 0 评论 -
jsp自定义标签开发入门
一、自定义标签的作用 自定义标签主要用于移除Jsp页面中的java代码。二、自定义标签开发和使用2.1、自定义标签开发步骤 1、编写一个实现Tag接口的Java类(标签处理器类)package me.gacl.web.tag;import java.io.IOException;import javax.servlet.http.HttpServletReque...转载 2019-12-26 08:45:15 · 209 阅读 · 0 评论 -
基于Servlet+JSP+JavaBean开发模式的用户登录注册
一、Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据。 Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式。 这里以一个最常用的用户登录注册程序来讲解S...转载 2019-12-26 08:44:12 · 717 阅读 · 1 评论 -
JavaWeb的两种开发模式
SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式。一、JSP+JavaBean开发模式1.1、jsp+javabean开发模式架构 jsp+javabean开发模式的架构图如下图(图1-1)所示在jsp+javabean架构中,JSP负责控制逻辑、表现逻辑、业务对象(j...转载 2019-12-26 08:43:57 · 588 阅读 · 0 评论 -
JavaBean总结
一、什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点:这个Java类必须具有一个无参的构造函数 属性必须私有化。 私有化的属性必须通过public类型的方法暴露给其它程序,并且方法的命名也必须遵守一定的命名规范。javaBean范例:package gacl.javabean.study;/** * @author gacl ...转载 2019-12-25 14:19:52 · 1351 阅读 · 0 评论 -
JSP属性范围
所谓的属性范围就是一个属性设置之后,可以经过多少个其他页面后仍然可以访问的保存范围。一、JSP属性范围 JSP中提供了四种属性范围,四种属性范围分别指以下四种:当前页:一个属性只能在一个页面中取得,跳转到其他页面无法取得 一次服务器请求:一个页面中设置的属性,只要经过了服务器跳转,则跳转之后的页面可以继续取得。 一次会话:一个用户设置的内容,只要是与此用户相关的页面都可以访问(一...转载 2019-12-25 13:24:30 · 140 阅读 · 0 评论 -
JSP中的九个内置对象
一、JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理。JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet) ,然后按照servlet的调用方式进行调用。 由于JSP第一次访问时会翻译成servlet,所以第一次访问通常会比较慢,但第二次访问,JSP引擎如果发现JSP没有变化,就不再翻译,而是直...转载 2019-12-25 09:54:47 · 213 阅读 · 0 评论 -
JSP指令
一、JSP指令简介 JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。 在JSP 2.0规范中共定义了三个指令:page指令 Include指令 taglib指令 JSP指令的基本语法格式:<%@ 指令 属性名="值" %> 例如: <%@ page content...转载 2019-12-25 09:47:48 · 364 阅读 · 0 评论 -
JSP基础语法
任何语言都有自己的语法,JAVA中有,JSP虽然是在JAVA上的一种应用,但是依然有其自己扩充的语法,而且在JSP中,所有的JAVA语句都可以使用。一、JSP模版元素 JSP页面中的HTML内容称之为JSP模版元素。 JSP模版元素定义了网页的基本骨架,即定义了页面的结构和外观。二、JSP表达式 JSP脚本表达式(expression)用于将程序数据输出到客户端 ...转载 2019-12-25 09:10:25 · 111 阅读 · 0 评论 -
JSP原理
一、什么是JSP? JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。 JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据。二、JSP原理2.1、Web服务器是如何调用并执行一个js...转载 2019-12-25 08:56:35 · 169 阅读 · 0 评论 -
使用Session防止表单重复提交
在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交。一、表单重复提交的常见应用场景有如下的form.jsp页面<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%&...转载 2019-12-25 08:36:46 · 93 阅读 · 0 评论 -
Java Session
一、Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的session中取出该用户的数据,为用户服务。二、Session和Cookie的...转载 2019-12-25 08:37:06 · 190 阅读 · 1 评论 -
使用Cookie进行会话管理
一、会话的概念 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。 有状态会话:一个同学来过教室,下次再来教室,我们会知道这个同学曾经来过,这称之为有状态会话。二、会话过程中要解决的一些问题? 每个用户在使用浏览器与服务器进行会话的过程中,不可避免各自会产生一些数据,程序要想办法为每个用户保存这些数据。三、...转载 2019-12-25 08:37:19 · 140 阅读 · 0 评论 -
HttpServletRequest对象(一)
一、HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。二、Request常用方法2.1、获得客户机信息 getRequestURL方法返回客户端发出请求时的完整URL。 getRequest...转载 2019-12-25 08:37:35 · 238 阅读 · 1 评论 -
通过Servlet生成验证码图片
一、BufferedImage类介绍生成验证码图片主要用到了一个BufferedImage类,如下:创建一个DrawImage Servlet,用来生成验证码图片package gacl.response.study;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import jav...原创 2019-12-24 12:57:27 · 767 阅读 · 0 评论 -
HttpServletResponse对象(二)
一、HttpServletResponse常见应用——生成验证码1.1、生成随机图片用作验证码 生成图片主要用到了一个BufferedImage类,生成随机图片范例:package gacl.response.study;import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;im...转载 2019-12-24 11:08:36 · 275 阅读 · 0 评论 -
HttpServletResponse对象(一)
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象、和代表响应的response对象。request和response对象即然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找request对象就行了。要向客户机输出数据,只需要找response对象就行了。一、HttpServletResponse对象介绍HttpServlet...转载 2019-12-24 10:57:40 · 749 阅读 · 0 评论 -
Servlet开发(二)
一、ServletConfig讲解1.1、配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数。例如:<servlet> <servlet-name>ServletConfigDemo1</servlet-name> ...转载 2019-12-24 10:20:44 · 134 阅读 · 0 评论 -
Servlet开发(一)
一、Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术。 Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤: 1、编写一个Java类,实现servlet接口。 2、把开发好的Java类部署到web服务器中。 按照一种约定俗成的称呼习惯,通常我们也...转载 2019-12-24 10:10:03 · 164 阅读 · 0 评论 -
Http协议
一、什么是HTTP协议 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。二、HTTP协议的版本 HTTP协议的...转载 2019-12-24 09:50:11 · 223 阅读 · 1 评论 -
Tomcat服务器学习和使用(二)
一、打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下:范例:将JavaWebDemoProject这个JavaWeb应用打包成war包执行完之后,就可以得到一个文件,平时开发完JavaWeb应用后,一般都会将JavaWeb应用打包成一个war包,然后将这个war包放到Tomcat服务器的webapps目录...转载 2019-12-24 09:04:16 · 134 阅读 · 0 评论 -
Tomcat服务器学习和使用(一)
一、Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件。 如果想修改Tomcat服务器的启动端口,则可以在server.xml配置文件中的Connector节点进行的端口修改例如:将Tomcat服务器的启动端口由默认的8080改成8081端口Tomcat服务器启动端口默认配置1 <Connec...转载 2019-12-24 09:04:01 · 146 阅读 · 0 评论 -
JavaWeb开发入门
JavaWeb学习总结(一)——JavaWeb开发入门一、基本概念1.1、WEB开发的相关知识WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。 Internet上供外界访问的Web资源分为:静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同...转载 2019-12-24 09:04:29 · 90 阅读 · 0 评论