Javaweb
官小飞
hello everybody,hello everyone。
展开
-
javaweb之文件上传总结
一。文件上传:是指允许客户将本地文件,上传到服务器端 常见的应用:上传照片、上传新闻图片、上传附件 文件上传编程基本步骤: 1、在用户页面中添加上传输入项 (客户端页面操作)也就是编写一个jsp页面里面编写一个表单提交 注意事项: 1) 必须为文件上传input 提供name属性,否则文件上传内容不会被表单提交 2) 表单的提交是post (g原创 2016-08-11 08:49:44 · 1526 阅读 · 0 评论 -
深入分析JavaWeb 38 -- 监听器(Listener)快速学习
一、监听器介绍1.1、监听器的概念 监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。监听器其实就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法立即被执行。1.2、监听器案例——监听window窗口的事件监听器package原创 2016-02-22 09:21:27 · 388 阅读 · 0 评论 -
深入分析JavaWeb 37 -- 过滤器Filter典型應用
一、统一全站字符编码 通过配置参数charset指明使用何种字符编码,以处理Html Form请求参数的中文问题package me.gacl.web.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.Filte原创 2016-02-22 09:19:12 · 381 阅读 · 0 评论 -
深入分析JavaWeb 36 -- 过滤器Filter高级应用
在filter中可以得到代表用户请求和响应的request、response对象,因此在编程中可以使用Decorator(装饰器)模式对request、response对象进行包装,再把包装对象传给目标资源,从而实现一些特殊需求。一、Decorator设计模式1.1、Decorator设计模式介绍 当某个对象的方法不适应业务需求时,通常有2种方式可以对方法进行增强:编写子类,覆盖需增强的方法。原创 2016-02-22 09:17:58 · 839 阅读 · 0 评论 -
深入分析JavaWeb 35 -- 过滤器Filter学习
一、Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。 Servlet API中提供了一个Filter接口原创 2016-02-22 09:16:07 · 377 阅读 · 0 评论 -
深入分析JavaWeb 34 -- DBUtils框架学习
一、commons-dbutils简介 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。因此dbutils成为很多不喜欢hibernate的公司的首选。commons-dbutilsAPI介绍:org.apache.commons.dbu原创 2016-02-22 09:14:23 · 408 阅读 · 0 评论 -
深入分析JavaWeb 33 -- 开发自己简易的JDBC框架
一、元数据介绍 元数据指的是”数据库“、“表“、”列“的定义信息。1.1、DataBaseMetaData元数据 Connection.getDatabaseMetaData()获得代表DatabaseMetaData元数据的DatabaseMetaData对象。 DataBaseMetaData对象的常用方法:getURL():返回一个String类对象,代表数据库的URL。getU原创 2016-02-22 09:09:51 · 463 阅读 · 0 评论 -
深入分析JavaWeb 32 -- 数据库连接池
一、应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长。假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的浪费数据库的资源,并且极易造成数据库服务器内存溢出、拓机。如下图所示: 二、使用数据库连接池优化程序性能2.1、数据库连接池的基本概念 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网原创 2016-02-19 09:54:59 · 1531 阅读 · 0 评论 -
深入分析JavaWeb 31 -- JDBC(MySQL)事务管理
一、事务的概念 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功。 例如:A——B转帐,对应于如下两条sql语句 update from account set money=money+100 where name='B';update from account set money=money-100 where name='A';二、MySQL数据库原创 2016-02-19 09:52:33 · 529 阅读 · 0 评论 -
深入分析JavaWeb 30 -- 使用JDBC进行批处理
在实际的项目开发中,有时候需要向数据库发送一批SQL语句执行,这时应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率。 JDBC实现批处理有两种方式:statement和preparedstatement一、使用Statement完成批处理 1、使用Statement对象添加要批量执行SQL语句,如下: Statement.addBatch(sql1); Stat原创 2016-02-19 09:50:39 · 285 阅读 · 0 评论 -
深入分析JavaWeb 29 -- 使用JDBC处理大数据(MySql + Oracle)
一、基本概念 大数据也称之为LOB(Large Objects),LOB又分为:clob和blob,clob用于存储大文本,blob用于存储二进制数据,例如图像、声音、二进制文等。 在实际开发中,有时是需要用程序把大文本或二进制数据直接保存到数据库中进行储存的。 对MySQL而言只有blob,而没有clob,mysql存储大文本采用的是Text,Text和blob分别又分为: TINYT原创 2016-02-19 09:47:58 · 571 阅读 · 0 评论 -
深入分析JavaWeb 28 -- 使用JDBC对数据库进行CRUD
一、statement对象介绍 Jdbc中的statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查,只需要通过这个对象向数据库发送增删改查语句即可。 Statement对象的executeUpdate方法,用于向数据库发送增、删、改的sql语句,executeUpdate执行完后,将会返回一个整数(即增删改语句导致了数据库几行数据发生了变化)。 Statement.原创 2016-02-19 09:45:46 · 311 阅读 · 0 评论 -
深入分析JavaWeb 27 -- JDBC学习入门
一、JDBC相关概念介绍1.1、数据库驱动 这里的驱动的概念和平时听到的那种驱动的概念是一样的,比如平时购买的声卡,网卡直接插到计算机上面是不能用的,必须要安装相应的驱动程序之后才能够使用声卡和网卡,同样道理,我们安装好数据库之后,我们的应用程序也是不能直接使用数据库的,必须要通过相应的数据库驱动程序,通过驱动程序去和数据库打交道,如下所示: 1.2、JDBC介绍 SUN公司为了简化、统一对数原创 2016-02-17 11:31:42 · 306 阅读 · 0 评论 -
深入分析JavaWeb 26 -- MySQL 学习笔记
SQL基本部分:1、数据库操作相关SQL —- database 创建数据库 create database 数据库名称; —— 在sql后通过 character set 指定数据库本身字符集,如果没有指定将服务器默认 * 服务器默认字符集 mysql安装目录/my.ini [mysqld] default-character-set查看当前有哪些数据库 show databases;修改数据原创 2016-02-17 11:30:26 · 457 阅读 · 0 评论 -
深入分析JavaWeb 39 -- 监听器(Listener)学习进阶
一、监听域对象中属性的变更的监听器 域对象中属性的变更的事件监听器就是用来监听 ServletContext, HttpSession, HttpServletRequest 这三个对象中的属性变更信息事件的监听器。 这三个监听器接口分别是ServletContextAttributeListener, HttpSessionAttributeListener 和ServletReq原创 2016-02-22 09:23:08 · 365 阅读 · 0 评论 -
深入分析JavaWeb 40 -- 文件上传和下载
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现。 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件。这个common-fileupload上原创 2016-02-22 09:25:16 · 351 阅读 · 0 评论 -
深入分析JavaWeb 41 -- 邮件的发送与接收原理
一、 邮件开发涉及到的一些基本概念1.1、邮件服务器和电子邮箱 要在Internet上提供电子邮件功能,必须有专门的电子邮件服务器。例如现在Internet很多提供邮件服务的厂商:sina、sohu、163等等他们都有自己的邮件服务器。 这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中。 电子邮箱(E-Mail地址)的获得需要在邮件服原创 2016-02-22 09:29:10 · 539 阅读 · 0 评论 -
深入分析JavaWeb 54 -- Spring中的AOP面向切面编程2
一、在Advice方法中获取目标方法的参数1、获取目标方法的信息访问目标方法最简单的做法是定义增强处理方法时,将第一个参数定义为JoinPoint类型,当该增强处理方法被调用时,该JoinPoint参数就代表了织入增强处理的连接点。JoinPoint里包含了如下几个常用的方法:Object[] getArgs:返回目标方法的参数Signature getSignature:返回目标方法的签名O原创 2016-06-12 14:50:49 · 1349 阅读 · 0 评论 -
深入分析JavaWeb 53 -- Spring中的AOP面向切面编程1
一、AOP基本概念和Spring对AOP的支持1、AOP的基本概念AOP从运行的角度考虑程序的流程,提取业务处理过程的切面。AOP面向的是程序运行中的各个步骤,希望以更好的方式来组合业务逻辑的各个步骤。AOP框架并不与特定的代码耦合,AOP框架能处理程序执行中特定切入点,而不与具体某个类耦合(即在不污染某个类的情况下,处理这个类相关的切点)。下面是一些AOP的一些术语:切面(Aspect):业务流程原创 2016-06-12 14:44:13 · 1406 阅读 · 0 评论 -
深入分析JavaWeb 52 -- Spring注解Annotation
一、注解注解Annotation,是一种类似注释的机制,在代码中添加注解可以在之后某时间使用这些信息。跟注释不同的是,注释是给我们看的,java虚拟机不会编译,注解也是不编译的,但是我们可以通过反射机制去读取注解中的信息。注解使用关键字@interface,继承java.lang.annotition.Annotition1、javaSE中的注解先举个例子来回顾一下在javaSE中注解是什么东东,关原创 2016-06-12 14:41:07 · 1461 阅读 · 0 评论 -
深入分析JavaWeb 51 -- Spring依赖注入
一、依赖注入(DI)依赖注入听起来很高深的样子,其实白话就是:给属性赋值。一共有两种方法,第一是以构造器参数的形式,另外一种就是以setting方法的形式。1 构造器注入1 使用构造器注入使用xml的注入方式A. 通过参数的顺序<constructor-arg index="0"><value>张三</value></constructor-arg><constructor-arg index=原创 2016-06-12 14:33:14 · 1127 阅读 · 0 评论 -
深入分析JavaWeb 49 -- Struts2中常用标签与主题
一、非UI标签1、property标签property标签用于输出指定值: * default:可选属性, 如果需要输出的属性值为null,则显示该属性指定的值 * escape:可选属性,指定是否格式化HTML代码。 * value: 可选属性,指定需要输出的属性值,如果没有指定该属性,则默认输出ValueStack栈顶的值。2、set标签set标签用原创 2016-06-08 10:34:49 · 1255 阅读 · 0 评论 -
深入分析JavaWeb 48 -- Struts2中OGNL表达式与ValueStack
一、OGNL表达式1、OGNL表达式介绍OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目。 Struts2框架使用OGNL作为默认的表达式语言。OGNL相对其它表达式语言具有下面几大优势:1、支持对象方法调用,如xxx.doSomeSpecial(); 2、支持类静态的方法调用和值访问,表达式的格式: @[类全名(包括原创 2016-06-08 10:24:11 · 1617 阅读 · 0 评论 -
深入分析JavaWeb 47 -- Struts2拦截器与文件上传下载
一、struts2中的拦截器(框架功能核心)1、过滤器VS拦截器过滤器VS拦截器功能是一回事。过滤器是Servlet规范中的技术,可以对请求和响应进行过滤。拦截器是Struts2框架中的技术,实现AOP(面向切面)的编程思想,是可插拔的, 可以对访问某个 Action 方法之前或之后实施拦截。拦截器栈(Interceptor Stack): 将拦截器按一定的顺序联结成一条链. 在访问被拦截的方法时,原创 2016-06-08 10:06:23 · 1899 阅读 · 1 评论 -
深入分析JavaWeb 46 -- Struts2数据校验与国际化
1、用户输入数据的校验1、校验方式a:客户端校验。(防君子防不了小人)在页面中写js脚本。 这样做的好处是:输入错误的话提醒比较及时;减轻服务器的压力 b、服务器端校验。 数据安全 ,整个应用阻止非法数据的最后防线而在实际开发中通常选择:a+b 2、服务器端数据校验:1、编程式校验:自己Action中编写一个校验代码(缺点:验证规则都写在了代码中)前提:动作类继承ActionSuppor原创 2016-06-08 10:02:00 · 2335 阅读 · 0 评论 -
深入分析JavaWeb 45 -- Struts2封装请求参数与类型转换
作为MVC框架,必须要负责解析HTTP请求参数,并将其封装到Model对象中,Struts2提供了非常强大的类型转换机制用于请求数据 到 model对象的封装。1、Struts2 提供三种数据封装的方式Action 本身作为model对象,通过成员setter封装创建独立model对象,页面通过ognl表达式封装使用ModelDriven接口,对请求数据进行封装1. 方式一:在动作类中成员变量给原创 2016-06-08 09:54:37 · 2148 阅读 · 0 评论 -
深入分析JavaWeb 44 -- Struts2开发核心之动作类Action
一、Action动作类(一般用**Action结尾)struts2 的Action可以是POJO(Plain Old Java Object) 为了让用户开发的Action更加规范struts2提供了一个Action接口通过method属性指定Action执行方法没有指定method属性,默认执行execute方法<action name="addCustomer" class="xgp.stru原创 2016-06-08 09:50:24 · 2454 阅读 · 0 评论 -
深入分析JavaWeb 43 -- Struts2开发入门
一、Struts2概述1、Struts2是什么?Struts2是一个M(模型—域–范围模型)V(View视图)C(控制器)框架(模型2)。框架都是一个半成品。提高开发效率。Struts1是一个MVC框架,非常流行。有很大的缺点。此时一个webwork的框架设计超前,名气不是很大。Struts1+webworkd=struts2。用的是struts1的名字,但是与sruts1没啥关系,struts2的原创 2016-06-08 09:47:58 · 2063 阅读 · 1 评论 -
深入分析JavaWeb 42 -- JavaMail创建邮件和发送邮件
一、RFC882文档简单说明 RFC882文档规定了如何编写一封简单的邮件(纯文本邮件),一封简单的邮件包含邮件头和邮件体两个部分,邮件头和邮件体之间使用空行分隔。 邮件头包含的内容有:from字段 –用于指明发件人to字段 –用于指明收件人subject字段 –用于说明邮件主题cc字段 – 抄送,将邮件发送给收件人的同时抄送给另一个收件人,收件人可以看到邮件原创 2016-02-22 09:31:30 · 824 阅读 · 0 评论 -
深入分析JavaWeb 25 -- 自定义标签开发案例和打包自定义标签库
一、开发标签库案例1.1、开发防盗链标签 1、编写标签处理器类:RefererTag.javapackage me.gacl.web.simpletag;import java.io.IOException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;im原创 2016-02-17 11:28:34 · 366 阅读 · 0 评论 -
深入分析JavaWeb 24 -- jsp2.X自定义标签开发进阶
一、简单标签(SimpleTag) 由于传统标签使用三个标签接口来完成不同的功能,显得过于繁琐,不利于标签技术的推广, SUN公司为降低标签技术的学习难度,在JSP 2.0中定义了一个更为简单、便于编写和调用的SimpleTag接口来实现标签的功能。 实现SimpleTag接口的标签通常称为简单标签。简单标签共定义了5个方法:setJspContext方法setParent和getParen原创 2016-02-17 11:20:48 · 563 阅读 · 0 评论 -
深入分析JavaWeb 7 -- HttpServletResponse详解
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象、和代表响应的response对象。 request和response对象即然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找request对象就行了。要向客户机输出数据,只需要找response对象就行了。一、HttpServletResponse对象介绍 HttpServletR原创 2016-02-01 14:05:28 · 387 阅读 · 0 评论 -
深入分析JavaWeb 6 -- servletConfig 与servletContext详解
一、ServletConfig讲解首先看ServletConfig API文档1.1、配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数。例如:<servlet> <servlet-name>ServletConfigDemo1</servlet-name> <servlet-c原创 2016-02-01 13:57:03 · 375 阅读 · 0 评论 -
深入分析JavaWeb 5 -- Servlet开发
一、Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术。 Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤: 1、编写一个Java类,实现servlet接口。 2、把开发好的Java类部署到web服务器中。 按照一种约定俗成的称呼习惯,原创 2016-02-01 10:24:44 · 395 阅读 · 0 评论 -
深入分析JavaWeb 4 -- Http协议
一、什么是HTTP协议 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。二、HTTP协议的版本 HTTP协议的版本:HTTP原创 2016-02-01 09:58:32 · 366 阅读 · 0 评论 -
深入分析JavaWeb 3 -- Tomcat服务器学习和使用2
一、打包JavaWeb应用 在Java中,使用”jar”命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下: 范例:将JavaWebDemoProject这个JavaWeb应用打包成war包 执行完之后,就可以得到一个文件,平时开发完JavaWeb应用后,一般都会将JavaWeb应用打包成一个war包,然后将这个war包放到Tomcat服务器的webapps目录下,当To原创 2016-02-01 09:56:45 · 387 阅读 · 0 评论 -
深入分析JavaWeb 2 -- Tomcat服务器学习和使用
一、Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件。 如果想修改Tomcat服务器的启动端口,则可以在server.xml配置文件中的Connector节点进行的端口修改例如:将Tomcat服务器的启动端口由默认的8080改成8081端口Tomcat服务器启动端口默认配置<Connector port="8080" p原创 2016-02-01 09:52:49 · 363 阅读 · 0 评论 -
深入分析JavaWeb 1 -- JavaWeb开发入门
一、基本概念1.1、WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。 Internet上供外界访问的Web资源分为:静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不原创 2016-01-30 13:46:59 · 423 阅读 · 0 评论 -
SSh三大框架工作原理介绍
Struts1工作原理Struts1工作原理图1、初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的Servlet,在启动时总控制器会读取配置文件(struts-config.xml)的配置信息,为struts中不同的模块初始化相应的对象。(面向对象思想) 2、发送请求:用户提交表单或通过URL向WEB服务器提原创 2015-12-24 14:22:50 · 28989 阅读 · 2 评论 -
修改(My)Eclipse默认的Servlet和jsp代码模板
一、修改Servlet的默认模板代码 使用MyEclipse创建Servlet时,根据默认的Servlet模板生成的Servlet代码如下: 1 package gacl.servlet.study; 2 3 import java.io.IOException; 4 import java.io.PrintWriter; 5 6 import javax.原创 2016-01-07 09:32:40 · 2214 阅读 · 1 评论