自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 使用XML Schema的简化配置方式

1.使用P:命名空间p:命名空间甚至不需要特定的Schema定义,它直接存在于Spring内核中。与前面采用元素定义Bean的属性不同是,当导入p:命名空间之后,就可以直接在元素中使用属性来驱动执行setter方法。下面是一个持久化的类public class Chinese implements Person{ private Axe axe; private int age;

2016-02-29 23:11:47 985

原创 Spring之不同步的Bean

singleton作用域的Bean只有一次初始化的机会,它的依赖关系也只有在初始化阶段被设置,当singleton作用域的Bean依赖prototype作用域的Bean时,Spring容器会在初始化singleton作用域的Bean之前,先创建被依赖的prototype Bean,然后才初始化singleton Bean,并将prototype Bean注入singleton Bean,这会导致以

2016-02-28 23:42:26 738

原创 容器中Bean的生命周期

对于prototype作用域的Bean,Spring容器仅仅负责创建,当客户创建了Bean实例之后,Bean实例完全交给客户端代码管理,容器不再跟踪其生命周期。对于singleton作用域的Bean,Spring容器知道Bean何时实例化结束、何时销毁,Spring可以管理实例化结束之后和销毁之前的行为。管理Bean的生命周期行为主要有如下两个时机。1)        注入依赖关系之后2)

2016-02-28 23:38:21 491

原创 Spring之获得Bean本身的id

在某些极端情况下,业务要求程序员在开发Bean类时能预先知道该Bean的配置id,此时可借助Spring提供的BeanNameAware接口,通过该接口即可提交预知Bean的配置id.BeanNameAware接口提供了一个方法:setBeanName(Sring name),该方法的name参数就是Bean的id,实现该方法的Bean类就可通过该方法来获得部署该Bean的id了。下面定义一个

2016-02-28 23:36:41 2813

原创 Spring之容中的工厂Bean

这里说的工厂Bean是Spring的一种特殊Bean,这种工厂Bean必须实现FactoryBean接口。FactoryBean接口是工厂Bean的标准接口,把工厂Bean(实现FactoryBean接口的Bean)部署在容器中之后,如果程序通过getBean()方法来获取它时,容器返回的不是FactoryBean实现类的实例,而是返回FactoryBean的产品(即该工厂Bean的getObje

2016-02-28 23:33:26 668

原创 创建Bean的方式

Spring主要支持如下的三种方式来创建Bean。1)        调用构造器创建Bean.2)        调用静态工厂方法创建Bean3)        调用实例工厂方法创建Bean1.使用构造器创建Bean实例如果采用构造注入,则要求配置文件为元素添加子元素,每个子元素配置一个构造器参数。Spring容器将使用带对应参数的构造器来创建Bean实例,Spring调用构造

2016-02-28 23:28:12 487

原创 Spring之注入集合值

如果需要调用形参类型为集合的setter方法,或调用形参类型为集合的构造器,则可使用集合元素、、和分别来设置类型为List、Set、Map和Properties的集合参数值。下面笔者通过代码来展示给大家看,相信,聪明的你们一看代码就知道注入集合值是怎么回事及怎么用了。1)        定义Chinese.java的类。 public class Chinese implements Pe

2016-02-27 20:04:36 531

原创 Spring之自动装配注入

Spring能自动装配Bean与Bean之间的依赖关系,即无须使用ref显示指定依赖Bean,而是由Spring容器检查XML配置文件内容,根据某种规则,为调用者Bean注入被依赖的Bean.当然,当一个Bean既使用自动装配依赖,又使用显示指定依赖时,则显示指定的依赖覆盖自动装配依赖。1. byName规则byName规则是指setter方法的方法名与Bean的id进行匹配,假如Bean

2016-02-27 20:02:33 449

原创 Spring容器中Bean的作用域

当通过Spring容器创建一个Bean实例时,不仅可以完成Bean实例的实例化,还可以包含了指定的作用域。Spring支持以下5种作用域。1)        singleton:单例模式,在整个SpringIoC容器中,singleton作用域的Bean将只生成一个实例。2)        prototype:每次通过容器的getBean()方法获取prototype作用的Bean时,都将

2016-02-27 20:00:47 558

原创 Bean获取Spring容器

