java web开发
文章平均质量分 81
wangxin1248
个人博客:https://wangxin1248.github.io/
展开
-
Struts2学习(九)类型转换器
Struts2学习(九)类型转换器类型转换器的背景和意义类型转换是日常web开发中不可避免的一部分 因为从表单提交到后台的数据都是以String为数据默认类型,而我们后台封装成对象时则可能有多种类型形式。 按照以往方式来进行数据类型的转换是通过java的类型转换来实现的,具体的步骤为: Int age = Integer.valueOf(request.getParam...原创 2018-05-05 20:52:38 · 622 阅读 · 1 评论 -
Spring学习(二十二) Bean配置的三种方式(XML、注解、Java类)介绍与对比
本文将详细介绍Spring Bean配置的三种不同方式的特点与使用条件。主要包括:基于XML的配置方式基于注解的配置方式基于Java类的配置方式一.基于XML的配置请看Spring学习(十二)Spring 的配置文件概述二.基于注解的配置Spring2.0开始引入基于注解的配置方式,即Bean的定义信息可以通过在Bean的实现类上标注注解实现。具体关原创 2016-06-12 23:24:27 · 36468 阅读 · 8 评论 -
Spring学习(二十一)Spring自动装配Bean的属性
首先我们来看一下以前我们是如何手动装配一个bean的:先看一段java程序:public class Customer{ private Person person; public void setPerson(Person person) { this.person = person; }}public class Person {……}原创 2016-06-11 22:33:48 · 1077 阅读 · 0 评论 -
Spring学习(二十)Bean 的依赖关系介绍
在Spring容器中,两个Bean之间 除了注入关系外,还存在继承、依赖、引用 三种关系:继承关系:在Spring容器当中允许使用abstract标签来定义一个父bean,parent标签来定义一个子bean。子bean将自动继承父bean的配置信息。依赖关系:Spring允许用户通过depends-on标签来设定bean的前置依赖bean,前置依赖的bean会在本bean实例化之前就原创 2016-06-05 10:44:43 · 6074 阅读 · 0 评论 -
Spring学习(十八)Bean 的三种依赖注入方式介绍
依赖注入:让调用类对某一接口实现类的依赖关系由第三方注入,以移除调用类对某一接口实现类的依赖。接下来将详细的向大家介绍Spring容器支持的三种依赖注入的方式以及具体配置方法:• 属性注入方法• 构造函数注入方法• 工厂方法注入方法一.属性注入属性注入即通过setXXX()方法注入Bean的属性值或者依赖对象,由于属性注入方式具有可选择性和灵活高的原创 2016-06-05 10:40:16 · 20568 阅读 · 3 评论 -
Spring学习(十九)Bean 的方法注入和方法替换介绍
lookup方法注入:指容器能够重写容器中bean的抽象或者具体方法,从而返回查找容器中其他bean的结果。Spring IoC容器拥有复写bean方法的能力,这项功能主要归功与cglib这个类包,cglib类包可以在运行时动态的操作class字节码,他能够为Bean动态的创建子类或者实现类。所以使用lookup方法注入的时候必须在项目中加入cglib类包。那么现在我们定义原创 2016-06-05 10:39:43 · 3555 阅读 · 0 评论 -
Spring中的循环依赖问题介绍及解决方法
Spring容器能顺利的实例化以构造函数注入方式配置的bean有一个前提:即bean构造函数入参引用的对象必须已经准备就绪。那么如果两个bean都采用构造函数注入,并且都通过构造函数入参引用了对方。就会发生类似与线程死锁的循环依赖问题。那么接下来我们看一个发生循环依赖问题的例子:public class Car{ private String brand; privat原创 2016-06-05 10:32:14 · 5658 阅读 · 3 评论 -
Spring学习(十七)Spring 参数注入方式介绍
在Spring 的配置文件中,用户可以通过Bean的property元素进行参数注入。使用property,不但可以将String、int等字面值注入到Bean中,还可以将集合、Map等类型的注入到Bean中,此外还可以注入配置文件中其他定义的Bean。在这里,注入参数的类型主要包含以下几种:1.字面值一般是指可用字符串表示的值,这些值可以通过元素标签进行注入。在默认情况下,基本数原创 2016-06-05 10:19:58 · 9498 阅读 · 0 评论 -
Spring学习(十六)Spring Bean内容模型介绍
本次主要介绍Spring Bean的内容模型,通过对内容模型的了解使开发者能够对Spring Bean有一个全局的认识。关于Spring Bean的详细信息可以参考spring-beans.xsd这个文件。在这里,我们只介绍一些常用的元素。beans是spring-beans.xsd的根节点,下图给出了beans的内容模型:先介绍下beans节点中的属性1.defa原创 2016-06-05 10:03:05 · 1291 阅读 · 0 评论 -
Spring学习(十五)Spring Bean 的5种作用域介绍
Spring Bean 中所说的作用域,在配置文件中即是“scope”在面向对象程序设计中作用域一般指对象或变量之间的可见范围。而在Spring容器中是指其创建的Bean对象相对于其他Bean对象的请求可见范围。在Spring 容器当中,一共提供了5种作用域类型,在配置文件中,通过属性scope来设置bean的作用域范围。1. singleton:当Bean的原创 2016-06-04 23:32:25 · 18419 阅读 · 2 评论 -
Spring学习(二十三)Spring表达式语言介绍
Spring表达式语言(Spring Expression Language)简称:SpEL课程概要:Spring表达式语言的入门介绍Spring表达式语言的操作范围Spring表达式语言的运算符Spring表达式语言的集合操作一.Spring表达式语言入门级介绍1.基本概述 Spring表达式语言全称为“Spring Expression La原创 2016-06-13 19:55:43 · 6006 阅读 · 1 评论 -
Struts2学习(二)数据封装机制
课程概要: 讲解Struts2中数据封装的三种方式以及具体实现原理 一、Struts2数据封装机制之属性驱动 我们先来看一下传统的servlet是如何处理从页面传递过来的数据的。首先我们在表单发送了对应的数据到servlet中去 action="/loginservlet"method="post">原创 2016-07-24 19:51:29 · 4484 阅读 · 3 评论 -
Struts 2学习(一)Struts 2环境搭建及示例程序编写
在学习Struts2之前先来了解一下什么是Struts2:Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的S原创 2016-07-03 15:38:21 · 4081 阅读 · 0 评论 -
Struts2学习(八)数据校验实现
我们的网站是要与用户进行交互的,其中最重要的交互方式便是数据的输入输出。但对于用户来说,并不是会按照我们所期望的形式来进行输入,这是就需要对用户输入的数据的格式进行校验,也就是所谓的数据校验。其实数据校验意义就是保证进入后台的数据都是安全的!在大多数情况下我们使用的是JavaScript来进行输入数据的校验,但是这种方式具有局限性如图所示:我们可以通过使用url拼接的方式直接将数据传到原创 2017-01-03 21:19:32 · 1044 阅读 · 0 评论 -
Struts2学习(七)令牌机制介绍
令牌(Token)则可以防止我们的一个表单被重复提交当用户在提交表单的过程中如果遇到网络拥塞便会回退或者重复点击提交按钮,假如我们不对其做任何处理的话那么运行在服务器上的程序便会崩溃。所以Struts2为我们提供了一套解决表单重复提交的方法-----令牌机制该方法的基本原理是: 服务器端在处理到达的request之前,会将request中的Token值与保存在当原创 2016-08-01 22:23:14 · 2678 阅读 · 0 评论 -
Struts2学习(六)国际化配置
国际化可以使我们的网站切换为中英或其他的各国语言Struts2中的国际化就是i18n ——Internationalization(其实就是字母i和n之间有18个字母)国际化的加入使得软件具备切换界面语言的功能同时也极大地简化国际化功能的实现。 国际化的实现 只需要通过一个简单的配置文件和一个Struts2的标签以及一个默认的i18n拦截器就可以实现了。实现步骤原创 2016-08-01 22:06:30 · 813 阅读 · 0 评论 -
Struts2学习(五)拦截器介绍
什么是拦截器 拦截器(Interceptor)是Struts 2的一个强有力的工具,有许多功能都是构建于它之上,如国际化、转换器,校验等。拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行。同时也是提供了一种可以提取action中可重用的部分的方式。说到拦截器有一个东西不能原创 2016-07-30 21:33:40 · 1274 阅读 · 1 评论 -
Spring学习(二十五)Spring AOP之增强介绍
课程概要:Spring AOP的基本概念Spring AOP的增强类型Spring AOP的前置增强Spring AOP的后置增强Spring AOP的环绕增强Spring AOP的异常抛出增强Spring AOP的引介增强一.Spring AOP增强的基本概念Spring当中的专业术语-advice,翻译成中文就是增强的意思。所谓增强,其实就是向各个程序内部注入一些逻辑代原创 2016-06-22 23:16:25 · 10515 阅读 · 0 评论 -
Struts2学习(四)OGNL标签介绍
OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对象的方法,能够遍历整个对象的结构图,实现对象属性类型的转换等功能。从语言角度来说:它是一个功能强大的表达式语言,用来获取和设置java 对象的属性 , 它旨在提供一个更高抽象度语法来对 java 对象图进行导航原创 2016-07-27 17:51:09 · 1514 阅读 · 0 评论 -
Spring学习(二十四)Spring实现AOP
Spring实现AOP主要有两种方式:1.基于AspectJ注解2.基于XML配置接下来我们分别介绍如何使用这两种方式来实现AOP一.使用注解方式实现AOP功能利用Spring注解方式可以实现前置通知,后置通知,例外通知以及环绕通知等。实现AOP功能步骤如下:引入Jar文件配置AOP命名空间创建目标对象类创建切面在配置文件中配置切面创建入口类进行测试接下原创 2016-06-19 22:44:15 · 1215 阅读 · 0 评论 -
Struts2学习(三)Web资源获取
主要介绍获取Web资源的四种方式一、使用Struts2Aware拦截器使用Struts2 Aware拦截器来获取web资源,首先必须是在Action中进行,然后还得实现ServletRequestAware,ServletResponseAware,ServletContextAware接口来获取对应的ServletRequest、ServletResponse、ServletCont原创 2016-07-26 21:03:15 · 536 阅读 · 0 评论 -
IntelliJ IDEA2016.1新建JSP工程
JSP简介:JSP与PHP、ASP、ASP.NET等语言类似,运行在服务端的语言。JSP(全称Java Server Pages)是由Sun Microsystems公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库原创 2016-04-02 23:13:07 · 10350 阅读 · 3 评论 -
Spring学习(十四)Spring Bean 的3种实例化方法介绍
Spring IoC容器如何实例化Bean呢?传统应用程序可以通过new和反射方式进行实例化Bean。而Spring IoC 容器则需要根据Bean定义里的配置元数据使用反射机制来创建Bean。在Spring IoC 容器中主要有以下几种创建Bean实例的方式:一.构造器实例化构造器实例化 Bean 是最简单的方式,Spring IoC容器既能使用默认空构造器也能使用有原创 2016-06-04 23:20:20 · 4213 阅读 · 1 评论 -
Spring学习(十三)Spring Bean 的命名方式介绍
一般情况下,在配置一个Bean时需要为其指定一个id属性作为bean的名称。id在IoC容器中必须是唯一的,此外id的命名需要满足xml对id的命名规范。 在实际情况中,id命名约束并不会给我们带来影响。但是如果用户确实希望用到一些特殊字符来对bean进行命名,那么可以使用bean的name属性来进行命名,name属性没有字符上的限制,几乎可以使用任何字符。 每个B原创 2016-06-04 23:11:41 · 4478 阅读 · 0 评论 -
Spring学习(四)AOP-面向切面切面的编程技术
AOP的基本概念:在软件行业里,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP将应用系统分为两个部分:核心业务逻辑以及横向的通用逻辑,也就是所谓的面。例如:所有大中型都要涉及到的持久化的管理、事物管理、安全管理、日志管理以及调试管理等等。在Spring当中,提供原创 2016-05-21 22:59:49 · 2528 阅读 · 2 评论 -
Servlet学习(一)Servlet简介以及实现Hello World
1.Servlet是什么?Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。Java Servlet 通常情况下与使用 CGI(Common原创 2016-05-14 11:30:30 · 2196 阅读 · 0 评论 -
Spring学习(七)深入理解Spring IoC容器
IoC:他是Spring容器的内核,AOP、声明式事务等功能都依赖于此功能,它涉及代码解耦,设计模式、代码优化等问题的考量。原创 2016-05-26 23:35:20 · 2947 阅读 · 4 评论 -
Spring学习(六)实例演示Spring的使用
本次我们要编写一个输出问候信息的小例子:当一个人在中国的时候,使用中国话向大家问好。当他去国外旅游时就需要用英语向大家问好。首先我们得了解创建一个基于Spring IOC的小程序的具体步骤如下:1) 建立Spring工程2) 编写Java文件3) 编写配置文件4) 运行示例工程新建一个Spring工程可以参考我之前的 Spring原创 2016-05-25 23:07:59 · 1866 阅读 · 3 评论 -
Spring学习(五)Spring开发包介绍
在建立Spring工程的时候,需要引入Spring的开发包,否则无法建立Spring的开发和运行环境,以下简单介绍一下Spring的核心开发包的基本用途:Spring Core:包含Spring框架的基本核心工具类,Spring其他组件都需要使用这个包,是其他组件的基本核心。Spring Beans:包含访问配置文件,创建和管理Bean以及进行控制反转和依赖注入操作相关的所有类。如果应原创 2016-05-24 21:04:48 · 2776 阅读 · 1 评论 -
JSP九大内置对象详解(总结+项目源码)
JSP九大内置对象详解原创 2016-04-09 23:06:01 · 1159 阅读 · 1 评论 -
JSP九大内置对象详解(三)
七.page对象page对象有点类似与java编程中的this指针,他指向了当前jsp页面本身。page对象是java.lang.object类的一个实例page对象拥有一个toString方法,下面是官方定义的方法介绍:public String toString() { return getClass().getName() + "@" + Integer.to原创 2016-04-09 23:00:17 · 1119 阅读 · 2 评论 -
JSP九大内置对象详解(二)
四.session对象session对象:是一个jsp内置对象,它在第一个jsp被装载时自动创建,完成会话期管理。从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离 开这个服务器结束(或者超时),被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要创建session对象。http是无状态的连接协议原创 2016-04-09 21:48:55 · 38683 阅读 · 0 评论 -
JSP九大内置对象详解(一)
JSP有九个内置对象(又叫隐含对象),不需要预先声明就可以在脚本代码和表达式中随意使用JSP九大内置对象分为四类:输入输出对象:out对象、response对象、request对象通信控制对象:pageContext对象、session对象、application对象Servlet对象:page对象、config对象错误处理对象:exception对象九种对象简介:原创 2016-04-09 21:17:35 · 14501 阅读 · 0 评论 -
JSP编译指令详解
JSP编译指令:通知jsp引擎的消息作用:设置jsp程序的属性以及由该jsp生成的serverlet里的属性jsp常用的编译指令有:page:该指令是针对当前页面的指令。include :用于指定如何包含另一个页面。taglib:用于定义和访问自定义标签。1.page指令:page指令主要用于定义当前jsp的全局指令,包括当前jsp所使用的脚本语言类型,需要原创 2016-04-02 23:15:04 · 2437 阅读 · 0 评论 -
Servlet学习(二)Servlet编程实例-网站登录
要求:使用servlet完成一个简单的登录界面处理,流程如下:首先我们得清楚HTTP请求表单提交中的post方法和get方法的区别什么是 HTTP?超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信。HTTP 的工作方式是客户机与服务器之间的请求-应答协议。web 浏览器可能是客户端,而计算机上的网络应用程序也可能原创 2016-05-14 11:34:34 · 1390 阅读 · 0 评论 -
Servlet学习(三)Servlet编程实例-网站登录(修改版-增加数据库-附源码)
我们为刚才的那个示例添加上数据库,组成一个较为完整的登录功能。在开始之前我们得首先了解下一些常用的java术语:PO(persistant object) 持久对象在o/r 映射的时候出现的概念,如果没有o/r映射,就没有这个概念存在了.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应原创 2016-05-14 11:44:50 · 12142 阅读 · 0 评论 -
Spring学习(八)Spring IoC容器原理分析
在Spring中,通过IOC可以将实现类、参数信息等配置在其对应的配置文件中,那么当需要更改实现类或参数信息时,只需要修改配置文件即可,我们还可以对某对象所需要的其它对象进行注入,这种注入都是在配置文件中做的。Spring的IOC的实现原理利用的就是Java的反射机制,Spring还充当了工厂的角色,我们不需要自己建立工厂类,Spring的工厂类会帮我们完成配置文件的读取、利用反射机制注入对象原创 2016-05-29 12:56:37 · 1291 阅读 · 1 评论 -
Spring学习(三)IOC控制反转与DI依赖注入
IOC(Inversion of Control,控制反转)是spring的核心,贯穿始终。所谓IOC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系:传统开发模式:对象之间互相依赖IOC开发模式:IOC容器安排对象之间的依赖Spring所倡导的开发方式就是:所有的类都会在Spring容器当中登记,告诉Spring你是一个什么东西,你需要原创 2016-05-19 23:10:33 · 4924 阅读 · 0 评论 -
Spring学习(十二)Spring 的配置文件概述
我们应该怎么理解和认识Spring的配置文件呢? 其实,Spring的配置文件是Spring容器对Bean进行生产以及关系注入的图纸,他是Spring的基础。如果我们没有配置文件的话,则Spring的容器将无从谈起。 Spring 的配置文件是用于指导 Spring 工厂进行 Bean 的生产、依赖关系注入及 Bean 实例分发的“图纸”, J2EE 程序员必须原创 2016-06-01 22:59:57 · 7901 阅读 · 1 评论 -
Spring学习(二)Spring简介
Spring是一个轻量级控制反转(IOC)和面向切面(AOP)的容器框架,兴起于2003年。它主要是为了解决企业应用开发的复杂性而诞生的,框架的主要优势之一就是其分层结构,分层结构允许使用者使用哪一个组件。同时为J2EE开发提供集成的框架。简单来说:Spring是一个分层的一站式的轻量级的开源框架。原创 2016-05-18 23:13:25 · 1940 阅读 · 0 评论