- 博客(84)
- 资源 (1)
- 收藏
- 关注
原创 Base-Jsp-13-缓冲和页面片断引入
v 应答主体的缓冲Ø HTTP应答消息即包含首部也包含应答主体 ª 首部将告诉浏览器应答主体中所含数据的类型(HTML文本、图像)、应答主体的大 小、应答主体是否可以被缓存等信息。 ª 所有的应答首部必须在应答主体被发送之前发送到浏览器去。 ª 一旦JSP页面向消息主体中写入了什么东西,JSP就会开始把应答发送到浏览器中,
2005-09-01 20:14:00
970
翻译 Base-Jsp-12-Jsp翻译为servlet
ª 事例: Private String getGreeting() { Date now = new Date(); String greeting = null; If( now.getHours() { greeting =
2005-09-01 20:00:00
919
原创 Base-Jsp-11-使用脚本元素
现在已经不提倡在JSP页面中嵌写脚本元素,应尽量多的使用JSTL。v 脚本元素共有3类脚本元素i) 用于要被执行的代码块的小脚本(scriptlet)ii) 用于要被执行的单个语句的表达式(expression)iii) 用于声明变量和方法的声明(declaration)Ø 使用page指令的脚本属性
2005-09-01 19:58:00
1115
原创 Base-Jsp-10-国际化
v Base-Jsp-10-国际化要开发一个能够迎合来自于世界不同地区的用户的需求的应用程序,需要包括两个阶段:i) 国际化(internationalization):将应用程序中那些随地理区域的不同而不同的东西确定下来,并提供一些方法,使得应用程序可以根据使用情况的不同使用这些东西的不同版本, 而不是使用硬编码的值。这些信息包括时间、数字的格式、货币、度量衡等。
2005-08-27 21:32:00
1185
原创 Base-Jsp-9-安全验证
v 安全验证Ø 身份验证(authentication):建立一种机制,以确定一个用户确实是他所声称的那个人。Ø 访问控制,或授权(authorization):与身份验证紧密相关的安全机制,保证用户只能。v 身份验证Ø 由容器提供的身份验证 Servlet规范(2.2开始)定义了3种身份验证机制,大部分web客户机和服务器都支持 这3种机制。i)
2005-08-27 21:30:00
1302
原创 Base-Jsp-7-session内存使用策略
Øsession内存使用策略:® 应用程序和会话作用域内的所有对象都将在服务器进程中占有内存。® 应用程序作用域对象占用内存数:你产生的全局对象数*对象大小。® 计算session作用域中占用内存的方法:会话作用域内的对象数目取决于当前会话的数目,所以除了每个对象的大小外,你还需要知道当前有多少个用户,以及一个会话将持续多长时间。例:以购物车为例,购物车内有3件产品,i)
2005-08-27 21:29:00
992
原创 Base-Jsp-5-在页面、请求和用户之间共享数据
v 在页面、请求和用户之间共享数据 Ø 将控制从一个页面传递到另一个页面 该行为将结束对一个页面的处理,而开始处理由page属性指定的页面,该页面叫 做目标页面。 目标页面可以访问关于请求(request)的全部信息,包括所有的请求参数。还可以 使用行为元
2005-08-27 21:28:00
1274
原创 Base-Jsp-6-会话跟踪
Ø 会话跟踪 Cookie:服务器在一个应答首部传递给浏览器的名称/值对。浏览器保存的时间 由cookie的过期时间属性来指定。 当浏览器向某个服务器发送一个请求时,它会检查其保存的cookie,并在请求 首部中包含从同一台服务器上接收到的所有cookie。
2005-08-27 21:28:00
1058
原创 Base-Jsp-4-错误处理和调试
v 错误处理和调试Jsp容器要求必须完全按照JSP规范中的定义写出每一个JSP元素,这样才能正确的处理JSP页面。当它发现有什么东西不正确时,就会通知你。但通知的形式根据不同的容器各有不同,如服务器发现错误,JSP容器知要求返回一个带有针对服务器错误的(500) 的HTTP状态码的应答。Ø 异常:当某个Java方法中有什么东西发生了错误,它通常会抛出一个异常。异常是一个 特
2005-08-27 21:27:00
1058
原创 Base-Jsp-3-JSTL
v JSTL库 URI 前缀Core http://java.sun.com/jstl/core cXML processing
2005-08-27 21:26:00
1287
原创 Base-Jsp-2-JavaBeans
Ø bean:遵循某些编码约定的Java类,作为组件被使用。i) 应该始终为bean类使用包名称,从而可以容易地以可移植的方式使用JSP页面中的bean。ii) Bean类必须使用无参数的构造函数,这样允许工具以只知道类名的方式创建bean.iii) Bean的属性是通过getter和setter方法访问的。i
2005-08-27 21:25:00
878
原创 Base-Jsp-1-基本概念
v 基本概念Ø Jsp是一种用来开发含有动态内容网页的技术。动态内容:可以根据任意变量改变网页自身的内容。Ø Jsp页面包含标准的标记语言元素,入HTML标签,也包含特殊的Jsp元素。这些元素使 得服务器可以把动态内容插入到网页中。 当用户请求一个Jsp页面时,服务器先执行Jsp元素,并把结果同网页的静态部分向结 合,然后把动态合成的页面送回到浏览器。
2005-08-27 21:24:00
1578
原创 Base-Jsp-8-HTML参考
8HTML、JavaScript、css虽然很简单,但使用过程中,总会因为遗忘部分语法而在网络中四处奔波查找,趁此闲时,做一个“所见即所得”的HTML参考,以备以后查找。包括HTML、JavaScript、css的主要语法参考,使用时可以将该内容拷贝,另存为html文件,看取效果,拷贝所需 http://127.0.0.1:8080"/> dudu@126.com"/>
2005-08-25 16:20:00
2131
原创 定制标志示例
◆标志体内容定义为可以向客户机返回的任何内容标志体内容类型包括以下3个值:1)empty除了HTML注释外,定义为empty的标志体中不能包括任何内容,因为标志体内容会向客户机返回内容。2)JSP:这种标志体可以包括普通的JSP页面元素,用JSP作为体内容类型时,体内容和普通JSP内容一样处理,即,执行小脚本、表达式求值等。3)《body-content》tagdependent《body-co
2005-08-19 10:09:00
1712
1
原创 标志库介绍
◆基本概念定制标志可以方便的取得客户机场景,即浏览器请求信息,方便的处理页面元素。定制标志优于JavaBean的一个方面就是知道运行环境1)JavaServlet在逻辑中嵌入内容;Jsp页面则在内容中嵌入逻辑2)Jsp标志扩展:把Jsp页面中的可复用功能包装起来,用以编写维护性和可读性更好的页面。◆基本概念2:jsp能够访问运行环境和情景中的所有信息,它们包括i)请求-requestii)响应-
2005-08-19 10:06:00
2035
原创 read-Atleap-4-标志库的使用
● 标签库的使用Ø 标记类定义public class ErrorsTag extends TagSupport { protected transient final Log log = LogFactory.getLog(ErrorsTag.class); protected String property; public String getProperty()
2005-08-18 20:22:00
1208
原创 read-Atleap-3-Tiles学习
read-Atleap-Tiles学习v Atleap没有像AppFuse那样使用sitemesh分离显示格式和布局,而是采用了struts的Tiles.运行用户将内容和布局分离模板就是一个使用JSP自定义标记符库描述页面布局的JSP页面。模板充当的定义的角色,它定义了应用程序的外观而不指定内容。在运行期,用户可以将内容插入到模板页面,并且,一个或多个页面可以使用同一个模板。 tiles-con
2005-08-18 20:20:00
1515
2
原创 read-Atleap-2-动态改变页面显示语言
Atleap中struts tiles主模板页面是:/WEB-INF/pages/layouts/core/coreLayout.jsp Ø 改变页面显示语言 controllerClass="com.blandware.atleap.webapp.action.core.contentLocale.LocaleListController"> (1) v
2005-08-18 20:18:00
1232
原创 read-Atleap-1-数据库结构
Atleap是使用AppFuse为框架的CMS(内容管理系统)。● hibernate对应表关系Ø com.blandware.atleap.model.core.ContentLocale.对应locale表Ø com.blandware.atleap.model.core.ResourceData. 对应resource_data表Ø com.blandware.atleap.model.co
2005-08-18 20:15:00
1780
5
原创 read-JpetStore-3-用户管理
● JPetStore用户管理分析JPetStore将登陆后的用户ActionForm保持于Session作用域中,在页面中判断该ActionForm中的用户信息,实现了简单的用户验证。 Ø 进入用户管理 signonForm.do"/>"> Ø Struts-config.xml配置signonForm" type="org.springframework.samples.jpet
2005-08-18 20:10:00
203
2
原创 read-JpetStore-2-进入JPetstore
● 进入JpetStoreØ shop/index.do">Ø Struts 中的配置 validate="false"> path="/WEB-INF/jsp/struts/index.jsp"/> Ø URL访问:http://127.0.0.1:8080/jpetstore/shop/index.do ● 所有Action的
2005-08-18 20:09:00
1317
原创 read-JpetStore-1-安装与配置
● 安装Ø 在build.xml所在目录的上层目录建立lib目录,拷贝Spring lib目录下的所有jar文件,并且拷贝Spring.jar到lib目录(默认lib目录下没有spring.jar)Ø 在lib同层目录建立dist目录Ø ant warfileØ 将生成的jpetstore.war文件拷贝到tomcat webapps目录下Ø 将spring.jar拷贝到WEB-IN/lib
2005-08-18 20:08:00
1456
原创 read-AppFuse-21-ant再探
● AppFuse的ant构建使用非常复杂,功能也非常强大,怎样能够充分的利用它,为我所用,在今后的开发中大幅度的减轻开发量,顾做此详细研究(其中不包括测试任务)。 Ø build.xml的正常运行依赖以下文件i) properties.xml该文件定义build.xml所需的属性值,主要完成通过build.properties 产生database.pro
2005-08-18 20:04:00
1346
4
原创 read-AppFuse-20-AppGen分析
只需要一个POJO产生所需的所有配置和文件。● build.xml文件分析 Ø 功能说明该工具主要完成i) 利用XDoclet自动产生文件ii) 配置Springiii) 配置资源文件iv) 配置数据库测试数据v) 将生成的文件拷贝到主项
2005-08-18 20:00:00
1608
3
原创 read-AppFuse-19-自动生成代码描述
● AppFuse的AppGen工具为我们自动生成了大量的代码,现在对关键业务代码做以回顾和总结Ø 描述:i) 表单提交后,struts将转动相应的action类。AppFuse中的Action执行方法选择是通过Struts的LookupDispatchAction实现的,虽然这样可以实现一个Action根据url参数处理多种方法,但可扩展型比较差,调试麻烦,实现复
2005-08-18 19:58:00
2291
5
原创 read-AppFuse-18-AppFuse建立应用程序过程
● AppFuse建立应用程序过程复习 Ø 利用AppFuse生成应用程序5步曲 (1) 采用hibernate建立持久层的POJO对象。i)建立POJOsrc/dao/**/model目录下建立一个简单的Person对象,这个对象包括id、firstName 和lastName属性。 package org.appfuse.model; //该类继承BaseO
2005-08-18 19:53:00
1358
1
原创 read AppFuse 17-复习
read-AppFuse-17-复习● AppFuse建立应用程序过程复习(1) 采用hibernate建立持久层的POJO对象。i)建立POJOsrc/dao/**/model目录下建立一个简单的Person对象,这个对象包括id、firstName 和lastName属性。 package org.appfuse.model; //该类继承BaseObje
2005-07-18 21:33:00
1432
原创 read AppFuse 16-XDoclet学习续
read-AppFuse-16-XDoclet学习续● xdoclet学习续Xdoclet是一个代码自动生成的工具XDoclet任务就是Ant的自定义任务,除此以外,没有其他运行XDoclet任务的方法。XDoclet它有两个重要的组件:进行特殊标记的 Java 源文件。 预先定义的模板。[引用] Merge File用来处理无法在Source Code中加xdoclet tag的情况。 Ø X
2005-07-14 15:40:00
1791
原创 read AppFuse 15-XDoclet学习
read-AppFuse-15-实践-建立Action续 ● 使用XDoclet创建JSPs骨架Ø 利用AppFuse中提供的AppGen工具,可以根据POJO和管理类这两个类,通过Xdoclet生成Strutsh和Spring需要的所有文件和配置信息,大大简化了开发流程,非常方便。 Ø AppGen生成文件列表 1. 对应的DAO Test 类
2005-07-13 13:57:00
1448
原创 read AppFuse 14-实践-建立Action
read-AppFuse-14-实践-建立Action● 根据AppFuse的帮助,实做Action● 为Person POJO添加XDoclet tags@struts.form include-all="true" extends="BaseForm"AppFuse的Struts使用到了validator框架实现用户输入验证。Ø Validator框架学习 将校验规则代码集中到
2005-07-12 17:30:00
1491
原创 read AppFuse 13-实践-建立Manager
read AppFuse 13-实践-建立Manager● 按照AppFuse帮助,实践Ø 业务类图 Ø 对于这一部分的实现,没有什么好说的,基本上是对DAO层的一层包装,Manager类,它的主要职责是持久户层(DAO)和web层之间的一个桥梁,它也很好的把展示层和数据库层(例如Swing应用)解耦,Managers必定是应用程序所有的业务逻辑所在的地方。 Ø PersonMana
2005-07-10 19:19:00
1590
原创 read AppFuse 12-实践-建立DAO
● 按照AppFuse帮助,实践实践次步时,一切都还正常,唯有最后测试时,始终不通,试了n多办法,无果。如果那位网友看到,知道结果的,烦请告知,在此先谢过了。具体的错误分析见文尾。Person是基本的POJO,PersonDAO是Person的管理类,PersonManager是 Business Facades. 这些façade用于连接前端和DAO层之间的通讯。Ø 在web环境下,Sp
2005-07-10 18:44:00
1944
6
原创 read AppFuse 11-实践-业务信息person的建立
read AppFuse 11-实践-业务信息person的建立● 按照AppFuse帮助,进行AppFuse开发实践(1) 创建POJOpackage org.dudu.model;/** * @hibernate.class table="person" */public class Person extends BaseObject{ private Long id;
2005-07-10 18:08:00
1506
原创 read AppFuse 10-Spring配置
Read AppFuse Spring配置 ● 说明: Spring中,BeanFactory提供了一种先进的配置机制来管理任何种类bean(对象), ApplicationContext是BeanFactory的完全超集, 我们大部分时间面对的是ApplicationContext,通过它取得bean,处理bean,而其他
2005-07-06 21:33:00
2931
6
原创 read AppFuse 9-BaseAction类分析
read AppFuse BaseAction类分析★ 功能:通过请求的参数来决定该执行哪一个方法,而不像一般的Action,从Execute方法执行。BaseAction在AppFuse中作为所有Action的父类。使用LookupDispatchAction,在一个窗体中包括两个以上同名的按钮时,由Struts来决定具体执行那个按钮操作,减少了Action类,增加了请求处理的灵活性。
2005-07-04 18:03:00
2596
9
原创 read AppFuse 6-国际化
readAppfuse-6-国际化 ★ 说明:Java 编译器和其它 Java 工具只能处理含有 Latin-1 和/或 Unicode 编码(/udddd 记号)字符的文件。中文资源文件是含有有本地编码字符(既非 Latin1 又非 Unicode 字符)的文件。native2ascii 将含有其它字符编码的文件转换成含 Latin-1 和/或 Unicode 编码字符的文件。[转引]
2005-07-04 14:18:00
1961
原创 read AppFuse 5-Struts -Menu的使用
readAppfuse-5-Struts-Menu的使用★ 作用:方便快捷的产生菜单★ appfuse中的运用(1) WEB-INF/struts-config.xml 作为插件在struts-config.xml中申明--> (2) WEB-INF/menu-config.xml 定义菜单名称和连接指向--> typ
2005-07-04 14:16:00
2340
原创 read AppFuse 4-Sitemesh使用
★ 作用:sitemesh应用Decorator模式,用filter截取request和response,把页面组件 head,content,banner结合为一个完整的视图[引用]。★ appfuse的使用:(1) 在WEB-INF/web.xml中的过滤器的定义 sitemesh com.opensymphon
2005-07-03 17:46:00
2252
原创 read AppFuse 3-权限认证续
★ 容器启动时,调用监听器StartupListener,初始化Spring上下文环境,设置DAO type,通过LookupDAOHibernate.getRoles取得角色信息,存于application scope中。★ 接着时调用UserCounterListener监听器,记录用户的登陆改变。★ 然后通过容器form认证,将请求转给login.jsp★ L
2005-06-26 22:59:00
2502
3
原创 read AppFuse 8-Ant任务续
v db-load: 把示例数据加载到数据库中 v db-load: 把示例数据加载到数据库中 v db-load: 把示例数据加载到数据库中Ø 任务定义: description="Loads the database with sample data"> supportBatchStatemen
2005-06-26 12:39:00
1856
PHP4完全中文手册
2009-02-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