4.为什么使用Struts2
新版本的Struts2.0是struts 的action架构和webwork的融合体.依照Struts2.0.1的发布公告,一些关键特性如下 : l 设计简单: 使用抽象类而不是接口是Struts1的一个设计上的问题,这已经在Struts2中得到了解决.在Struts2中绝大多数类都是基于接口的,并且它的绝大多数核心接口都是独立于HTTP的.Struts2的Action类是独立于框架的,可视为 ...
5.Struts 1.x 对比 Struts 2.x
本章我们会比较这两个框架的不同特性.与Struts1相比,Struts2是非常简单的,下面是Struts2的一些优秀特性 : 5.1 Servlet依赖性 由于Action在被调用时,HttpServletRequest和HttpServletResponse被传递到execute()方法中,Struts1中的Action对Servlet的API是有依赖性的.但如果在Struts2中,Acti ...
6.下载并设置Struts2.0
本章我们将会下载并设置Struts2.0,基于最新版的Tomcat容器.我们首先下载Tomcat并将其配置为我们的开发服务器.接着我们下载Struts2.0并在Tomcat上设置struts-blank程序,检验struts-blank中的例子. 访问Struts2的下载站点http://struts.apache.org/download.cgi,下载本教程所需的Struts2.0 我们 ...
7.Struts2 Hello World,开发Hello World程序
本章我们将会开发基于Struts2框架的Hello World.我们的Hello World程序是你开发基于Struts2框架程序的第一步.这里我们会提供循序渐进的教程来开发基于Struts2框架的Hello World程序. 教程包含基本的步骤像创建目录结构,建立build.xml文件来使用Ant构建工具创建程序.接着我们会解释在这个程序中需要的Java,Jsp和配置文件. 创建项目的目录 ...
8.为Hello World程序编写JSP文件,Java文件和配置文件
本章中我们将会创建Struts 2 Hello World程序所需的JSP文件,Java文件和必要的配置文件.现在Struts2使用struts.xml来配置程序. 认识程序 我们的程序是很简单的,只显示Hello World信息以及服务器的日期和时间.当用户点击教程主页“Run Struts 2 Hello World Application”的链接的时候,一个请求被发送到了Struts2框 ...
9.Struts配置文件 - struts.xml
本章我们会向你介绍struts.xml文件,讲解如何最优化你项目的struts.xml. struts.xml文件 Struts2使用一个配置文件(struts.xml)来初始化它自身的资源.这些资源包括 : l 拦截器可以对一个请求进行预处理和后期处理. l Action类可以调用业务逻辑与数据访问的代码. l 结果可以使用JSP,Velocity和FreeMarker模板来预览. 在运 ...
11.Struts 2 Actions介绍
当客户端请求与action的name相匹配时,框架会使用struts.xml文件中的映射来处理请求.通常指向action的映射是由标签生成的.action标签(在struts.xml文件的struts根节点中)通过name,框架提供的默认扩展和其它必须的信息来指定action. Handler类的默认进入方法是由Action接口定义的. Struts2 Action接口 : 所有的Action可能 ...
12.Struts2重定向Action
在这章中,你将熟悉一下Struts2重定向Action并学习如何在Struts2程序中使用它. Post之后的重定向 : 该post模式由Struts2提供.这web程序中是常见的模式.由一个action转发到另一个action.这是常见的用法转发action显示页面. 转发Action结果 : 重定向模式由Struts2提供.ActionMapperFactory提供的ActionMapp ...
10.Struts2 Action例子
11.Struts2 Actions介绍 12.Struts2重定向Action
13.创建Struts2登录程序
本章我们将会开发基于Struts2框架的登录程序.我们当前的程序不能通过数据库验证用户.相反我们是通过硬编码的形式在Action中验证的(用户名: Admin 密码: Admin) 程序是如何工作的 : 1. 显示登录页面等待输入 2. 用户输入用户名和密码后点击"Login"按钮 3. 在Action类中用户校验得到了执行,如果用户在name/password字段输入Ad ...
9.Struts配置文件 - struts.xml(续)
探索struts.xml <struts>标签是struts.xml文件的根标签.它有可能包含如下标签 : package, include, bean和constant. 1. Package标签 : Package是一种将actions, results, result types, interceptors, 和interceptor-stacks分类到一个逻辑配置单元的方法. ...
14.向login程序添加校验
在本章我们会编写验证Login程序的代码。完成后你就能给你自己的struts2程序编写验证了。本章定义的概念都是很有解释性的,会使读者快速提高他/她对struts2程序的开发能力. Struts2是一个优雅的框架,它提供了很多功能来快速开发基于web的应用程序。这里你会学习简单的编写struts2的表单验证代码。我们会对我们的login程序添加表单验证代码。 为了验证login程序可能会向J ...
15.运行并测试程序
在本章我们将会在Tomcat6.0运行范例并检查它是如何工作的。 运行Tomcat 进入Tomcat的bin目录然后双击startup.bat来运行Tomcat。startup.bat将会启动Tomcat。 测试程序 访问http://localhost:8080/struts2tutorial/来测试我们的程序,你的浏览器将会显示如下 : 现在点击"Login Applica ...
16.Login程序的客户端验证
在这章中我们将学习如何编写代码来生成JavaScript以进行客户端验证。在上一章中我们创建了Login-validator.xml来定义服务器端的验证。在本章我们会使用相同的Login-validator.xml来生成客户端JavaScript。 创建JSP页面 这是登录的jsp页面的代码(loginClientSideValidation.jsp) <%@ taglib prefix ...
17.使用注释验证struts2登录程序
在本章我们将会在Action类中使用Annotation来验证login程序。我们这个login程序还没有使用数据库来验证用户。相反的我们在Action类中使用硬编码的形式来验证login name和passwords(User: Admin and Password: Admin) 程序是如何工作的 : 1. 显示登录页面等待输入 2. 用户输入用户名和密码后点击"Login&qu ...
更多Struts2验证器例子
用户输入验证是任何web程序不可缺少的一部分。随着struts2的发布,验证变得更加容易且强健。Struts2支持基于AJAX的甚至服务器端的验证。Struts2.0的Action依赖与Xwork的验证框架。Xwork框架在执行Action之前先运行验证规则。Struts2同样可以在你的Action类中使用Java 5的注释来定义验证规则。 1. Struts2 验证(Int验证器) 2. Stru ...
17.1.Struts2验证(int验证器)
Struts2 提供了一个内置的验证功能来校验用户输入的信息。这些功能足够适用于一般的web应用程序。但在某些情况下,这些标准的验证功能不足以验证复杂的业务逻辑。为了验证复杂的业务逻辑,struts2校验框架可以通过扩展来创建自定义的验证功能。 本章论述struts2中所有可用的验证功能。之后的章节将通过例子来论述这些验证功能。 验证规则 : 验证规则是struts2程序的一个主要部分,包含了对用 ...
Spring2.5的主要新特性
这里只列出Spring2.5中我们常用到需要注意的新特性,来源是Spring2.5的官方文档,既然文档中有我还在这里列出来的原因是相当于来个归纳总结,给初学者省时省力,免得看那么长的文档,当然在后续的文章中,涉及到实例的我都会举例,理论方面的就免了。 Spring经历了两次大修订,第一次是2006年10月的Spring2.0,另一次是2007年11月的Spring2.5。 简介: (1) Sprin ...
17.2 Struts 2 RequiredString验证器
本章将讨论Struts2中的RequiredString验证器. RequiredString验证器检查String字段是不是null且长度是不是大于0(也就是说不能是"").在执行长度检查之前,trim参数就确定了字符串.默认情况下,字符串都会被修整(trim,除去字符串前后的空格) 如果用户在输入域什么都不填写就提交了表单, requiredString验证器就会生成错误信息 ...
Spring2.5 IoC(控制反转)容器之容器与Bean(附示例)
简介 org.springframework.beans及org.springframework.context包 是Spring IoC容器的基础。 BeanFactory提供了配制框架及基本功能,ApplicationContext 是BeanFactory的扩展,增加了更多支持企业核心内容的功能如AOP、资源处理、事务管理等。注意:BeanFactory和ApplicationContext都 ...
17.3 Struts2 Double验证器
Struts2的Double验证器检查给定的输入是否为double 的.如果输入不是double的,它生成错误信息.Double验证器同样可以用来检查输入范围.本例用来演示如何使用Double验证器来检查输入范围. 按照下面的步骤创建double范围验证器的例子 : 第一步 : 创建struts.xml文件并添加下面的xml代码到struts.xml文件中 struts.xml <?xml ...
17.4 struts2日期验证器
Struts中的Date validator检查一个指定的日期是否在指定的范围,如果值不在指定的范围内,它将生成错误信息. 错误信息由<message></message>标签提供.下面的例子将向大家演示如何使用date validator来检查输入范围. [注意 : 如果没有指定date converter,那么XworkBasicConverter将会参与来进行日期转换, ...
Spring2.5 IoC之bean的四种注入方式(理论篇)
注入依赖 依赖注入(DI)的基本原理是对象之间的依赖,通过以下几种方式实现: 构造器的参数、工厂方法的参数,或给由构造函数或者工厂方法创建的对象设置属性。 容器的工作就是创建bean时注入那些依赖关系,这样相对由bean自己来完成这些工作从控制上发生了根本性的倒转,因此依赖注入也叫控制反转(IoC)。 DI注入有Setter和构造器两种注入方式。 构造器注入: 通过带参数的构造器实现,每个参数就是一 ...
Spring2.5 IoC之bean的四种注入方式(实践篇)
1、新建一个java工程名叫DI(依赖注入的意思),加入commons-loggin.jar和spring.jar。注意下面的代码含义见其注释,这里就不再作解释。 2、整个工程测试完后spring配置文件beans.xml文件的代码如下: <?xml version="1.0" encoding="gbk"?> <beans xmlns=&q ...
17.5 Struts2 E-mail 验证器
Struts2 中的email validator检查一个指定的String字段是否为空且是否包含一个有效的Email地址.如果输入的值不匹配email类型,那么e-mail validator将生成错误信息. 错误信息是由<message> </message>标签提供的.下面的例子演示了如何使用email validator来检查输入值. 按照下面的步骤来创建e ...
标签库,永恒的争论话题
标签库,几乎是每个MVC框架的重要组成部分。从Struts1开始,到Webwork2,SpringMVC,都有自己的定义的一套标签库。所以,一度标签库的使用,会成为一个框架初学者判定一个Web框架好坏的重要标准之一。我也曾经见到过许多Web开发人员,长期地存在着一定的误解:只要学好标签库,能够将标签库熟记于心,那么这个框架我就算掌握了七八成。 标签库,只是框架的一部分,为了解决页面显示数据、封装简 ...
PHPRPC 3.0.2 for Java 中增强了对容器接口的支持
PHPRPC for Java 在 3.0.2 之前,对容器接口还不提供支持,比如发布方法的参数类型和返回值不能声明为 List、Map 等接口类型,客户端的代理接口也不行。 而在 3.0.2 中,已经没有这个限制了,不管是参数类型还是返回值类型都可以声明为 List、Map、Set、Collection 这四种容器类型。当用这些接口类型接收数据时,List、Collection 会被转换成 Ar ...
PHPRPC 3.0.2 for Java/J2ME 发布
PHPRPC 是一个轻型的、安全的、跨网际的、跨语言的、跨平台的、跨环境的、跨域的、支持复杂对象传输的、支持引用参数传递的、支持内容输出重定向的、支持分级错误处理的、支持会话的、面向服务的高性能远程过程调用协议。 PHPRPC 3.0.2 for Java 支持 Java 1.2 到 6.0 的所有版本(当然也包括将来的 7.0+)。 这个版本主要是在 PHPRPC for Java 客户端做了 ...
PHPRPC 3.0.2 for Java/J2ME 中的异步调用
在大多数情况下,同步调用即可满足您的需要。但是有 2 种情况下用异步调用会更加方便一些: 首先是当做图像界面编程时,要防止单线程下同步调用出现卡死界面的现象,可以使用异步调用,但这种情况下,采用同步调用加多线程技术也可以解决。 另一种情况是,当使用同步调用加多线程时,如果你要获取服务器端输出重定向的内容或者要获取警告错误,则可能会获取到错误的内容,原因是另外的线程执行时也有可能改写 output ...
PHPRPC 3.0 用户指南和开发指南发布
这两个文档写了有一年了,前前后后随着代码的更新也反复修改,现在 PHPRPC 3.0 版本已经稳定下来了,如果没有 bug 的话,就不会再更新了。所以,文档终于也有了定稿! 今天正好初一,这两部指南算是送给各位关心 PHPRPC 的用户的一份新年礼物啦! * 简体中文版本:http://www.phprpc.org/zh_CN/docs/ * 繁体中文版本:http://www.phprpc ...
企业架构知识库热门文章
最新评论
用了这种方式能够输出日志了,但是原来用common_logging的一些东西还是不输出,如ibatis ...
bergman 评论了 OpenCore:OSGi上部署Apache Common Log
bergman 评论了 OpenCore:OSGi上部署Apache Common Log