
Struts2
文章平均质量分 75
struts2
这个作者很懒,什么都没留下…
展开
-
Shopping Mall 的诞生! 使用Struts 2,MyBatis,JQuery开发Web应用程序!
Shopping Mall 的诞生! 使用Struts 2,MyBatis,JQuery开发Web应用程序!第一篇:Model,与数据库,框架和开发方式无关第二篇:接近0-XML配置的Struts 2 开发第三篇:On The Fly,Struts 2 与Ajax的结合第四篇:前端开发,HTML,JQuery,Blueprint,Sitemesh第五篇:All Toether!近期将会退出上述系列文章。参考程序请参看:http://code.google.com/p/mdx-shopping原创 2010-11-15 21:33:00 · 9769 阅读 · 5 评论 -
记录程序日志(日志实现和统一接口)
Log是什么?Log最早来源于航海日志,是用来记录航海过程中的所见所闻。 在应用程序开发领域,特别是企业级应用程序,需要在程序不停止的情况下,能够分析程序的运行过程。这个时候就需要把程序运行过程中的数据内容,分支选择,异常,错误等信息完整的记录下来。实现这个功能的部件就叫做Log。 Log的基本要求 Log要分级别 程序运行的详细信息,我们称这个级别为:Trace原创 2007-09-12 22:28:00 · 3435 阅读 · 1 评论 -
Struts2 校验(XML配置校验)
参考文档: http://struts.apache.org/2.0.9/docs/ajax-client-side-validation.html http://struts.apache.org/2.0.9/docs/pure-javascript-client-side-validation.html http://struts.apache.org/2.0.9/docs/原创 2007-09-08 17:56:00 · 21540 阅读 · 1 评论 -
第二十三章 Exception Architecture
第二十三章 Exception Architecture我们看一下应用程序开发中两类比较常见的异常情况,第一类是诸如数据库无法链接,配置文件不存在,SQL语句编译错误等的系统级别的异常,一旦这种异常发生基本上系统无法正常运行。另一类是诸如数据库中的内容不存在,格式不正确,业务逻辑不满足要求等的异常,这种异常往往只影响某一条的数据,不会对系统的正常运行有影响。Java中的两类异常Java原创 2007-09-02 23:56:00 · 4305 阅读 · 0 评论 -
第二十章 JDBC DAO设计
第二十章 JDBC DAO设计 Connection的含义 Connection表示了一个和数据库的链接,底层需要有操作系统的Socket支持,所以Connection是一种资源,既然是一种资源,就需要按照建立,打开,使用,关闭的顺序合理的使用。 Connection是Java数据库操作的基础,是进行一系列操作的基础,所有的派生的操作,例如Statement,Prepa原创 2007-08-31 15:23:00 · 7294 阅读 · 9 评论 -
第二十二章Singleton和对象创建
第二十二章Singleton和对象创建 什么是Singleton呢? In software engineering, the singleton pattern is a design pattern that is used to restrict instantiation of a clas原创 2007-08-30 16:14:00 · 3504 阅读 · 1 评论 -
第二十一章 模板方法(Template Method)
第二十一章 模板方法(Template Method) 什么是模板方法呢?我们先回想以下SQL保存的例子,这个例子要求我们能够同时处理三种类型的SQL语句保存文件:XML格式的文件,Properties格式文件和普通的文本格式的文件。不论那种格式的文件都要求能够提供根据SQL语句名字获得SQL语句的方法。我们可以这样子设计:public class AbstractSqlManager {原创 2007-08-30 12:52:00 · 3818 阅读 · 0 评论 -
关于Struts2的一些实例代码
碰巧今天看到Geronimo 2 Release了,这个版本是和JEE 5 兼容的,可以使用EJB 3.0 的特性。我想能否用Geronimo作为服务器,介绍如何在Geronimeo环境下如何将Struts2带入实际应用。我大概会做一个叫做Teamware的项目,这个项目的目的是用来在一个团队中间提升交流。大概会使用如下四种组合情况来实现这个例子。Struts2 + Spring +原创 2007-08-25 18:08:00 · 2884 阅读 · 0 评论 -
通过合理的设计下拉列表来调整页面显示性能!
如何设计下拉列表直接关系着页面显示的性能。 在应用程序设计的过程中,有很多的可选项,在通常的设计中这些可选项会被设计为主表(Master Table),这些表中通常有三个字段:ID,名字,和说明。有些时候为了区分先后顺序会追加一个字段用来表示排序的先后。 在使用这些主表中的内容的时候,需要从数据库中查询获得数据库中主表的最新内容,之后这些内容作为options在原创 2007-08-23 21:28:00 · 5174 阅读 · 1 评论 -
Web中的定时操作
Web中的定时操作 1 什么是定时操作 有些时候我们想做一些在将来的事件内发生的事情的预订,例如,9月18号自动弹出警告,每周五自动查毒等,这都叫做定时操作。 2 普通的定时操作 在普通的开发环境中,定时操作的处理非常简单,可以使用操作系统自带的task功能来完成。当然最多还是做一个服务,服务中做一个定时器Timer对象,每当Timer被触发的时候做一些相关的操作。 3 We原创 2007-09-19 10:41:00 · 7889 阅读 · 1 评论 -
第二十三章 设计和其他框架选择
Teamware是什么? Teamware 是一个基于Java,Struts2,Springframework,和 iBatis的 Web 应用程序。 Teamware 是一个团队软件,它提供诸如,Todo,日历,项目计划,Wiki,问题与回答等功能。 Teamware 是这本书《Java Web Development with Struts2, Spring and iBatis》的一个附录原创 2007-09-21 09:40:00 · 3398 阅读 · 0 评论 -
第二十二章 Teamware需求
Teamware正如他的名字一样,是一个团队使用的Groupware。 Groupware的定义是: Teamware的功能需求 公共功能 用户管理 角色管理 客户管理(CRM) 项目管理 安全(授权和认证) 业务功能 公告栏(Notice) 地址本(Address Book) todo列表(Todo List)原创 2007-09-21 10:18:00 · 2876 阅读 · 0 评论 -
Java平台应用开发开源软件一览
OS: CentOSCentOS是一个企业级的Linux发布版本,源代码基于RedHat Enterprise Linux。链接:http://www.centos.org/database: MySQL, PostgreSQL, IntergreMySQL是最知名的开源关系型数据库服务器,经常用在对性能要求较高的Web应用中,并发性能较好。MySQL入门简单,使用方便原创 2009-09-03 13:45:00 · 3939 阅读 · 2 评论 -
Appfuse & Appfuse Light & Struts 2
Appfuse & Appfuse Light & Struts 2原创 2008-11-17 19:13:00 · 1679 阅读 · 0 评论 -
使用Struts 2 建立向导应用(Wizard)
向导 Wizard指需要一系列选择的操作,每一个选择决定了后续的操作.这里使用一个简单的向导的模型来说明如何使用Struts 2 建立此种类型的应用.例如如下图所示:流程图:其中橙色部分表示了信息的内容FirstName.jspLastName.jspShowName.jsp代码示例:1. WizardActi原创 2008-05-05 22:26:00 · 6062 阅读 · 2 评论 -
Java 事务精要
简单事务的概念我不想从原理上说明什么是事务,应为那太枯燥了。我只想从一个简单的例子来说明什么是事务。 例如我们有一个订单库存管理系统,每一次生成订单的同时我们都要消减库存。通常来说订单和库存在数据库里是分两张表来保存的:订单表,库存表。每一次我们追加一个订单实际上需要两步操作:在订单表中插入一条数据,同时修改库存的数据。 这样问题来了,例如我们需要一个单位为10的订单,库存中有原创 2007-10-08 21:50:00 · 2795 阅读 · 0 评论 -
Quartz 入门
Quartz是什么?Quartz是一个全功能的,开源的作业调度程序,Quartz可以集成到任何的J2EE或者J2SE程序中(从最小的单机程序到复杂的电子商务系统)。Quartz可以管理即使,几百,甚至成千上万的简单或者复杂的作业调度。这些作业可以是任何标准的Java组件或者是EJB。Quartz作业调度系统包含了很多的企业级的特性,例如:JTA 事务,集群等。 Quartz特性原创 2007-09-29 23:04:00 · 6639 阅读 · 0 评论 -
Struts 2 概要说明
概要也 许每一本关于技术的书都应该有一个叫做HelloWorld的示例,应为这非常直观的表现了技术的特性。这本书也不特殊,在这一节中主要涉及一些 Strut 2 的基本特性的说明,包括,如何下载建立开发工程,一个Hello World JSP表示页面,使用标签,建立Action类,选择结果类型,校验输入数据,本地化输出。最后会给出一个包含上述特性的示例:用户登录需要了解的技术 Jav原创 2007-09-28 15:53:00 · 8792 阅读 · 5 评论 -
第四部分 开发实例 使用Struts2开发TeamWare
开源项目地址:http://teamware.dev.java.nethttps://teamware.dev.java.net/ 论坛地址:https://teamware.dev.java.net/servlets/ProjectForumView 邮件列表:https://teamware.dev.java.net/servlets/ProjectMailingListList 文档原创 2007-09-21 09:39:00 · 4979 阅读 · 1 评论 -
CSS入门
CSS入门 以下内容来自于CSS the missing manual 参看链接:译者:http://yulimin.javaeye.com/blog/71162 原版:http://www.china-pub.com/computers/common/info.asp?id=35381 什么是CSSCSS = Cascading Style SheetsCS原创 2007-09-23 20:57:00 · 2630 阅读 · 0 评论 -
第十九章 SQL文保存方法
第十九章 SQL文保存方法 在开发JavaWeb应用程序的过程中可能经常需要使用到SQL语句来访问数据库。为了屏蔽SQL注入带来的危险,在Java中通常使用PreparedStatement,使用预编译的SQL语句。预编译的SQL语句是那些包含?的语句,使用PreparedStatement可以让数据库预先编译这些SQL模板,只有调用的时候套用必须的参数即可。 SQL文件的存放位置原创 2007-08-15 15:11:00 · 5206 阅读 · 1 评论 -
第二十五章 离线并发与锁机制
第二十五章 离线并发与锁机制 离线并发的来源 在Web项目中,离线并发显得尤其严重。例如,用户A和用户B同时修改数据库中的某张表的R行,加入R行有两个字段分别是C1,C2。 假如按照如下过程修改: 1 用户A将数据R(C1,C2)读取到A的浏览器中。 2 用户B将数据R(C1,C2)读取到B的浏览器中。原创 2007-08-14 14:50:00 · 5292 阅读 · 2 评论 -
第十五章 AJAX JQuery
第十五章 AJAX JQueryJQuery是另外一个非常流行的JavaScript框架,相对于Dojo来说JQuery更加的轻便,JQuery代码文件的大小为20kb,但是丝毫没有影响到JQuery的强大功能,也许在了解JQuery之后你会有更深刻的体会。并且JQuery使用了插件的体系结构,开发人员可以在JQuery的基础上利用插件的机制扩展JQuery的功能。 和JQuery详细原创 2007-08-14 14:06:00 · 10605 阅读 · 0 评论 -
使用Struts2开发Java Web应用程序(目录)
配套源代码网站:https://teamware.dev.java.net 第一部分 Struts入门 第一章 Struts2 概览(beta) 第二章 一个简单的Login 应用程序(beta) Struts 2 概要 第三章Struts配置(beta) 第三章 Struts配置(第一节 struts.properties配置)原创 2007-08-01 22:12:00 · 74964 阅读 · 48 评论 -
附录二 使用Maven2 原型(Archetype) 建立Struts程序框架
附录二 使用Maven2 原型(Archetype) 建立Struts程序框架使用如下命令可以建立一个Struts2 Starter应用程序mvn archetype:create -DgroupId=tutorial -DartifactId=tutorial -DarchetypeGroupId=org.apache.struts / -Darc原创 2007-07-30 17:43:00 · 7834 阅读 · 0 评论 -
附录一 Maven2 安装
附录一 Maven2 安装Maven是一个构建工具,详细信息请参考maven官方网站(http://maven.apache.org)1. 从http://maven.apache.org 下载最新的maven压缩文件,在windows操作系统下通常下载zip文件,使用解压缩工具将文件解压缩到某个目录(以下称为Maven安装目录)。例如:E:/struts2/maven-2.0.7,原创 2007-07-30 17:41:00 · 9288 阅读 · 0 评论 -
第三章 Struts配置(第三~七节其他配置)
3.3节 Result配置Action里提供了五个默认的返回值:String SUCCESS = "success";String NONE = "none";String ERROR = "error";String INPUT = "input";String LOGIN = "login"; 默认的一些配置在package下有如下配置原创 2007-07-30 17:40:00 · 16226 阅读 · 4 评论 -
第三章 Struts配置(第二节 Actin配置)
3.2 节 Actin配置Package配置使用package可以将逻辑上相关的一组Action,Result,Intercepter等组件分为一组,Package有些想对象,可以继承其他的Package,也可以被其他package继承,甚至可以定义抽象的Package。Package的可以使用的属性:原创 2007-07-30 17:38:00 · 13774 阅读 · 7 评论 -
第三章 Struts配置(第一节 struts.properties配置)
3.1节 struts.properties配置struts.properties文件在WEB-INF/classes目录下存放。这个文件用来配置Struts2系统的一些基本规约,所有在struts.properties中配置的内容都可以在struts.xml中配置,或者web.xml中在struts2 filter中配置,例如:Struts.properties中的如下配置:st原创 2007-07-30 17:37:00 · 16927 阅读 · 6 评论 -
第三章Struts配置
与Struts 1.X不同,Struts2引入了WebWork的配置机制,在很大程度上提高了配置的灵活度。通过使用配置可以配置如下内容: 配置类型 配置文件原创 2007-07-30 17:33:00 · 11556 阅读 · 0 评论 -
第二章 一个简单的Login 应用程序
第一节 需求定义简单的需求如下图 1 用户处在Welcome.jsp 页面,点击登录连接到达Login.jsp页面 2 在Login.jsp输入用户名密码,点击登陆按钮,转到LoginAction处理 3.原创 2007-07-30 16:52:00 · 29948 阅读 · 17 评论 -
第五章 Validation
第五章 Validation5.1节:校验类型和配置方法说明从Struts2 校验框架在验证的场所上可以分为:客户端校验和服务端校验。 客户端校验是指,在HTML画面上自动生成JavaScript校验代码,在用户提交到服务器之前在客户端浏览器中进行校验。默认位客户端校验。 服务端校验是指,在数据提交到服务器上之后,在Action处理之前,对客户但提交的数据进行校验。原创 2007-08-02 09:22:00 · 9133 阅读 · 5 评论 -
第七章 (类型转换)Type Convertion
第七章 Type Convertion 为什么会有类型转换?HTTP协议中传递的任何内容都是String类型的,所以一旦我们在服务器上需要一个非String类型的对象,例如:int或者Date,那么我们就需要在收到HTTP请求的数据的时候,首先将String类型的数据变换为我们需要的对应类型的数据,之后再使用。这个过程就是类型转换 类型转换在Struts2中是透明的原创 2007-08-03 14:21:00 · 10329 阅读 · 2 评论 -
第六章 Localization
第六章 Localization 引文 假如我们开发了一个在中文环境下运行的页面,代码如下:欢迎 欢迎到来! 之后又假如,有一天我们公司的业务扩展到了日本,和美国,那么我们必须要订制另外的两张不同的页面,代码为: Welcome Welcome原创 2007-08-03 13:32:00 · 5121 阅读 · 0 评论 -
第十四章 集成Dojotoolkit(Ajax框架)
第十四章 集成Dojotoolkit(Ajax框架) Struts2内置对dojotoolkit的支持@TODO 基于Ajax标签做更详细的使用讲解,由于dojo ajax标签在struts2中还处于试验阶段,所以我们主要讲解dojo在不使用struts2内置功能的情况下怎么和struts2结合使用。 Dojotoolkit介绍Dojotoolkit是当前比较流行的Java原创 2007-08-13 00:03:00 · 7263 阅读 · 0 评论 -
第十二章 集成iBatis
第十二章 集成iBatis iBatis是众多OR Mapping工具中的一个。 OR Mapping产生源自于面向对象的计算机语言(Object-Oriented Language,例如Java)和 关系型数据库(Relationship Database)之间的矛盾,即面向对象的操作和SQL语句之间的矛盾。 iBatis有Java版本和.NET两个版本可供选择。原创 2007-08-09 22:43:00 · 6941 阅读 · 4 评论 -
第十一章 集成Spring framework
第十一章 集成Spring framework Springframework 是一个为了简化JavaEE开发而创建的一个框架,其中主要的功能为IOC。简单说明参看Springfremework 的founder Rod Johnson 写的《Introduction to Springframwork》http://www.theserverside.com/tt/arti原创 2007-08-09 15:25:00 · 7154 阅读 · 0 评论 -
第八章 Result Types
第八章 Result Types一个提交到服务器的处理通常可以分为两个阶段,第一个阶段查询服务器状态(查询或者更新数据库),第二个阶段选择一个合适的结果页面其返回给用户(这里要讲的Result的内容)。 Struts2提供了对不同种类返回结果的支持,常见的有JSP,FreeMarker,Velocity等。Struts2支持的不同类型的返回结果为:原创 2007-08-08 12:43:00 · 37797 阅读 · 14 评论 -
第九章 拦截器(Interceptors)
第九章 拦截器 拦截器的工作原理如上图,每一个Action请求都包装在一系列的拦截器的内部。拦截器可以在Action执行直线做相似的操作也可以在Action执行直后做回收操作。 每一个Action既可以将操作转交给下面的拦截器,Action也可以直接退出操作返回客户既定的画面。 如何自定义一个拦截器?自定义一个拦截器需要三步:1 自定义一个实现Interce原创 2007-08-07 20:54:00 · 29776 阅读 · 8 评论 -
附录四 长时间操作(双击制御和等待画面)
双击制御有些时候一些操作会非常的耗费时间(Long Lived Operation),例如这个数据库的导出,表表生成等。有些时候程序的使用者看到很长时间服务器没有反应,倾向于多次点击提交按钮。这样恰恰相反,由于重新使服务器运行相同的长时间操作,反而让反应时间更慢。 我们如何来制御这样的操作呢?我们能不能在每个页面生成的时候,自动生成一个特殊的隐藏字段,这个隐藏字段具有唯一性。原创 2007-08-05 20:16:00 · 5631 阅读 · 3 评论