在前几篇的博客中,都是程序先创建Spring容器,再调用Spring容器的getBean()方法来获取Spring容器中的Bean。在这种访问模式下,程序中总是持有Spring容器的引用。那么,为了让Bean获取它所在的Spring容器,可以让该Bean实现BeanFactoryAware接口,BeanFactoryAware接口里只有setBeanFactory(BeanFactory bean

2016-02-27 19:59:04 430

原创 Spring之ApplicationContext

Spring有两个核心接口:BeanFactory和ApplicationContext,其中ApplicatonContext是BeanFactory的子接口。在项目中,如果其它的要求,一般是使用ApplicationContext。不过,在系统创建前期ApplicationContext有较大的系统开销,但一旦ApplicationContext初始化完成,程序后面获取singleton Be

2016-02-27 19:54:43 596

原创 Spring之依赖注入

在所有的Java应用中,普遍存在A对象需要调用B对象方法的情形,这种情形被称为依赖,即A对象依赖B对象。对于Java应用而言,它们总是由一些互相调用的对象构成的,Spring把这种互相调用的关系称为依赖关系。假如A组件调用了B组件,即可称A组件依赖B组件。Spring框架的核心功能有两个:1)        Spring容器作为超级大工厂,负责创建、管理所有的Java对象,这些Java对象被称

2016-02-24 23:14:41 564

原创 Struts2之文件下载

Struts2的文件下载Action与普通的Action并没有太大的不同,仅仅是该Action需要提供一个返回InputStream流的方法,该输入流代表了被下载文件的入口。FileDownloadAction.java如下public class FileDownloadAction extends ActionSupport{ // 该成员变量可以在配置文件中动态指定该值 priv

2016-02-24 20:41:25 648

原创 Struts2之文件上传

为了能上传文件,必须将表单的method设置为POST,将entypr设置为multipart/form-data。只有这样情况下,浏览器都会把用户选择文件的二进制数据发送给服务器。同时,在项目下的lib文件下导入commons-io-2.2.jar和commons-fileupload-1.3.1.jar。如果表单中包含一个name属性xxx的文件域,则对应Action需要使用三个成员变来封装该

2016-02-24 20:36:42 514

原创 Struts2之拦截器

1. 拦截器与Action的关系Struts2框架的绝大部分功能都是通过拦截器来完成的,当StrutsPrepareAndExcuteFilter拦截到用户请求之后,大量拦截器将会对用户请求进行处理,然后才会调用用户开发的Action实例的方法处理请求。拦截器与Action之间的关系如下图。2. 配置拦截器1)        简单配置。

2016-02-23 22:49:26 462

原创 Struts2校验器(二)之注解

为了在Action类通过指定验证规则,只要使用验证器注解修饰Action里各成员对应的setter方法即可。public class RegistAction extends ActionSupport{ // 定义4个成员变量封装请求参数 private String name; private String pass; private int age; private Date

2016-02-23 20:43:22 925

原创 Struts2校验器(一)之规格文件

这里所讲的校验器主是输入校验器,也是用户通过Web界面以起请求时,需要校验用户输入的信息。最简单的例子,就是用户登录,我们要规定符合的用户和密码的格式。在普通的开发中,我们会用JavaScrip来处理这样的事件,然而,Struts2提供了基于验证框架的输入校验,在这种校验方式下,所有的输入校验只需要编写简单的配置文件,Struts2的验证框架将会负责进行服务器校验和客户端校验。其中,struts2

2016-02-23 20:41:23 720

原创 Struts2之类型转换中的错误

1. 处理类型转换错误在Web的应用中,表现层主要涉及到数据校验和类型转换,这两个是紧密相关的。在实际中,只有通过了类型转换,下一步才会去实现数据上的校验。那么今天,笔者将向大家介绍关于Struts2的类型转换的应用。主要是通过例子来说明,例子的应用大概是在页面中输入用户名、密码、生日,然后校验通过后才可进入数据校验。1)        创建一个LoginAction.java,这个Act

2016-02-22 23:40:29 1855

原创 Struts2之自定义转换器

1.  继承DefaultTypeConverter接口继承DefaultTypeConverter的接口是地,需要去实现的方法是convertValue(Map context,Object value,Class toType).这个方法该方法作用最简单,负责完成类型的转换,不过这种转换是双向的。toType类型是需要转换的目标类型,当toType类型是User类型时,表明需要将字符串转换

2016-02-22 23:35:09 417

