- 博客(43)
- 资源 (67)
- 收藏
- 关注
原创 总结了Struts1与Struts2的12点区别
Posted on 2011-11-17 09:14 陈小东 阅读(9849) 评论(2) 编辑 收藏1) 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类;Struts 1的一个具体问题是使用抽象类编程而不是接口。Struts 2 Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务成为可能。Struts 2
2012-10-17 22:04:51 950
转载 面试必备:常见排序算法的实现
常见排序算法的实现(一)-插入排序插入排序是最简单最直观的排序算法了,它的依据是:遍历到第N个元素的时候前面的N-1个元素已经是排序好的了,那么就查找前面的N-1个元素把这第N个元素放在合适的位置,如此下去直到遍历完序列的元素为止。 算法的复杂度也是简单的,排序第一个需要1的复杂度,排序第二个需要2的复杂度,因此整个的复杂度就是 1 + 2 + 3 + …… + N
2012-10-13 00:21:54 877
转载 通过COOKIE实现自动登录
1。 loginAction.java 建cookie,取cookie //若cookie有用户名,提取记住的用户名 Cookie[] cookies = request.getCookies(); if (cookies != null) { for (Cookie cookie : cookies) { if ("SESSION_LOGIN_USERNAME"
2012-10-12 17:50:51 1384
原创 OA系统权限管理设计方案
由于公司的大规模发展,应上层要求OA系统要跟上发展的步伐,我决定把系统重做一遍。 现在做前期系统分析,目前遇到一个困难:权限设计方案。。 在百度很快找到了解决方案,以下资料转载自网络: 不同职责的人员,对于系统操作的权限应该是不同的。优秀的业务系统,这是最基本的功能。l 可以对“组”进行权限分配。对于一个大企业的业务系统来说,如果要求管理员为其下员工逐一分配
2012-10-11 16:15:11 1727
转载 支付宝接口程序、文档及解读(ASP.NET)
最近需要为网站加入支付宝的充值接口,而目前关于支付宝接口开发的资料比较杂乱,这里就我此次开发所用到的资料进行汇总整理,希望能够帮助需要的朋友。开发步骤:1. 确定签约类型支付宝的接口有多种类型,所以首先你要确定签约的合同类型,确定使用的是哪个接口,不至于走错了道道。此步骤中,可以参考文档:支付宝接口操作教程2. 下载开发文档如果是即时到账的开发,请先下载并仔细阅读:标准
2012-10-09 22:23:40 2786 1
原创 核心控制器ActionServlet的工作流程
Struts1.2依然是应用很广的框架,熟悉其基本的控制流程是 必要的:一、ActionServlet的初始化ActionServlet 作为Struts组件的前端控制器,由于web.xml的相应配置:0在 应用一加载时即会被实例化并调用其init方法,init方法所做的主要工作有二:1. 加载struts配置文件,并创建用于封装配置信息的ModuleCon
2012-10-09 17:57:08 1308
原创 Struts2+Spring2.5+Hibernate3.3整合开发
注明:来自传智播客黎活明老师讲解PPT,仅供参考,实际项目开发SSH2整合的数据源配置来自hibernate.cfg.xml-----------------------------------------------------------------------------------------------------------------------下面给出整合开发时St
2012-10-09 15:52:42 1027
原创 OGNL表达式语言
1.OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目。 Struts 2框架使用OGNL作为默认的表达式语言。 2.相对EL表达式,它提供了平时我们需要的一些功能,如: (1)支持对象方法调用,如xxx.sayHello(); (2)支持类静态方法调用和值访问,表达式的格式为@[类全名(包括包
2012-10-09 15:38:37 921
原创 Struts2常用标签
property标签property标签用于输出指定值:default:可选属性,如果需要输出的属性值为null,则显示该属性指定的值escape:可选属性,指定是否格式化HTML代码。value:可选属性,指定需要输出的属性值,如果没有指定该属性,则默认输出ValueStack栈顶的值。id:可选属性,指定该元素的标识iterator标签iterator标签用于对
2012-10-09 15:20:41 613
原创 Struts2表单标签
表单标签_checkboxlist复选框如果集合为list生成如下html代码:Java.NetRoRPHP如果集合为MAP生成如下html代码:瑜珈用品户外用品球类自行车如果集合里存放的是javabean <% Person person1 = new Person(1,"第一个"); Person person2 = new Person(2,
2012-10-09 15:09:04 738
原创 Struts2的全局/包/Action范围国际化应用
准备资源文件,资源文件的命名格式如下:baseName_language_country.propertiesbaseName_language.propertiesbaseName.properties其中baseName是资源文件的基本名,我们可以自定义,但language和country必须是java支持的语言和国家。如:中国大陆: baseName_zh_CN.prop
2012-10-08 17:52:24 3422
原创 Struts2系统提供的基于XML的校验器--default.xml
在xwork-2.x.jar中的com.opensymphony.xwork2.validator.validators下的default.xml中定义了这些系统校验器:<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator Definition 1.0//EN" "http://strut
2012-10-07 20:54:57 1545
原创 输入校验--基于XML配置方式实现
1. 基于XML配置方式实现对action的所有方法进行输入校验 使用基于XML配置方式实现输入校验时,Action也需要继承ActionSupport,并且提供校验文件,校验文件和action类放在同一个包下,文件的取名格式为:ActionClassName-validation.xml,其中ActionClassName为action的简单类名,-validation为固定写法。如
2012-10-07 19:43:35 4121
原创 输入校验--手工编写代码实现
在struts2中,我们可以实现对action的所有方法调用之前对其属性进行校验或者对action的指定方法进行校验。 对于输入校验struts2提供了两种实现方法: (1) 采用手工编写代码实现。 (2) 基于XML配置方式实现。1.手工编写代码实现对action中所有方法输入校验 通过继承ActionSupport重写validate() 方法实现,
2012-10-07 19:40:47 1314
原创 Struts2实现权限控制
Struts2的核心功能是通过一个个interceptor来实现的,那么用户可以自定义一个interceptor来实现权限控制功能。 步骤一:自定义一个类,该类实现Interceptor接口,重写其intercept()方法。如:package edu.interceptor;import com.opensymphony.xwork2.ActionContext;import
2012-10-07 02:15:55 2024 1
原创 实现权限控制的几种方式
方式一:struts1.x 步骤一:定义。自定义一个类继承RequestProcessor类,然后重写父类的public void process(HttpServletRequest request, HttpServletResponse response)方法,此类和ActionServlet的作用一样的,是处理请求的控制器组件,其是被ActionServlet调用处理请求的。即在
2012-10-07 00:15:37 4738
原创 单文件上传和多文件上传
1. 单文件上传:struts-fileupload.xml <!-- 限制了一次上传文件总数最大为10M,默认为2M 当单个文件或文件数组和大小大于2Mb时,会抛出org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException: the request was reje
2012-10-06 20:16:25 2608
原创 Action中获取Servlet的其他对象-request.response,ActionMapping,context
Struts2的Action中也可以获取Servlet的其他对象,如request,response,ActionMapping,context等,Struts提供了两种方式: 方法一,通过ServletActionContext.类直接获取:package edu.action;import java.io.IOException;import javax.servlet.
2012-10-06 14:48:56 2097
原创 Action中设置和读取作用域属性
struts2为了降低组件之间的耦合程度,在Action中并没有嵌入Servlet相关的对象,所以要想获取Servlet相关的对象,Struts分别提供了几种方式 (1) 对于Servlet的作用域属性设置和取值,struts提供了两种方式,一种是专门得到作用域Map和请求参数Map,另一种是先得到request对象,然后在通过request得到其他对象。 例: struts-sc
2012-10-06 14:14:39 3803
原创 自定义类型转换器--局部和全局
在Struts2框架中使用自定义类型转换器需要注册,这样在处理用户请求的时候系统才知道使用哪个类型转换器进行转换。1、 注册局部类型转换器局部类型转换器的作用范围为Action范围。注册局部类型转换器需要建立一个命名规则为ActionName-conversion.properties的属性文件,该属性文件保存在与Action类文件相同的目录下。ActionName就是使用类型转换器的Ac
2012-10-06 12:30:16 3844
转载 嫁给软件工程师(程序员)的好处
1. 专一的心,除了计算机就是你。 程序员懂得依靠一个小小的CPU,就打造出一个精彩奇妙的世界,自然也十分懂得挖掘老婆的精彩。所以,程序员专情指数十分高,过起日子来踏实可靠。 2. 不发脾气,易相处 。因为程序员是一种需要极大耐心的工作,所以程序员更是一种百搭的老公。 3. 有趣,程序员都是最聪明的人,有创意,带到生活中就是情趣,有人以为程序员很死板,其实他们最闷骚.
2012-10-06 01:35:29 2860 3
原创 Struts1.x和Struts2在处理请求参数上区别
(1)Struts1.x 对于客户端的请求参数,如果上配有name属性,且对应有formbean,那么struts1.x会按照请求参数名与formbean的成员变量名匹配,相同的则调用其setter方法,为其赋值,没有匹配的,则可以通过request.getParameter("paramName")取得参数值。注意,填充formbean时,struts是按照formbean的成员变量名与请求参数
2012-10-05 23:20:51 3846
原创 Action中方法的要求
(1)struts2中中method属性值只能为方法名,不能带()和参数值,否则在方法Action中此方法时,会抛出异常: (2)在action中增加新的方法的要求:方法必须用public修饰方法的名称自定义方法没有参数方法的返回值为String,返回的值用于映射的name属性,从而找到对应的请求资源
2012-10-05 22:48:28 882
原创 动态方法调用和使用通配符实现类似struts1.x的dispatchAction功能
Struts1中通过继承DispatchAction类和struts-config.xml中配置parameter参数调用Action中的任意方法,那么Struts2也提供了类似的功能,主要有两种方式: 1. 动态方法调用 如果Action中存在多个方法时,我们可以使用"namespace+action名+!+方法名"调用指定方法。如http://localhost:8080/
2012-10-05 21:33:04 1873
原创 关于<action><result><package>的name和namespace属性同名时struts2的处理
1.对于同一个下两个name属性相同的,struts2是这样处理的,后面的将覆盖前面的2.对于同一个下两个name属性相同的,struts2是这样处理的,后面的将覆盖前面的3.配置文件中两个同name属性的(无论是否在同一xml文件中),struts2是这样处理的,启动tomcat时,会报错。4.配置文件中两个不同name属性,但namespace属性相同的,struts是这样处理的,
2012-10-05 11:14:35 5235 1
原创 常用的常量介绍<constant>
细说常量定义 常量可以在struts.xml或struts.properties中配置,建议在struts.xml中配置,两种配置方式如下: (1)在struts.xml文件中配置常量 (2)在struts.properties中配置常量 struts.action.extension=do 因为常量可
2012-10-05 00:36:55 1919
原创 <Action>和<result>配置中的各项默认值
中属性: name:必须有 class:如果没指定此属性或此属性值为""空串:则缺省为com.opensymphony.xwork2.ActionSupport ActionSupport.java中: public class ActionSupport implements Action,...{ pub
2012-10-04 23:24:59 2861
原创 <Action>中<result>的各种转发类型
标签中的type属性决定如何处理客户端的请求:result配置类似于struts1中的forward,但struts2中提供了多种结果类型,常用的类型有: dispatcher(默认值)、 redirect 、 redirectAction 、 plainText。 (1)dispatcher 转发 (地址栏不会变) (2)redirect 重定向,
2012-10-04 23:19:52 1557
原创 多个Action及多个package共享一个视图--全局result配置
当多个action中都使用到了相同视图,这时我们应该把result定义为全局视图。struts1中提供了全局forward,struts2中也提供了相似功能: /message.jsp 这时,package1包下的action1和action2对应的Action类都可以访问message试图。但是这里的中的只能在同一个
2012-10-04 23:02:37 2532
原创 在result中还可以使用${属性名}表达式访问action中的属性
总结: (1)对于Action中的属性,可以通过两种方式设值:一是在Action中直接赋值,二是在struts2的配置文件中为Action的属性注入值。如: zhangsan user /page/showParam.jsp?userName=${userName} 在调用Action的att
2012-10-04 21:54:21 4034 1
原创 为Action的属性注入值两种方式,jsp页面访问该属性值
(1) Struts2为Action中的属性提供了依赖注入功能,在struts2的配置文件中,我们可以很方便地为Action中的属性注入值。注意:属性必须提供setter方法。 在配置文件中注入依赖属性适用于少数不变写死在程序中的属性,如某些交给客户后会改变的属性。 /WEB-INF/struts.xml /page/
2012-10-04 21:25:34 4580
原创 Action名称的搜索顺序
1.获得请求路径的URI,例如url是:http://server/struts2/path1/path2/path3/test.action2.首先寻找namespace为/path1/path2/path3的package,如果不存在这个package则执行步骤3;如果存在这个package,则在这个package中寻找名字为test的action,当在该package下寻找不到act
2012-10-04 20:38:53 608
原创 MyEclipse6.5整合SSH(Struts1.x)详细步骤
1. 新建Web项目,划分包层次结构2. 初始化数据库,并在DB Browse中建立数据库连接3. 导入Struts框架,并进行部署测试4. 集成Spring框架到Web应用5. 导入Hibernate框架6. 生成Hibernate实体对象和映射文件7. 开发DAO层,集成Spring和Hibernate8. 编写业务逻辑代码9. 开发Action, 集成Spri
2012-10-04 00:36:19 701
原创 Struts1工作流程
如果在Web应用中采用Struts,应该在Web应用启动时就加载并初始化ActionServlet,ActionServlet从struts-config.xml文件中读取配置信息,把它们存放到各种配置对象中,例如Action的映射信息存放在ActionMapping对象中,当ActionServlet接收到一个客户请求时,将执行如下流程: (1)检索和用户请求匹配的ActionMappin
2012-10-04 00:01:56 665
原创 <controller>与 RequestProcessor类处理请求
标签的配置主要是为了能让Struts能够识别由开发者自定义的控制器组件。使他们使用不同的RequestProcessor类处理请求。 processorClass:指定请求的Java类的完整类路径名。默认为org.apache.struts.action.RequestProcessor。用户自定义的RequestProcessor类 (1)用户自己写的类必须继承R
2012-10-03 23:56:09 2061
原创 <bean:message>标签
的使用: 1.定义资源文件: edu.language.ApplicationResources.properties edu.language.ApplicationResources_zh-cn.properties2.在struts-config中添加:(注意paramter中的基名不能要后缀) 3.页面中使用: bean:message tes
2012-10-03 23:49:23 5631
原创 <action>标签中的相关属性
元素 元素帮助进行框架内部的流程控制,可将请求URL映射到Action类,将Action对象与ActionForm对象相关联。元素内可定义多个子元素。 元素 所描述的是特定的请求路径和一个相关的Action类之间的映射关系。有以下属性: attribute:设置和Action关联的formbean在request/session内的属性key,通过
2012-10-03 23:42:40 1082
原创 ActionForm的工作原理
根据官方解释:ActionForm应该被归纳到MVC中的Control组件中,他能在模型和显示层之间传递数据。处理ActionForm的一般步骤:(1)检查Action的映射,确定Action中已经配置了对ActionForm的映射。(2)根据name属性,查找formbean的配置信息。(3)根据Action的formbean的 使用范围,确定在此范围下(request,
2012-10-03 23:31:21 1113
原创 JDK和CGLB分别实现的动态代理
Spring在选择用JDK还是CGLiB的依据: (1)当Bean实现接口时,Spring就会用JDK的动态代理 (2)当Bean没有实现接口时,Spring使用CGlib是实现动态代理的用途:通常可以做权限拦截、系统监控等JDK实现的动态代理:PersonService.java接口需要代理的PersonServiceBean.ja
2012-10-02 19:19:41 8937
转载 java序列化的作用
序列化是什么:序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得。序列化分为两大部分:序列化和反序列化。序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢复数据要求有恢复数据的对象实例 序列化的什么特点:如果某个类能
2012-10-02 15:09:47 810
传智播客在线支付易宝支付源码 和 易宝支付产品(HTML版)通用接口文档3.0 3.0.pdf
2012-10-09
jasperReports+iReport3.0.0生成打印文件.doc
2012-10-02
传智播客_JSP技术_方立勋.zip
2012-09-22
Hadoop完全分布式环境搭建步骤
2014-06-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人