自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (3)
  • 收藏
  • 关注

原创 AOP

1.引言我们知道,J2EE应用系统只有部署在J2EE容器中才能运行,那么为什么划分为J2EE容器和J2EE应用系统?通过对J2EE容器运行机制的分析,我们可以发现:实际上J2EE容器分离了一般应用系统的一些通用功能,例如事务机制、安全机制以及对象池或线程池等性能优化机制。这些功能机制是每个应用系统都需要的,而且其设计开发有一定难度,同时对运行的稳定性和快速性要求颇高,必须经过长时间调试和运行经

2008-09-25 22:14:00 2976

原创 代理

1.代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问(在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用).2.代理模式一般涉及到的角色有:(1)抽象角色:声明真实对象和代理对象的共同接口; (2)真实角色:代理角色所代表的真实对象,是我们最终要引用的对象; (3)代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真

2008-09-24 01:31:00 3029

原创 反射

1.问题的提出在Java运行时而非编译时环境中:(1)对于任意一个类,能否知道这个类有哪些属性和方法?(2)对于任意一个对象,能否调用它的任意一个方法?答案是肯定的。这种动态获取类的信息以及动态调用对象的方法的功能来自于Java 语言的反射(Reflection)机制。Java 反射机制主要提供了以下功能:(1)"在运行时"判断任意一个类所具有的成员变量和方法(当然在这之前需要 "在运行时

2008-09-24 01:03:00 3718 1

原创 装箱和拆箱

1.int、Integer、String三者的相互转换(不涉及Autoboxing/Auto-Unboxing)public static void main(String[] args) {    int num;    Integer integer;    String numString;        //(1) int转换为Integer:public 

2008-09-21 23:14:00 3128

原创 Date相关

java.lang.Object   |--java.util.Date      |--java.sql.Date      |--java.sql.Timestampjava.lang.Object   |--java.text.Format      |--java.text.DateFormat (抽象类, 不能通过构造函数构造对象, 只可以通过getDateTimeInstance()方

2008-09-21 16:27:00 3609

原创 struts2输入验证--补充

1.struts2怎么实现方法签名(类似于struts1的DispatchAction):在strust.xml中配置如下(1)struts2怎么实现分发验证:对应于每个方法签名,可以有相应的validate()方法如下public void validateRegister()public void validateLogin()public void validateInsert()(

2008-09-20 15:23:00 3922

原创 struts2 -- interceptor(如何配置Interceptor)

1.interceptor的配置方法1. 普通配置法struts>    package name="struts2" extends="struts-default">        interceptors>            interceptor name="myInterceptor" class="edu.hust.interceptor.MyInter

2008-09-20 13:57:00 17463 2

原创 struts2 -- interceptor(Interceptor怎么写)

interceptor是struts2的核心。我们也可以定义自己的interceptor。jdk代理模式是基于AOP的,struts2的interceptor也是基于AOP的。所以我们可以把interceptor理解为struts2对动态代理的一种封装,与手工实现jdk的动态代理相比,这种封装使得操作变得更为简单。1. implements Interceptor的自定义intercept

2008-09-20 12:41:00 2518

原创 struts2输入验证--验证框架(xml文件验证)

struts2验证框架分为字段(field校验--面向字段、字段优先)校验器和非字段(validator--校验面向validator、validator优先)校验器.通过验证框架验证,只需要删除掉原来validate()方法中的内容(这篇blog是基于"struts2输入验证--validate()验证"的),再增加一个xml文件即可:一个Action对应一个验证xml(RegisterAc

2008-09-20 11:29:00 7901 3

原创 struts2输入验证--validate()方法验证

1.action类package edu.hust.action;import java.util.Calendar;import java.util.Date;import com.opensymphony.xwork2.ActionSupport;public class RegisterAction extends ActionSupport { 

2008-09-20 10:14:00 4179 2

原创 struts2类型转换续

对于上一篇blog,如果输入多个Point,该如何处理:1.输入页面如下,假设输入3个Point,其name都相同。%@ page contentType="text/html;charset=GBK"%>%@ taglib prefix="s" uri="/struts-tags" %>s:form action="converter" method="post">

2008-09-20 10:01:00 1333 1

原创 struts2类型转换

1.先给一个PointBean,要求对这个bean进行类型转换public class Point {    private int x;    private int y;    public int getX() {        return x;    }    public void setX(int x) {        this.x = x;

2008-09-20 09:33:00 1829

原创 struts2的action基础

看代码及注释LoginAction.javapackage edu.hust.action;import com.opensymphony.xwork2.ActionSupport;//strust2.0的Action可以不继承任何类(这个和struts1.3有很大区别). 此时struts2.0的Action类似一个JavaBean,只有getter、setter

2008-09-20 00:29:00 1784

原创 IoC详解

1.定义:IoC是一种模式。IoC(Inversion of Control)中文译为控制反转(即“不用你找,我来提供给你”)。控制反转意味着在系统开发过程中,设计的类将交由容器(spring中是通过applicationContext.xml控制的)去控制,而不是在类的内部去控制,类与类之间的关系将交由容器处理,一个类在需要调用另一个类时,只要调用另一个类在容器中注册的名字就可以得到这个类的实例

2008-09-18 09:15:00 3604 2

原创 工厂模式

1. 创建型设计模式总结: 创建型设计模式应该应用于那些"接口相对稳定但类型实体本身却经常面临需求变化"的场合。如果接口不稳定,创建型设计模式将无法设计;如果类本身变化不大,创建型设计模式也就没有必要。2. 工厂模式定义:定义一个创建对象的接口,并让子类来决定由哪个类实现这个接口。工厂模式将接口实例化交给子类完成。工厂模式是非常常见的模式,通常与动态类的加载相结合使用。常用的JDBC中,只

2008-09-18 09:04:00 1004

原创 string机制3

1.intern()定义public native String intern(); 这是一个本地方法。在调用这个方法时,JAVA虚拟机首先检查字符串池中是否已经存在与该对象值相等对象存在,如果有则返回字符串池中对象的引用;如果没有,则先在字符串池中创建一个相同值的String对象,然后再将它的引用返回。 换一种解释:存在于.class文件中的常量池,在运行期被JVM装载,并且可以扩充。S

2008-09-14 11:52:00 759 1

原创 string机制2

先来推荐一个检测内存泄漏的软件:JProfiler。很不错。本篇博文用到了这个软件。接上一篇博文中那个经典面试问题。这里我用JProfiler对String对象的产生进行了监控。结果表明上篇博文的分析是正确的。public static void main(String[] args) {    System.out.println("=====Start========");

2008-09-14 01:49:00 964

原创 string机制1

1.String类概念(1)String是final的,不可被继承。public final class String。String是的本质是字符数组char[], 并且其值不可改变。private final char value[];(2)Java运行时会维护一个String Pool(String池)。String池用来存放运行时中产生的各种字符串,并且池中的字符串的内容不重复。而一

2008-09-14 01:39:00 2368

原创 String、StringBuffer和StringBuilder

String是final的系统内置类型,不可被继承。String是不可变的对象(长度固定、值不可变)。因此在每次对String类型进行改变的时候其实都等同于生成了一个新的String对象,然后将指针指向新的String对象,所以经常改变内容的字符串最好不要用String,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后,JVM的GC就会开始工作,那速度是一定会相当慢的。举例:

2008-09-13 17:49:00 1216

原创 多线程为什么有同步的概念

线程同步:使隶属于同一进程的各线程协调一致地工作。虽然多线程能给我们带来好处,但是也有不少问题需要解决。例如,对于像磁盘驱动器这样独占性系统资源,由于线程可以执行进程的任何代码段,且线程的运行是由系统调度自动完成的,具有一定的不确定性,因此就有可能出现两个线程同时对磁盘驱动器进行操作,从而出现操作错误;又例如,对于银行系统的计算机来说,可能使用一个线程来更新其用户数据库,而用另外一个线程来读取

2008-09-13 14:47:00 2258

原创 HashMap和TreeMap

1.AbstractMap抽象类和SortedMap接口AbstractMap抽象类:覆盖了equals()和hashCode()方法以确保两个相等映射返回相同的哈希码。如果两个映射大小相等、包含同样的键且每个键在这两个映射中对应的值都相同,则这两个映射相等。映射的哈希码是映射元素哈希码的总和,其中每个元素是Map.Entry接口的一个实现。因此,不论映射内部顺序如何,两个相等映射会报告相同的

2008-09-13 14:26:00 16823 2

原创 容器简介

Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap│ └LinkedHashMap└WeakHashMap容器类彼此间的关系请看下图legacy表示遗留过期的意思。1.容器类类库分为两类(1)Collection:最基本的集合接口,JDK不提供直接继承自Collect

2008-09-13 13:46:00 1028 1

原创 ArrayList、Vector和LinkedList

ArrayList、Vector和LinkedList实现了所有List接口的操作,并允许存储null值。1.实现方式ArrayList和Vector是List接口的可变长数组实现,即动态数组(Object类型的数组)。new ArrayList()时,底层会生成一个长度为10的数组来存放对象,如果预先知道list会存放多少个对象的话,最好通过new ArrayList(int lengt

2008-09-13 10:09:00 1343

原创 进程(Process)和线程(Thread)

进程(Process)和线程(Thread)1.Process特点(1)进程在执行过程中有内存单元的初始入口点,并且进程存活过程中始终拥有独立的内存地址空间;(2)进程的生存期状态包括创建、就绪、运行、阻塞和死亡等类型;(3)从应用程序进程在执行过程中向CPU发出的运行指令形式不同,可以将进程的状态分为用户态和核心态。处于用户态下的进程执行的是应用程序指令、处于核心态下的应用程序进

2008-09-12 20:09:00 2784

转载 sql注入解释

SQL注入攻击是黑客对数据库进行攻击的常用手段之一。随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。 SQ

2008-09-11 00:20:00 1016

转载 struts1.3.8 -- 动态Action

       使用ActionForm可以给开发者在处理HTML表单时带来极大的帮助,它简化了代码的编写,并提供了自动的数据验证。但是,ActionForm也存在几个非常明显的缺点。       首先,如果ActionForm对应的HTML表单添加或删除一些属性,ActionForm类就可能需要修改并重新编译;       其次,如果HTML表单是动态的,那么ActionForm更是无能为力了; 

2008-09-11 00:13:00 1655

原创 common-fileupload-1.1.1 && struts1.3.8 单个文件上传

1. JSP"text/html;charset=GBK"%>"http://struts.apache.org/tags-bean" prefix="bean" %>"http://struts.apache.org/tags-html" prefix="html" %>"http://struts.apache.org/tags-logic" prefix="log

2008-09-10 22:14:00 1942

原创 smartupload -- api

File类:这个类包装了一个上传文件的所有信息。通过它,可以得到上传文件的文件名、文件大小、扩展名、文件数据等信息。1、saveAs -- 作用:将文件换名另存。原型: public void saveAs(java.lang.String destFilePathName)  或public void saveAs(java.lang.String destFilePathName, int o

2008-09-10 00:55:00 989

原创 smartupload -- 批量上传模块

啥也不说了,直接看代码1. JSP --> 注意:注释标记的对应,例如三个下面的内容是对应的。%@ page contentType="text/html;charset=GBK"%>html>    head>        title>Upload Pagetitle>        script type="text/javascript">     

2008-09-10 00:00:00 2146 1

原创 简单smartupload

上传操作依然使用form表单,传输的数据都很大,所以只能用post方式提交。如要做上传操作,需要对表单的数据进行封装。enctype="multipart/form-data">          由于上传表单要被封装,如果在上传表单中存在text,select等其他输入内容,则在表单提交处无法使用request.getParameter()接收text,select等输入的数据。这时要使

2008-09-09 19:29:00 1908

原创 jar打包

为什么会有这个玩意呢,首先,这是jar的全称:JavaTM Archive(JAR) File,是的,就是java存档文件。这有点类似zip文件,想一想它是干什么的用的呢,压缩!?没错就是要压缩,将我们原先零散的东西放到一下,重新组织,所有这些目的只有一个:方便!好了,不用管他是怎么压缩的,我们的重点是哪些是我们要压缩的(输入),还有压缩成了什么(输出),进而将它发布(部署)。其中,为J2EE应用

2008-09-09 13:26:00 1399 1

原创 struts1.3.8需要导入的包

是自己从struts-core-1.3.8.jar开始,逐步开发struts的过程中一个个根据需要导入的。有些功能没用到,可能相应的包没有导入。下面所诉都是自己曾经用过的包。关于包的解释是在网上找的一些资料:commons-beanutils-1.7.0.jar: 这个是jakarta commons项目中的一个子项目。这个项目开发的目的是帮助开发者动态的获取/设值Java Bean的属性,同

2008-09-09 09:59:00 4988 1

原创 自制token --> provent 重复提交 from Refresh && Undo

首先明确一个概念,防止重复提交和防止输入重复数据是两码事,防止重复数据的输入是DataBase应该完成的任务。在JavaEE中由JDBC或Hibernate完成;而防止重复提交是control和view层应该完成的任务。-------------------------------------------我是光荣的分割线-------------------------------------

2008-09-08 21:45:00 2556 1

原创 ActionForm中validate()方法 -- 一个细节

今天写struts1.3.8。出现一个问题,让我琢磨了好长时间。往常写login是独立出来的,针对login功能有独立的LoginForm和LoginAction,在LoginForm中可以用validate()进行表单验证(虽然不如用js+正则表达式进行表单验证更有效,但也算是提供了一种思路)。validate()验证通过,struts-config.xml才会根据type跳转到LoginA

2008-09-07 23:20:00 6303

原创 vo/ActionForm中封装属性时要去除空格

例如    public String getUid() {           if (uid != null) uid = uid.trim();           return uid;  }       public String getPassword() {           if (password != null) password = password.trim();    

2008-09-07 22:54:00 1164

原创 logic taglib学习

啥都不说了,全在代码里了!!%@ page contentType="text/html;charset=GBK"%>%@ page import="java.util.*"%>%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>%@ taglib uri="http://struts.a

2008-09-07 11:22:00 794

原创 bean taglib 学习

%@ page contentType="text/html;charset=GBK"%>%@ page import="java.util.*"%>%@ page import="edu.hust.vo.*"%>%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>%@ taglib ur

2008-09-07 01:54:00 1081

原创 el表达式不起作用的解决方案

 今天晚上学习SSH,发现一个el表达式在JSP2.0中不起作用的问题。反复调试多次,发现是web.xml中出了问题。猜测是版本的问题,但只知道了如何修改,不知道为什么那样修改。停止工作后看别人博客,很幸运的发现了原因。tomcat5.0的版本, 使用了低版本,只求稳定。web.xmlxml version="1.0" encoding="ISO-8859-1"?>we

2008-09-06 23:41:00 1616 1

原创 servlet-api-2.4.jar not loaded

信息: validateJarFile(D:/xj/workspace/webworktest/webapp/WEB-INF/lib/servlet-api-2.4.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class分析:jsp-ap

2008-09-06 22:39:00 1196

转载 struts-config.xml中action配置 --> attribute和name的区别

在实际开发中,我们一般不必去理会attribute属性的设置。  在一般情况下,actionForm是被存储在一定的scope中(request或session,通过action的scope属性来配置),当我们在配置时,指定name而不指定attribute,那么指定的name值就作为actionForm存储在scope中的key值,我们可以在action中通过httpServletReque

2008-09-06 19:11:00 1698 1

xmlpull_doc_src

xmlpull的帮助文档和源代码。xmlpull是解析xml的一种方式,很适合于循环读取xml数据,尤其数据量较大的时候。

2009-09-22

kxml2_doc_src

kxml是J2ME解析xml的利器,这个包中涵盖了kxml2的帮助文档和源代码。绝对全面。

2009-09-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除