
java
文章平均质量分 74
xiaoping8411
一个走在路上的人,前面有太多太多的路。一个为了学习与生活,要不停奔走的人。
展开
-
java基础的总结
第一章 JAVA简介JAVA语言的概述:1995年5月,Sun Microsystems 开发的一种新的语言。JAVA之父:James GoslingJava可用来生成两类程序:应用程序(applications)和Java Applet(小应用程序)开发Java程序的步骤:l 创建Java源程序Java源程序一般用java作为扩原创 2008-07-09 16:25:00 · 856 阅读 · 0 评论 -
javaWeb基础
第一章 Servlet使用入门 1. HTTP Servlet的基础知识:HttpServlet作为一个抽象类用来创建用户自己的HTTP Servle,扩展了GenericServlet类,HttpServlet类的子类必须至少重写两个方法的一个:doGet()和doPost()。Ø Servlet格式: pub原创 2008-07-09 16:50:00 · 962 阅读 · 0 评论 -
MD5加密
public class MD5 { public MD5() { } public static String encode(String source) { try { char hexs[] = { '0', '1', '2', '3', '4', '5', &原创 2008-07-19 15:43:00 · 652 阅读 · 0 评论 -
Struts多附件上传
动态的file输入域实现sturts的多文件上传,请大家看看还能不能优化??这是jsp页面的代码:js的作用主要是生成动态的file域var i=0;function addElements(){with(document.forms("demo")){if(i>=5){alert("最多不能超过5个!");return ;}insertAdjacentHTML("beforeEnd"," " )转载 2008-11-27 17:00:00 · 761 阅读 · 0 评论 -
Struts2使用2-- Struts2的概述
Struts2是一个优雅的,可扩展的JAVA EE web框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。Struts2吸收了Struts1和WebWork两者的优势。Struts2的特性:l 一个基于Action的MVC Web框架。在这个模式中,Servlet是控制器,集中处理所有的客户端页面请求。它把所请求的URL与被称为A原创 2009-11-04 12:26:00 · 1061 阅读 · 0 评论 -
Struts2使用6 -- 如何接受请求和表单类型
Action为了执行操作,并为数据库持久化对象提供数据,就必须要访问请求字符串和表单中的数据。Struts2采用了JavaBean的风格——要访问数据的话,就给字段提供一个getter和setter,要访问请求字符串和表单也是一样的道理。每一个请求字符串和表单的值都是一个简单的名/值对,所以要设定一个特定名称的值的话,就要为它提供一个setter。比如,如果一个JSP调用了原创 2009-11-04 13:26:00 · 2071 阅读 · 1 评论 -
Struts2使用9 -- 转化器
Struts2.0内置的转换器 对于一此经常用到的转换器,如日期、整数或浮点数等类型,Struts 2.0已经为您实现了。下面列出已经实现的转换器。l 预定义类型,例如int、boolean、double等; l 日期类型, 使用当前区域(Locale)的短格式转换,即DateFormat.getInstance(DateFormat.SHORT);原创 2009-11-05 12:16:00 · 635 阅读 · 0 评论 -
Struts2使用16 -- 值栈与 OGNL 1 -- 概述
值栈的含义正如它的名字所表示的那样——对象所组成的栈。OGNL的全称是Object Graph Navigational Language(对象图导航语言),提供了访问值栈中对象的统一方式。它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用原创 2009-11-05 12:46:00 · 114 阅读 · 2 评论 -
Struts2使用20 -- 注解配置2 -- 生命周期回调注解(拦截器注解)
关于方法级的生命周期回调的注解一共有三种,每一种都是在Action处理过程中的特定时刻被调用的。生命周期回调与拦截器及Action代理不同,它们特定于被调用的Action类存在的,并不是那种可以在多个Action中使用的单个的类。注解描述Before被注解的方法会在Action的逻辑执行前被调用。BeforeR原创 2009-11-05 14:17:00 · 2287 阅读 · 0 评论 -
Struts2使用4-- Struts2的配置2-- Struts.properties 属性文件
是Struts2的配置文件,默认叫default.properties文件。它配置struts的默认配置,例如:struts2的默认配置 为action就是在该文件中定义。这个文件提供了一种更改框架默认行为方式的机制。在一般情况下,如果不是打算让调试更加方便的话,你根本无须更改这个文件。在“struts.properties”文件中定义的属性都可以在“web.xml”文件的“i原创 2009-11-04 12:53:00 · 2398 阅读 · 0 评论 -
Struts2使用12 -- 拦截器2 -- 配置
如果要在Action中激活依赖注入功能(或其他任何由拦截器提供的功能),就必须要对Action进行配置。和其他元素一样,许多拦截器都已经提供了默认的配置项。你只需要确认一下Action所在的Package继承了“struts-default”package。在配置一个新的拦截器之前,首先要对它进行定义。… />和… />标签都要直接放到标签里面。像我们上面提到的那些拦截器,它们的配置项就原创 2009-11-05 12:29:00 · 762 阅读 · 0 评论 -
Struts2使用13 -- 拦截器3 -- 内置拦截器
名称描述alias实现在不同请求中相似参数别名的转换。autowiring这是个自动装配的拦截器,主要用于当Struts2和Spring整合时,Struts2可以使用自动装配的方式来访问Spring容器中的Bean。chain构建一个Action链,使当前Ac原创 2009-11-05 12:33:00 · 820 阅读 · 0 评论 -
Struts2使用14 -- 拦截器4 -- 自定义拦截器
实现拦截器,主要有以下三种方法:l 实现Interceptor接口Interceptor接口有三个方法:public interface Interceptor extends Serializable { void destroy(); void init(); String intercept原创 2009-11-05 12:36:00 · 826 阅读 · 0 评论 -
Struts2使用3-- Struts2的配置1-- web.xml 、struts.xml 配置
配置web.xml,配置Struts2的过滤器,例如: filter> filter-name>struts2filter-name> filter-class>org.apache.struts2.dispatcher.FilterDispatcherfilter-class>filter>filter-mapping>原创 2009-11-04 12:36:00 · 3852 阅读 · 0 评论 -
Struts2使用7 -- 如何获取request、session?
l 与Servlet容器无关获取的方法(非IoC)获取方法 与servlet无关: 非IoCActionContext get(Object) , getSession , getApplication这三个方法分别能够获取Map类型的request,session,application获取时首先需要获取一个ActionContext对象,然后再调用上面的三个方原创 2009-11-04 13:48:00 · 1005 阅读 · 0 评论 -
Struts2使用10 -- Action验证
在Struts2应用中提供验证的方式有两种——编程式和声明式。编程式验证要提供编程式验证的话,action就要实现Validateable接口。该接口只有一个方法,在方法中需要执行验证操作:void validate();为了将验证中出现的问题反馈给用户,action还需要实现ValidationAware接口。这个接口更为复杂一些,它里面的方法可以用来添加验证错误,判断当前是否有验原创 2009-11-05 12:18:00 · 999 阅读 · 0 评论 -
Struts2使用15 -- 拦截器5 -- 实例
实例一:防止表单重复提交防止重复提交:有两种方法:一是使用token拦截器,二是使用tokenSession第一种方法步骤:1、 先在页面中放一个令牌。调用Struts标签,服务器自动分派。2、 在struts.xml文件定义token拦截器。 3、 在struts.xml文件配置有重复提交的错误页面,即:原创 2009-11-05 12:37:00 · 656 阅读 · 0 评论 -
Struts2使用18 -- 结果类型
概述: 在前面我们已经演示过如何配置Action来向用户返回一个JSP。但这只是Action的结果之一。Struts 2里面提供了多种结果类型,有些是可见的,有些只是与运行环境之间的交互。“type”属性被用来配置Action的结果类型,如果没有配置该属性的话,那么默认类型就是“dispatcher”,它将会渲染一个JSP结果并返回给用户。下面就是这样的Action配置:原创 2009-11-05 12:57:00 · 1333 阅读 · 0 评论 -
Struts2使用19 -- 注解配置1 -- Action注解配置
在Action中提供了下列几种注解:ParentPackageNamespaceResultResults注解描述Namespace所期望的命名空间(在“struts.xml”文件中也有定义)的字符串值ParentPackage所期望的父package的字符串值原创 2009-11-05 13:05:00 · 4434 阅读 · 0 评论 -
Struts2使用21 -- 注解配置3 -- 验证注解
任意一个XML配置的validator都有一个相应的注解。每一个注解的属性都和XML的配置很相似。还有些注解可以用来把一个类定义为使用基于注解的验证,或是配置自定义的validator,还可以把一个属性或类的验证进行分组。注解 相应的XML 描述RequiredFieldValidator required原创 2009-11-06 12:14:00 · 2881 阅读 · 0 评论 -
Struts2使用24 -- 异常处理
在开发web应用时,需要处理不同种类的异常。有些异常是特定于服务或者正在调用的业务对象的——这些无法进行声明式处理,只能通过编程来处理它们。但是还有另外一些异常:l 无法处理,需要把用户重定向到一个错误页面,直到问题解决为止。这些常常是系统级别或者资源级别的问题,和Web应用的逻辑无关。因网络问题而导致的数据库连接失败就是这样一个例子。l 与逻辑无关,原创 2009-11-06 12:24:00 · 1098 阅读 · 0 评论 -
Struts2使用1-- Struts2与Struts1的区别
l Action 类:n Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。n Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现 常用的接口。Action接口不是必须的原创 2009-11-04 12:20:00 · 982 阅读 · 0 评论 -
Struts2使用5 -- Action结果配置
Action最常用也是最基本的用法就是执行操作后返回单个结果。这种Action看上去就是这样的:class MyAction { public String execute() throws Exception { return "success"; }}这样简单的几行代码当然说原创 2009-11-04 13:12:00 · 860 阅读 · 0 评论 -
Struts2使用8 -- 通配符映射
/{1}/update{2}.jsp /{1}/list.jsp在action的名字中,每一个星号都是一个通配符。在这个例子中,我们全都用了星号——其实也不必如此。比如说,如果你想要把所有对实体的view动作映射到一起,那么类似于“name=”/*/View*”这样的配置就能完成要求。形如{1},{2}等等的标原创 2009-11-04 13:52:00 · 1012 阅读 · 0 评论 -
Struts2使用11 -- 拦截器1 -- 概述
Struts2中提供的很多特性都是通过拦截器实现的,例如异常处理,文件上传,生命周期回调与验证。拦截器从概念上来讲和Servlet过滤器或者JDK 的Proxy类是一样的。它提供了一种对Action进行预处理和事后处理的功能。和Servlet 过滤器一样,拦截器可以被分层和排序。它还可以访问所执行的Action和所有的环境变量与执行属性。Struts2内建了大量的拦截器,这些拦截器以na原创 2009-11-05 12:23:00 · 807 阅读 · 0 评论 -
Struts2使用17 -- 值栈与 OGNL 2 -- 使用
访问属性名字属性获取:地址属性获取:访问方法调用值栈中对象的普通方法:访问静态属性和方法调用Action中的静态方法:调用JDK中的类的静态方法:调用JDK中的类的静态方法(同上):调用JDK中的类的静态方法:调用普通类中的静态属性:原创 2009-11-05 12:51:00 · 1380 阅读 · 1 评论 -
Struts2使用22 -- 注解配置4 -- 转换器注解
与“验证”类注解类似,“转换和容器”类注解为每一个使用了“*- conversion.properties”配置文件的对象都提供了相应的注解。注解 描述 KeyProperty 用于指定作为key 的属性Key 用作map的key的类型Element 用于容器l原创 2009-11-06 12:17:00 · 1734 阅读 · 0 评论 -
Struts2使用23 -- 国际化
所有的标签都是通过当前起作用的Locale来支持国际化的。比如说,“date”标签使用用户Locale来决定正确的日期格式;“actionerror”、“fielderror”和“actionmessage”标签都是通过声明式验证配置中所提供的key来获取要渲染的文本。还有一些其他的标签很值得关注。有两种方式可以编程式获取一个页面所需的国际化文本,它们都需要Action继承ActionS原创 2009-11-06 12:21:00 · 875 阅读 · 2 评论 -
动态页面静态化 Java
import java.io.*;import java.net.URL;/** * Title:动态页面静态化 */public class StaticHTMLFile { /** * * @param page * 存放静态页面的本地文件路径 * @param url_addr * 所要生成的静态页的URL地址 * @return转载 2009-11-09 12:19:00 · 4624 阅读 · 3 评论 -
属性文件的读取 Java
import java.util.ResourceBundle;/** * 属性文件的读取 */public class ResourceUtil { private static ResourceBundle prop = null; static { try { // 属性文件位置,主要不要加上.properties后缀 prop = ResourceBundle.ge原创 2009-11-09 12:40:00 · 912 阅读 · 2 评论 -
Cookie读取与写入 Java
Cookie读取与写入有两种方法,用程序写和用js写的两种方法, 1 用程序写例如: /** * 根据名称读取cookie */ public Object getCookie(String name){ Cookie[] cookie = request.getCookies(); Object object = null; for(int i=0;i { if原创 2009-11-09 17:40:00 · 5766 阅读 · 2 评论 -
设计模式学习4 -- 单例模式
1. 单例模式(Singleton)1.1. 概述l 场景:在一个项目中,需要经常对文件系统进行操作,如创建文件,拷贝文件等等,假如这些功能用FileOpe类封装,你如何调用这个类?FileOpe fo = new FileOpe();Fo.createFile();l 但是我们发现,这个类作的工作与具体的业务逻辑似乎关系不大,他做的是一些共原创 2009-11-12 12:51:00 · 828 阅读 · 0 评论 -
设计模式学习6 -- Decorator(装饰)模式
1. Decorator(装饰)模式1.1. 概述l 场景:贵公司编写一个类ReadStrFromFile,专门负责从文件内读取字符串。本来这个功能已经足够了。但是后来发现这些字符串还需要统一变成大写字母。请你编写一个类,能够将字符串转大写字母,并配合上面的类使用,你有何高见?l 方案1:在主函数内,编写一个类,调用ReadStrFromFil原创 2009-11-12 13:00:00 · 744 阅读 · 0 评论 -
设计模式学习7 -- Proxy:代理模式
1. Proxy:代理模式1.1. 概述l 代理概念可以理解为:在出发点到目的地之间有一道中间层,意为代理。例如:代理服务器。l 场景:有一个图片查看应用,每个图片都很大,载入很消耗资源,我们希望有一个界面上显示的是缩略图片,用户点击缩略图片,能够载入实际的图片,怎样编写这个应用?l 用代理是一种比较好的办法1.2. 解决方法原创 2009-11-12 13:10:00 · 699 阅读 · 0 评论 -
设计模式学习10 -- 命令模式
1. 命令模式1.1. 概述l 将来自客户端的请求传入一个对象,无需了解这个请求激活的动作或有关接受这个请求的处理细节。l 具体的Command模式代码各式各样,因为如何封装命令,不同系统有不同的做法,下面事例是将命令封装在一个Collection的List中,任何对象一旦加入List中,实际上装入了一个封闭的黑盒中,对象的特征消失了,只有取出时,才原创 2009-11-12 13:19:00 · 795 阅读 · 2 评论 -
设计模式学习2 -- 工厂模式
1. 工厂模式1.1. 概述在Action里面,我们要调用CustomerDao的login方法,传统情况你用什么代码?CustomerDao cdao = new CustomerDao():cdao.login();1.2. 考虑以下情况l 如果cdao实例对象前,需要做一些准备工作,如:判断数据是否连接l原创 2009-11-12 12:42:00 · 771 阅读 · 0 评论 -
设计模式学习3 -- 建造模式
1. 建造模式1.1. 概述 l 在Windows中打开一个计算器,如果要你编写这个应用,你如何做?l 写一个类,在构造函数里面将各个控件加上去?l 考虑如下问题l 将数字键全部改颜色l 将最左边四个键放在最右边l 很明显,事情变得非常麻烦1.2. 解决方法原创 2009-11-12 12:45:00 · 665 阅读 · 0 评论 -
设计模式学习5 -- 适配器模式(Adapter)
1. 适配器模式(Adapter)1.1. 单向适配器模式1.1.1. 概述l 场景:有两个类n Class A{ public void funA(){/*A代码 */ }}n Class B{ public void funB(){/*B代码 */ }}l 这两个模块本来没有任何关系,但是应用中原创 2009-11-12 12:55:00 · 937 阅读 · 0 评论 -
设计模式学习8 -- Flyweight(享元模式)
1. Flyweight(享元模式)1.1. 概述l 场景:字处理软件,如果以每个文字都作为一个对象,几千个字,对象数就是几千,无疑消耗内存l 但是我们发现,很多字(内容以及特征)是一样的l 另一个场景:你要从一个数据库中读取一系列字符串,这些字符串中有许多是重复的。l 可以将这些字符串存储在池(pool)中。原创 2009-11-12 13:14:00 · 776 阅读 · 0 评论 -
设计模式学习9 -- 观察者模式(Observer)
1. 观察者模式(Observer)1.1. 概述l 场景:网站产品价格等方面有变化,如果系统能自动通知会员,将是网上商店区别传统商店的一大特色,这就需要在商品product中加入Observer这样的角色,以便product细节发生变化时Observer能自动观察到这种变化,并能进行及时的update或notify动作l 一个对象发生变化,能原创 2009-11-12 13:17:00 · 668 阅读 · 0 评论