原创 Struts2之OGNL类型转换

OGNL表达式允许开发者无须任何特殊处理,只需要在定义表单域时使用OGNL表达式来定义表单域的name属性。这个时候的表单域的name的属性不是一般的值。例如,定义个User的对象,那么表单域中namer 属性可能是name.name和name.pass形式,这种就是OGNL的表达式。1.普通例子1)        定义:LoginAction.javapublic class

2016-02-22 23:30:52 557

原创 Struts2标签库(四)之非表单标签

非表单标签主要用于在页面中生成一些非表单的可视化元素,例如Tab页面、输出HTML页面的树形结构等。1.1 actionerror和actionmessage标签actionerrror和actionmessage这两个标签用法完全一样,作用也几乎一样,都是负责输出Action实例里封装的信息:区别是actionerror标签负责输出Action实例的getActionError()方法的

2016-02-21 15:34:34 626

原创 Struts2标签库(三)之表单标签

1.1 checkboxlist标签checkboxlist标签可以一次创建多个复选框,用于同时生成多个的HTML标签。它根据list属性指定的集合来生成多个复选框,因此,使用该标签指定一个list属性。如下是常用的两个属性。1.        listKey:该属性指定集合元素中的某个属性(例如集合元素为Person实例,指定Person实例的namen属性)作为复选框的value。如果

2016-02-21 15:27:32 2001

原创 Struts2的标签库(二)之数据标签

数据标签主要用于提供各种数据访问相关的功能,包含显示一个Action里的属性,以及生成国际化输出等功能。1.1 action标签该标签用于在JSP页面直接调用一个Action,通过指定executeResult参数,还可以将Action处理结果包含到本页面中来。该标签有如下几个属性:1.        var: 这是一个可选属性,一旦定义了该属性,该Action将被放入Stack Co

2016-02-21 15:20:48 555

原创 Struts2的标签库(一)之控制标签

Struts2的非UI标签包括控制标签和数据标签,主要用于完成流程控制,以及操作Struts2的ValueStack。数据标签主要结合OGNL表达式进行数据访问。今天笔者主要向大家介绍的是控制标签,下一节将会讲解数据标签。1.1 if/elseif/elseif/elseif/else这三个标签都是用于进行分支控制的,它们都用于根据一个boolean表达式的值,来决定是否计算、输出标签体的

2016-02-21 15:14:54 595

原创 Struts2之国际化

Struts2的国际化的步骤与Java国际化的步骤基本相似,只是实现更加简单Strut2的国际化可以按如下步骤进行。1.        让系统加载国际化资源。加载国际化资源文件有两种方式。1)        自动加载:Action范围的国际化资源文件、包范围的国际化资源文件由系统自动加载。2)        手动加载:JSP范围的国际化资源文件、全局范围的国际化资源文件,分别使用标签、

2016-02-20 21:59:40 570

原创 Struts2之result的配置

配置元素时通常需要指定如下的两个属性:1.        name:该属性指定所配置的逻辑视图2.        type:该属性指定结果类型 <result name=”success” result=”dispatcher”>/WEB-INF/content/welcome.jsp /WEB-INF/content/{1}.j

2016-02-20 20:10:39 377

原创 Struts2之Action的基本配置

毋庸置疑,Action的配置就是struts.xml的文件中。其配置的信息是在的节点内部。对于我们先看以下的一个例子,然后来进行分析。1.1动态方法调用对于Action的配置来说,是少不了name的属性,该属性既是Action的名字,也指定了该Action所处理的请求的URL。而对于动态的方法调的Action, 是不提倡应用的,在项目中能不用的尽量不使用。action=”action

2016-02-20 20:06:53 354

原创 Struts2之访问ServletAPI

1.1Action访问方式(一)对于WEB应用的控制器而言,不访问ServletAPI几乎是不可能的,例如跟踪HTTPSession状态等。Struts2框架提供了一种更轻松的方式访问Servlet API。WEB应用中通常需要访问Servlet API就是HttpServletRequest、HttpSession、ServletContext,这三个接口分别代表JSP内置对象中的reque

2016-02-20 20:02:43 411

原创 Struts2之入门

对于Struts2应用的开发者而言,Action才是应用的核心,开发者需要提供大量的Action类,并在struts.xml文件中配置Action.Action类里包含了对用户请求的处理,Action类也被称谓控制器。1.1简单的Struts2应用1.        在web.xml文件中定义核心Filter来拦截请求。在服务启动时,web的容器将会自动去加载struts2的相关配置。

