03 2013 档案
摘要:ServletContextServletContext从他的package信息可以看出,它是标准的JavaEE WebApplication类库javax.servlet.ServletContextServletContext提供了标准的Servlet运行环境,其实就是一些servlet和web container进行通信的方法public interface ServletContext { // Returns the URL prefix for the ServletContext. public String getServletContextName(); //Return..
阅读全文
摘要:1. ActionContext在Struts2开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在Action里直接获取请求(Request)或会话(Session)的一些信息,甚至需要直接对JavaServlet Http的请求(HttpServletRequest),响应(HttpServletResponse)操作. 我们需要在Action中取得request请求参数"username"的值:ActionContext context = ActionContext.getContext(); Map params = context.getPar
阅读全文
摘要:经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用 假如我们需要确定谁占用了我们的9050端口 第一种方法:Windows平台 在windows命令行窗口下执行: 开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID-端口对应情况 协议 本地地址:端口 外部地址 状态 PID TCP 127.0.0.1:1434 0.0.0.0:0 LISTENING 3236 TCP 127.0.0.1:5679 0.0.0.0:0 LISTENING 4168.
阅读全文
摘要:ie不支持getElementsByClassName,所以要自己实现获取类名为className的所有元素。<html><head><script type="text/javascript">window.onload = function(){ var topMenus = getClass('li','topMenu'); for(var i=0;i < topMenus.length; i++) { alert(topMenus[i].innerHTML); }}function getCl
阅读全文
摘要:1.从地址栏显示来说forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.2.从数据共享来说forward:转发页面和转发到的页面可以共享request里面的数据.redirect:不能共享数据.3.从运用地方来说forward:一般用于用户登陆的时候,根据角色转发到相应的模块.redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网
阅读全文
摘要:JSP中动态INCLUDE与静态INCLUDE的区别 动态INCLUDE用jsp:include动作实现 <jsp:include page="included.jsp" flush="true">它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE用include伪码实现,它不会检查所含文件的变化,适用于包含静态页面 静态include主要是对静态页面的引入,不会检查所包含文件的变化<% @ include file="include.html" %>动态include主要
阅读全文
摘要:Ant是一种基于Java的build工具。理论上来说,它有些类似于(Unix)C中的make ,但没有make的缺陷。目前的最新版本为:Ant 1.9.0[1]。既然我们已经有了make, gnumake, nmake, jam以及其他的build工具为什么还要要一种新的build工具呢?因为Ant...
阅读全文
摘要:java语言 String 中的方法length()计算的是调用该方法的字符串的实际字数,比如:"中文".length(); 这里获取的长度是2,"english".length(); 这里获取的长度是7,所以这个方法计算的并非是字节长度,而是字符串的实际字数,如果是技术字节长度的话,"中文".length();的结果应该是4,"english".length();就没得说了,依然是7. 那么String的另外一个方法,substring(0,n);,它的长度计算是否跟上面的相同呢?其实也是相同的。
阅读全文
摘要:外键约束对子表的含义: 如果在父表中找不到候选键,则不允许在子表上进行insert/update 外键约束对父表的含义: 在父表上进行update/delete以更新或删除在子表中有一条或多条对应匹配行的候选键时,父表的行为取决于:在定义子表的外键时指定的on update/on delete子句, InnoDB支持5种方式, 分列如下 . cascade方式 在父表上update/delete记录时,同步update/delete掉子表的匹配记录 On delete cascade从mysql3.23.50开始可用; on update cascade从mysql4.0.8开始可...
阅读全文
摘要:Integer.parseInt(String s) 与Integer.valueOf(String s)区别2011-09-02 09:18:12|分类: 默认分类 |标签: |字号大中小订阅/*** @author George* @date:Sep 1, 2011 8:32:37 AM*/public class Convert { public static void main(String[] args) { // TODO code application logic here String name="3"; int value1=Integer.valueO
阅读全文
摘要:简单的说:用了流之后关掉即可。下面详细说明:出现了java.lang.IllegalStateException: getOutputStream() has already been called for this response异常,到网上一搜,该异常的出现频繁还是很高的,当然最终也找到了解决办法,以下是原贴的引用地址:http://guoyiqi.iteye.com/blog/75929,在这里只留个备份。以下是原贴内容:tomcat5下jsp出现getOutputStream() has already been called for this response异常的原因和解决方法在
阅读全文
摘要:定义格式[CONSTRAINT <约束名>][FOREIGN KEY][<列名>]REFERENCES<被参照表名>(<主键列名>) 例如--删除外键 alter table AdItem drop constraint AdOrder_AdItem_FK1 www.2cto.com --增加外键 alter table AdItem add constraint AdOrder_AdItem_FK1 foreign key (AI_nOrderNo) references AdOrder(AO_nOrderNo) --不检查约束 alter t
阅读全文
摘要:stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。在Java的IO中,所有的stream(包括Inputstream和Out stream)都包括两种类型: (1)字节流 表示以字节为单位从stream中读取或往stream中写入信息,即io包中的inputstre...
阅读全文
摘要:HashMap和Hashtable的区别 HashMap和Hashtable的区别 导读: 1 HashMap不是线程安全的 HashMap是map接口的子类,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许null key和null value,而
阅读全文
摘要:有两种方式:1、delete from tablename --写入日志2、Truncate Table tablename --不写入日志下面介绍一下他们的区别:TRUNCATE TABLE删除表中的所有行,而不记录单个行删除操作。 语法TRUNCATE TABLE name参数name:是要截断的表的名称或要删除其全部行的表的名称。注释TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。 DELETE 语句每次删除一行,并在事务日志中为所删
阅读全文
摘要:addBatch()用法 查看文章 PreparedStatement.addbatch()的使用Statement和PreparedStatement的区别就不多废话了,直接说PreparedStatement最重要的addbatch()结构的使用.1.建立链接 Connection connection =getConnection();2.不自动 Commitconnection.setAutoCommit(false); 3.预编译SQL语句,只编译一回哦,效率高啊PreparedStatement statement = connection.prepareStatement(&qu
阅读全文
摘要:(浪天涯:我觉得应该是select * from a left outer join b on a.a=b.b right outerjoin c on a.a=c.c inner join d on a.a=d.d where .....这样子吧有left inner join和right inn
阅读全文
摘要:ibatis的调试相对困难,出错的时候主要依据是log4生成的log文件和出错提示,这方面要能比较熟练的看懂.下面这个配置基本上包含了最复杂的功能:分页\搜索\排序\缓存\传值Hash表\返回hash表\动态sql如果对下面这段配置能信手粘来的话,那开发速度将会大大的提升.<statement id="XinxiTable_SelectAll" listClass="ArrayList" resultMap="SimpleXinxi" parameterClass="Hashtable" cacheModel
阅读全文
摘要:HTTP Status 500 -type Exception reportmessagedescription The server encountered an internal error () that prevented it from fulfilling this request.exceptionjavax.servlet.ServletException: Filter execution threw an exceptionroot causejava.lang.NoClassDefFoundError: Could not initialize class freemar
阅读全文
摘要:iBATIS教程之like语句的使用我们可以先看看网上搜了一下iBATIS的关于like的使用select*fromUSERSwhereUSER_NAMElike'%wang%';这种like语句在iBATIS中怎么写,项目是用iBATIS作为持久层的框架。﹤selectid="showOneStudentByName"parameterClass="String"resultMap="studentORM﹥"select*fromt_stuwheres_namelike#name# ﹤/select﹥这样写显然不行在
阅读全文
摘要:[转] 原文出处 一、前言 最近使用eclipse做开发,使用的服务器是tomcat,但在启动时报了Caused by: java.lang.OutOfMemoryError: PermGen space的异常。 这个错误很常见,于是配置tomcat下的catalina.bat,配置eclipse.
阅读全文
摘要:SQL 模糊查询在进行数据库查询时,有完整查询和模糊查询之分。一般模糊查询语句如下:SELECT 字段 FROM 表 WHERE 某字段 Like 条件其中关于条件,SQL提供了四种匹配模式:1,% :表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。比如 SELECT * FROM [user] WHERE u_name LIKE '%三%'将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。另外,如果需要找出u_name中既有“三”又有“猫”的记录,请使用and条件SELECT *
阅读全文
摘要:HTTP Status 404 - Servlet default is not availabletype Status reportmessage Servlet default is not availabledescription The requested resource (Servlet default is not available) is not available.Apache Tomcat/6.0.10这种情况也许是Servlet未完全生成,只需要刷新,知道出现想要的页面即可
阅读全文
摘要:1 Struts Problem Report 2 3 Struts has detected an unhandled exception: 4 Messages: 5 There is no Action mapped for namespace [/] and action name [accoutLogin] associated with context path [/cloudclick]. 6 Stacktraces 7 There is no Action mapped for namespace [/] and action name [accoutLogin]...
阅读全文
摘要:ALTER TABLE [TABLE_NAME] ADD F_ID INTEGER DEFAULT 0这样会添加列 F_ID 类型被INTEGER 默认值为0但是要注意:之前假如有数据,之前的数据 新加的F_ID 的值 为NULL还是UPDATE 一下吧UPDATE [TABLE_NAME] SET F_ID =0 WHERE F_ID IS NULLGO
阅读全文
摘要:PO(persistant object) 持久对象 在o/r映射的时候出现的概念,如果没有o/r映射,没有这个概念存在了。通常对应数据模型(数据库),本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。 VO(value object) 值对象 通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.个人觉得同DTO(数据传输对象),在web上传递。 TO(Transfer Object),
阅读全文
摘要:POJO = pure old java object or plain ordinary java object or what ever.PO = persisent object 持久对象就是说在一些Object/Relation Mapping工具中,能够做到维护数据库表记录的persisent object完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法。全都是这样子的:public class User { private long id; private String name; public void setId(long id) {this.i..
阅读全文
摘要:POJO(Plain Old Java Objects)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。在Java应用程序中的角色使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接. 其中有一些属性及其getter setter方法的类,没有业务逻辑,有时可以作为VO(value -object)或dto(Data Transform Object)来使用.当然,如果你有一个简单的运算属性也是可以的,但不允许有业务方法,也不能携带有connection之类的方法。POJO是Plain Old Java Objects的缩写不错,但是它通指没有
阅读全文
摘要:EJB是sun的服务器端组件模型,设计目标与核心应用是部署分布式应用程序。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。EJB (Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。 在J2EE里,Enterprise Java Beans(EJB)称为Java 企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean)。百度百科地址:h
阅读全文
摘要:使用Java的HttpURLConnection类可以实现HttpClient的功能,而不需要依赖任何其他类库。所有有时候大家就直接使用它来完成一些简单(或复杂)的功能。但是你活在伟大的{print G.F.W}后面,如果你需要访问的网站被墙了,那HttpURLConnection类就会出现连接超时的错误。这时候就需要给他设置代理(Proxy)了。 设置代理(Proxy)可以有两种方式: 1、通过设置系统属性(System.setPropery(String key, String value)的方式 首先你可以在这里看到Java支持的属性。我们可以使用其中的http.proxyHost,h.
阅读全文
摘要:动态代理其实就是java.lang.reflect.Proxy类动态的根据您指定的所有接口生成一个class byte,该class会继承Proxy类,并实现所有你指定的接口(您在参数中传入的接口数组);然后再利用您指定的classloader将 class byte加载进系统,最后生成这样一个类的对象,并初始化该对象的一些值,如invocationHandler,以即所有的接口对应的Method成员。 初始化之后将对象返回给调用的客户端。这样客户端拿到的就是一个实现你所有的接口的Proxy对象。请看实例分析:一 业务接口类public interface BusinessProcessor
阅读全文
摘要:Mapped Statements collection already contains value for com.chong.model.AccountMapper.checkAccountError parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for com.chong.model.AccountMapper.checkAccountError parsing SQL Mapper Configurat
阅读全文
摘要:The requested list key 'map' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or peopl 有这种提示的就是因为比如jsp代码中<s:select list="userlist" listKey="id" listValue="firstname"></s:select>userlist为空(是否为空可以通过Struts2的<
阅读全文
摘要:要在jsp中使用Struts2的标志,先要指明标志的引入。通过jsp的代码的顶部加入以下的代码:<%@taglib prefix="s" uri="/struts-tags" %>If elseif else描述:执行基本的条件流转。参数:名称必需默认类型描述备注test是boolean决定标志里的内容是否显示的表达式else标志没有这个参数id否Object/String用来标识元素的id。在UI和表单中为HTML的id属性例子:<s:set name="age" value="61"/>
阅读全文
摘要:1. 打开首选项:Window-Perferences 2. 定位到jre:Java-Installed JREs 选中你已有的要添加java API的jre或jdk(如果你有多个jre和jdk)。 3. 编辑属性:单击右方的Edit,出现Edit JRE对话框,如果你是新建,出现New JRE对话
阅读全文
摘要:编写多线程程序是为了实现多任务的并发执行,从而能够更好地与用户交互。一般有三种方法,Thread,Runnable,Callable.Runnable和Callable的区别是,(1)Callable规定的方法是call(),Runnable规定的方法是run().(2)Callable的任务执行后可返回值,而Runnable的任务是不能返回值得(3)call方法可以抛出异常,run方法不可以(4)运行Callable任务可以拿到一个Future对象,表示异步计算的结果。它提供了检查计算是否完成的方法,以等待计算的完成,并检索计算的结果。通过Future对象可以了解任务执行情况,可取消任务的执
阅读全文
摘要:1. 介绍2.定义简单Java泛型 其实Java的泛型就是创建一个用类型作为参数的类。就象我们写类的方法一样,方法是这样的method(String str1,String str2 ),方法中参数str1、str2的值是可变的。而泛型也是一样的,这样写class Java_Generics<K,V
阅读全文
摘要:本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解。 下面开始正文。 【案例1】通过一个对象获得完整的包名和类名 【运行结果】:Reflect.Demo 添加一句:所有类的对象其实都是Clas
阅读全文
摘要:队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。在队列这种数据结构中,最先插入的元素将是最先被删除的元素;反之最后插入的元素将是最后被删除的元素,因此队列又称为“先进先出”(FIFO—first in first out)的线性表。队列空的条件:front=rear队列满的条件: rear = MAXSIZE队列的数组实现队列可以用数组Q[1…m]来存储,数组的上界m即是队列所容许的最大容量。在队列的运算中需设两个指针:head,队头指针,指向实际队头元
阅读全文
摘要:SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。 SSL (Secure Socket Layer) 为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取及窃听。目前一般通用之规格为40 bit之安全标准,美国则已推出128 bit之更高安全标准,但限制出境。只要3.0版本以上之I.E.或Netscape浏...
阅读全文
摘要:1. smtp 端口号 25 pop3 端口号 532.其实一般每个提供电子邮件服务的网站都有自己的SMTP和POP服务器地址,在你登录你的电子邮件网站时仔细找找肯定能发现它们,如果找不到还可以查看一下网站的“帮助”。如果你想详细的了解一下这其中的知识,就请看看下面的解释吧:POP(Post Office Protocol)邮局通讯协定 POP是互联网上的一种通讯协定,主要功能是用在传送电子邮件,当我们寄信给另外一个人时,对方当时多半不会在线上,所以邮件服务器必须为收信者保存这封信,直到收信者来检查这封信件。当收信人收信的时候,必须通过POP通讯协定,才能取得邮件。与POP同时出现...
阅读全文
摘要:在任何开发语言中,都需要定义常量。在Java开发语言平台中也不例外。不过在Java常量定义的时候,跟其他语言有所不同。其有自己的特色。在这篇文章中,主要针对Java语言中定义常量的注意事项进行解析,帮助各位程序开发人员更好的掌握常量的定义与管理工作。一、常量定义的基本注意事项在Java语言中,主要是利用final关键字(在Java类中灵活使用Static关键字)来进行Java常量定义。当常量被设定后,一般情况下就不允许再进行更改。如可以利用如下的形式来定义一个常量:final double PI=3.1315。在定义这个常量时,需要注意如下内容:一是Java常量定义的时候,就需要对常量进行初始
阅读全文
摘要:数据库实体间有三种对应关系:一对一,一对多,多对多。一对一关系示例:一个学生对应一个学生档案材料,或者每个人都有唯一的身份证编号。一对多关系示例:一个学生只属于一个班,但是一个学院有多名学生。多对多关系示例:一个学生可以选择多门课,一门课也有多名学生。这三种关系在数据库中逻辑结构处理分析:1.一对多关系处理:我们以学生和班级之间的关系来说明一对多的关系处理方法。假设现有基本表学生表(学号,姓名,……),班级表(班级号,备注信息,……)。 方法一:新增一个关系表,用来表示学生与班级的属于关系,该关系表包含字段(学生号,班级...
阅读全文
摘要:没关系 >依赖 >关联 > 聚合 > 组合。下面是从网上搜集的一些看法: --------- 1. --------- Dependency Relationship Draw a dependency relationship between two classes, or between a ...
阅读全文
摘要:概括:只要保证你的表在存储数据的时候不要存在重复数据(这些重复的数据是相对某一字段是固定不变的-其实通常就是把这些重复数据的字段加上其相对的字段,另外作为一张表,来解决不符合三大范式的),就可以实现三大范式的所有要求了。引言 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。 设计范式是不是很难懂呢?非也,大学教材上给我们一堆数学公式我们当然看不懂,也记不住。所以我们很多..
阅读全文
摘要:背景:最近在做一个Java Web项目,SSH框架,MySQL数据库。项目的数据库没有设备用字段。在开发过程中,因数据库设计者未考虑周到,业务实体有一个属性没有对应的字段,因此需要在数据库表加一个字段。又由于此字段要求不可为空,并且在开发阶段,测试数据不多。于是我在drop掉了原来的表,增加了一个字段再重新建了一张表。 按照通常的做法,设计数据库都会在后面加几个类型为varchar的预留字段,也没有具体思考过为什么要这么做,这么做的好处是什么。在遇到这个问题之后引起我思考:预留字段这个通用的做法是否能减少开发阶段由于考虑不周到,或后续维护阶段因为需求变更或者扩展改造而需要增加字段而造成的麻烦。
阅读全文
摘要:Conceptual data typeDBMS-specific physical data typeContentLengthIntegerint / INTEGER32-bit integerShort Integersmallint / SMALLINT16-bit integerLong Integerint / INTEGER32-bit integerBytetinyint / SMALLINT256 valuesNumbernumeric / NUMBERNumbers with a fixed decimal pointFixedDecimaldecimal / NUMBER
阅读全文
摘要:先来看看类图 简单工厂模式: 工厂方法模式 下面是简单工厂模式的部分代码 工厂方法模式其实就是把上面代码中switch语句的分支(根据不同条件创建不同的运算类)抽象出来,用多态去解决不同条件的问题,做法是先实现一个运算类的抽象类/接口,然后让运算类都去继承/实现 抽象类/接口,需要特定运算操作的时候
阅读全文
摘要:最近一直在抽时间研究设计模式,之前对设计模式也有一定的了解,但是都没有平心静气的去研究过,只是了解了一些皮毛,最近打算再深入研究一下,重新打开了设计模式的数据,对之前的疑问一个个的刨根问底,今天看了简单工厂模式和策略模式看的人有点小晕,两个的大概思路没有怎么变,都是通过多态去减少代码的耦合度,怎么看
阅读全文
摘要:动物与水是依赖关系,因为没有水动物无法活下去;关系图中虚线箭头指向水;代码中动物类中有水类中的引用(实例)动物与气候是关联关系,因为动物不一定在这种气候(比如冷)中活下去,也可以在另外一种气候(比如热)活下去;关系图中实线箭头指向气候;代码中动物类中有气候类的引用(实例)动物与住所是关联关系,因为动物不一定在这个住所才能活下去,可以住另外的住所;关系图中实线箭头指向住处;代码中动物类中有住所类的引用(实例)依赖是比关联弱的关系,关联代表一种结构化的关系,体现在生成的代码中,以java为例: 若类Person单向关联指向类Car ,则在类Person中存在一个属性Car car。 若类Perso
阅读全文
摘要:聚合:公司与人间是聚合关系, 因为没有公司人照样可以独立存在;关系图中空心矩形在公司这边;代码中公司类中有部门类的引用(实例)组合:公司与部门间是组合关系,因为没有公司句不会有部门;关系图中实心矩形在公司这边;代码中公司类中有部门的引用(实例)作者:欧初权出处:http://www.cnblogs....
阅读全文
摘要:1、充分了解需要学习的东西比如学习一门技术,虽然有一本书把该门技术都介绍了,但是不能单单只看这本书,要适当的看看介绍有关这门技术的其他书和学习一下与这门技术相关的其他技术(前提是必须提到主学习的那门技术)2、遵循记忆衰退原理:学习完一样东西要经常复习(其实上面的1也与复习有点关系)3、善于用自己的语言总结,善于笔记,好记性不如烂笔头(实践证实确实如此)把成功经验记录下来,把流程记录下来,把方法记录下来...以后忘记了而又想用了就回到找吧。4、看书不要死命的花很多时间只去研究一本书,首先要快速广泛的去看,能知道有这么回事就好了,以后用到了再回头找,如果一本书真的很经典,可以花多点时间去研究透,但
阅读全文
摘要:网络中看到的一篇文章:策略模式与简单工厂模式区别(转) 而下面是我的理解: 按一般教程中出现的例子理解: 简单工厂模式:客户端传一个条件进工厂类,工厂类根据条件创建相应的产品类对象,并return给客户端,供客户端使用。即客户端使用的是工厂类生产的产品对象。 策略模式:客户端创建一个Context类
阅读全文
摘要:PowerDesigner与Eclipse同步开发原文:1.通过PowerDesigner生成Java源代码,放入Eclipse工程中1.1 生成工程源代码1.1.1 生成工程 打开PowerDesigner,New-->Object-Oriented Model,配置如下参数: Mode name:Java(工程名称) Object language:Java 5.0 Frist diagram:Class Diagram1.1.2 添加程序结构1.1.2.1 package 添加一个包com,按下Ctrl在包上双击,进入该包,继续创建;1.1.2.2 Bean 添加一个类,在A...
阅读全文
摘要:很多代码生成器都选择了从表结构来生成领域模型,这样的方案有一个前提,就是领域模型和数据库表结构是同构的,也就是说领域模型中的类和数据库中的记录结构十分吻合,这样数据库表结构可以简单的直接映射到领域模型。 但是在业务逻辑比较复杂的情况下,对象方案和关系方案往往是不相配的,通常在两者之间有一个数据映射器来隔离两者,这时两者是相互不可见的,相互独立演变的。这样,基于表结构的代码生成领域模型的类就行不通了,而应该使用对象模型。而这样的代码生成几乎不需要自己在写代码生成器,可以使用PowerDesigner9。 PowerDesigner9自己就已经具有代码生成功能,你只要建立一个Object_O...
阅读全文
摘要:PowerDesigner是一款功能非常强大的建模工具软件,足以与Rose比肩,同样是当今最著名的建模软件之一。Rose是专攻UML对象模型的建模工具,之后才向数据库建模发展,而PowerDesigner则与其正好相反,它是以数据库建模起家,后来才发展为一款综合全面的Case工具。PowerDesigner主要分为7种建模文件:1. 概念数据模型 (CDM)对数据和信息进行建模,利用实体-关系图(E-R图)的形式组织数据,检验数据设计的有效性和合理性。2. 逻辑数据模型 (LDM)PowerDesigner 15 新增的模型。逻辑模型是概念模型的延伸,表示概念之间的逻辑次序,是一个属于方法层次
阅读全文
摘要:在上一篇我们已经用PowerDesigner创建好了需要的测试数据库,下面就可以开始用它完成批量代码生成的工作啦.下面我会一步步的解释如何用CodeSmith实现预期的结果的,事先声明一下,在此只做一个简单的Demo,并不详细的讲解CodeSmith各个强大的功能,有兴趣的朋友可以打开CodeSmith的帮助文档了解.我只做个抛砖引玉,希望能激起大家更多思想的火花~先看看CodeSmith的工作原理:简单的说:CodeSmith首先会去数据库获取数据库的结构,如各个表的名称,表的字段,表间的关系等等,之后再根据用户自定义好的模板文件,用数据库结构中的关键字替代模板的动态变量,最终输出并保存为我
阅读全文
摘要:先,既然要讲解如何使用CodeSmith和PowerDesigner快速生成批量代码,当然要先安装这2个软件啦,下面就简单说说如何安装破解这2款软件吧,当然破解只是学习之用,请大家不要用于商业用途哈,要支持正版,大家都是做软件的,知道开发一套软件实属不易啊.Code highlighting pro...
阅读全文
摘要:观看地址http://www.tudou.com/programs/view/kllJcLbZdLo/参考ppt:http://www.doc88.com/p-971874032333.html参考文章:http://blog.csdn.net/wangpeng047/article/details/7164643http://www.cnblogs.com/huangcong/archive/2010/06/14/1757957.html
阅读全文
摘要:一、概念数据模型概述 概念数据模型也称信息模型,它以实体-联系(Entity-RelationShip,简称E-R)理论为基础,并对这一理论进行了扩充。它从用户的观点出发对信息进行建模,主要用于数据库的概念级设计。 通常人们先将现实世界抽象为概念世界,然后再将概念世界转为机器世界。换句话说,就是先将现实世界中的客观对象抽象为实体(Entity)和联系 (Relationship),它并不依赖于具体的计算机系统或某个DBMS系统,这种模型就是我们所说的CDM;然后再将CDM转换为计算机上某个 DBMS所支持的数据模型,这样的模型就是物理数据模型,即PDM。 CDM是一组严格定义的模型元素的集合,
阅读全文
摘要:以验证码的刷新为例<form method="post" name="login" action="">验 证 码:<input type="text" name="code" class="text code" /> <img src="code.php" id="code" /></form>方法一:使用JavaScrip的伪类实现 <img src="code.php
阅读全文
摘要:Ajax:Asynchronous javascript and xml,实现了客户端与服务器进行数据交流过程。使用技术的好处是:不用页面刷新,并且在等待页面传输数据的同时可以进行其他操作。 这就是异步调用的很好体现。首先得了解什么是异步和同步的概念。 举个例子:比如你去图书馆借某种书,可惜图书馆此书被借完。这时可以采用两种做法。第一种做法:在图书馆一直等待,直到有人还书,然后再去吃饭睡觉。第二种做法:直接跟图书馆管理员约定,若是有人还书,直接通知你。你则该忙什么忙什么。到时候会通知你。而第一种做法就是同步的表现,必须等待别人还书(等待服务器返回信息)才进行其他事情,至死方休。而第二种做法就是
阅读全文
摘要:参考:http://wenku.baidu.com/view/4d39af1959eef8c75fbfb365.html###
阅读全文
摘要:实现类:<%@ page pageEncoding="GBK"%><%@ page contentType="image/jpeg"import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*,java.io.File"%><%!//给定范围获得随机颜色Color getRandColor(int fc, int bc) {Random random = new Random();if (fc > 255)fc = 255;if (b
阅读全文
摘要:在interface里面的变量默认都是public static final 的。所以可以直接省略修饰符:String param="ssm";//变量需要初始化为什么接口要规定成员变量必须是public static final的呢?答:首先接口是一种高度抽象的"模版",,而接口中的属性也就是’模版’的成员,就应当是所有实现"模版"的实现类的共有特性,所以它是public static的 ,是所有实现类共有的 .假如可以是非static的话,因一个类可以继承多个接口,出现重名的变量,如何区分呢?其次,接口中如果可能定义非final的
阅读全文
摘要:Java中共有四种访问限制修饰符:private,public,protected,friendlyfriendly是默认的,而且不是Java中的关键字.private:私有,内部访问,很好理解public:共有,都可以访问,更加好理解friendly:同一个包可以访问protected:同一个包或者子类可以访问如果我只想让子类访问的话就无能为力了(protected减去friendly),这种情况是很普遍的,在父类中定义的方法我可能只想让子类调用,就像Object中定义的clone方法就只是给子类调用的,因为Object是根类,当然所有类都是他的子类,这个没有什么问题.修饰符类成员访求构造方
阅读全文
摘要:HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个 起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域 名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表 符。通用头域通用头域包含请求和响应消息都支持的头域,通用头域包含Cache-Control、 Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。对通用头域的扩展要求
阅读全文
摘要:http头文件Accept-Charset:浏览器可接受的字符集。Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip。Servlet能够向支持gzip的浏览器返回经gzip编码的HTML页面。许多情形下这可以减少5到10倍的下载时间。Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。Authorization:授权信息,通常出现在对服务器发送的WWW-Authenticate头的应答中。Connection: 表示是否需要持久连接。如果Servlet看到这里的值为“Keep-Alive”,或者看到请求使用的是HTTP
阅读全文
摘要:一、Struts2可以将所有标签分成3类:UI标签:主要用于生成HTML元素的标签。非UI标签:主要用于数据库访问,逻辑控制等标签。Ajax标签:用于Ajax支持的标签。对于UI标签,则有可以分为两类:表单标签:表单标签主要用与生成HTML页面的from元素,以及普通表单元素的标签。非表单标签:非表...
阅读全文
摘要:1,独立运行的Tomcat没有关闭.自安装的tomcat程序设置开机自动运行,或者在之前运行过,先关闭ecplipse或jbuilder,在任务管理器中找到Tomcat的进程,将其 kill掉,即可.有时候Tomcat非法关闭时,在进程中,仍然存在,仍然占用8080端口.所以只要将其进程杀掉.就可以解决.2,安装了其他的软件占用了Tomcat的端口.用可以查看端口的工具查看一下,或者,直接改掉tomcat的默认端口.即可.3.产看端口的方法 打开“运行”窗口输入“cmd”后回车进入命令提示符窗口,在提示符下首先输入“netstat -an”并回车,其中参数-a的含义表示显示所有连接和侦听端口.
阅读全文
摘要:Struts2常用标签总结一 介绍1.Struts2的作用Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性。实现了更好的代码复用。Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求。Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供了大部分标签,可以在各种表现技术中使用。包括最常用的jsp页面,也可以说Velocity和FreeMarker等模板技术中的使用2.Struts2分类(1)UI标签:(User Interf
阅读全文
摘要:根据mybatis官方文档,建议对sqlSession进行如下操作SqlSession session = sqlSessionFactory.openSession();try{// following 3 lines pseudocod for "doing some work" session.insert(...); session.update(...); session.delete(...); session.commit();}finally{ session.close();}每个操作都进行打开和关闭,而且都是重复性操作。于是mybatis-3....
阅读全文
摘要:在Eclipse中经常使用的10个快捷键Ctrl + Shift + T:打开类型:显示"打开类型"对话框来在编辑器中打开类型。"打开类型"选择对话框显示工作空间中存在的所有类型如类、接口等。Ctrl + Shift + R:打开资源:打开"打开资源"对话框以打开工作空间中的任何资源。在Packag...
阅读全文
摘要:新建一个以项目名命名的xml文件,然后在文件中写入形如<?xml version="1.0" encoding="gbk" ?><Context crossContext="true" reloadable="true" docBase="D:\java开发\wordspace\cloudclick\webapp" path=""/>代码,其中D:\java开发\wordspace\cloudclick\webapp属于你要部署的项目的本地文件夹路径,
阅读全文
摘要:1 用tomcat作web服务器的时候,部署的程序在webApps下,这些程序都是编译后的程序(发布到tomcat的项目里含的类,会被编译成.class后才发布过来,源文件没有发布过来,但这里的jsp没有经编译的)。tomcat有一个work目录,里面存放了页面的缓存,访问的jsp都会编译(从 work里进入Catalina后的如localhost站点文件夹下的项目,我们可以看到那些jsp页面会被编译成应该是servlet文件,下次再来访问时,就直接运行servlet类就可以向客户端反应响应页面了,所以有的博客说第一次访问时会比较慢,是因为新发布上去的页面在第一个人访问时,会先编译成servl
阅读全文
摘要:${pageContext.request.contextPath} JSP取得绝对路径一.问题 JSP中究竟采用绝对路径还是采用相对路径随着所采用技术的越来越复杂,这个问题也变得越来越难以解决。 1)采用相对路径遇到的问题 相对路径固然比较灵活,但如果想复制页面内的代码却变得比较困难,因为不同的页面具有不同的相对路径,复制后必须修改每一个连接的路径。 如果页面被多于一个的页面所包含,那么被包含页面中的相对路径将是不正确的。如果采用Struts的Action返回页面,那么由于页面路径与Action路径不同,使得浏览器无法正确解释页面中的路径,如页面为/pages/cust/cust.jsp..
阅读全文
摘要:WEB-INF的存在以及其下的lib和classes目录的作用都是大师门规定的。主要是系统运行的配置信息和环境,这是jsp环境的规定WEB-INF是用来存储服务端配置文件信息和在服务端运行的类文件的,它下面的东西不允许客户端直接访问的
阅读全文
摘要:META-INF 目录 大多数 JAR 文件包含一个 META-INF 目录,它用于存储包和扩展的配置数据,如安全性和版本信息。Java 2 平台识别并解释 META-INF 目录中的文件和目录,以便配置应用程序、扩展和类装载器.
阅读全文
摘要:最开始用MySQL Administrator建数据库的时候,表缺省是InnoDB类型,也就没有在意。后来用Access2MySQL导数据的时候发现只能导成 MyISAM类型的表,不知道这两种类型有什么区别,就去查了查。原来是MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。 MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。这 样就可以根据数据表不同的用处是用不同的存储类型。 另外,MyISAM类型的二进制数据文件可以在不同操作系统中迁移。也就是可以直接从Windows系统拷贝到lin
阅读全文