2016-02-20 19:58:33 447

原创 JSP的自定义标签(五)之Tag File

Tag File 是自定义标签的简化用法,使用TagFile可以无须定义标签库和标签文件,但仍然可以在JSP页面中使用自定义标签。1.1建立Tag文件学习Tag File需要子解Tag File扔命名,它的命名必须遵守如下的规则:tagName.tag。即        Tag File的主文件名就是标签名,文件名后缀必须是tag。而且,将文件存放在Web应用的某个路径下,这个路径相当于标

2016-02-18 23:08:31 2696

原创 JSP的自定义标签(四)之定义函数

前面我们学习了标签的相关知识,现在笔者将向大家介绍如何将自定义标签与表达式语言一起用,而这里的用法会更难一点,那就是要用标签定义函数,并在JSP的页面中用表达式语言调用。1.1开发函数处理类       函数处理类就是普通类,这个普通类中包含若干个静态方法,每上静态方法都可以定义成一个函数。下面我们定义一个类Functions.java,并将它放在com.linjw.function中

2016-02-18 22:38:50 1569

原创 JSP的Listener介绍

当Web应用的web容器中运行时,web应用内部会不断地发生各种事件:如Web应用被启动、Web应用被停止,用户session开始、用户session结束、用户请求到达等,通常来说,这些web事件对开发者是透明的。今天笔者将向大家介绍几个常见的Listener类。1.        ServletContextListener:用于监听Web应用的启动和关闭2.        Servle

2016-02-18 22:04:52 1078

原创 JSP的自定义标签(三)之带标签体的标签

带标签体的标签,可以在标签内嵌入其它内容(包括静态HTML内容和动态的JSP内容),通常用于完成一些逻辑运算,例如判断和循环等。1.1创建标签的类    下面我们创建一个类IteratorTag.java,这个类的主要做用就是用于存放jsp页面的放入列表值,可能是多个,那么通过使用该标签可以依次读取出来。标签处理类的doTag()方法首先从pagea范围内获取了指定的名称Collexcti

2016-02-18 20:31:23 1010

原创 JSP的自定义标签(二)之带属性的标签

1.1创建标签的类下面我们创建一个QueryTag.java的标签类,这个类就是含有属性,所有的属性都应该用getter和setter的方法。这个标签的作用是通过标签来直接连接数据库,当然连接数据库是需要driver、url、user、pass的,所以将其写在tld的标签库中,同时还需要sql语言来访问数据库,所以还需要sql的属性。public class QueryTag extend

2016-02-18 20:27:55 996

原创 JSP的自定义标签(一)

1.1导言最近在深圳的某家知名企业上班,接触到支付的系统。系统中的框架都是公司自己架构的,所以包括jsp页面中用到的标签也是自定义的,对于不了解JSP自定义标签的同事来说,会觉得公司的技术太牛了,但是当你学习了JSP自定交标签之后,会不会这样认为,就看你自己了。下面笔者将讲解JSP的自定义标签,主要是讲JSP2的自定义标签。1.2开发普通自定义的标签1.2.1 开发步骤1)

2016-02-18 20:21:41 610

原创 JSP 的“4379”

2.JSP  的“4379”2.1导言上一节我们说到的是JSP的基本原理,今天我们就要来说JSP的“4379”。那么何为“4379”呢?其实这是笔者的说法。“4379”是:JSP的4种基本语法、JSP的3个编译指令、JSP的7个动作指令、JSP脚本中的9个内置对象(注:以上是我们常用的)。接下来,笔者将会细说JSP的“4379”。2.2 JSP的4种基本语法JSP的4种基本语法,其

2016-02-17 22:18:35 864

原创 理解JSP

一、JSP本质JSP的本质是Servlet,当用户向指定Servlet发送请求时,Servlet利用输出流动态生成HTML页面,包括每一个静态HTML标签和所有在HTML页面中出现的内容。因此,当用户写了一个JSP的页面后,JSP页面由系统编译成Servlet,Servlet再负责响应用户。也是说,JSP其实也是Servlet的一种简化,使用JSP时,其实还是使用Servlet,因为Web应用

2016-02-16 21:57:36 719

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除