web开发
文章平均质量分 54
冯索
形成好习惯,走好人生路。
展开
-
装饰模式(Decorator)-山下的石雕厂
装饰模式:是对一个类进行各种功能的丰富,使用Decorator模式扩充类的功能会比用子类生成的方式更加的灵活。装饰者与被装饰者拥有共同的超类。类图: 我家有座山,山下有座石雕厂,石雕厂有打磨石狮子的机器 抽象构建角色(被装饰者):石雕厂Carved类 具体构建角色(被装饰者的初始状态):雕刻石狮子LionCarved 装饰角色(持有构件的实例):机器原创 2015-12-02 20:02:31 · 377 阅读 · 0 评论 -
Struts2的工作原理
上图来源于Struts2官方站点,是Struts 2 的整体结构。 一个请求在Struts2框架中的处理大概分为以下几个步骤 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:Site转载 2013-12-10 00:22:26 · 664 阅读 · 0 评论 -
apache和tomcat区别
经常在用apache和tomcat等这些服务器,可是总感觉还是不清楚他们之间有什么关系,在用tomcat的时候总出现apache,总感到迷惑,到底谁是主谁是次,因此特意在网上查询了一些这方面的资料,总结了一下: 解析一 apache支持静态页,tomcat支持动态的,比如servlet等, 一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由tomc转载 2013-12-10 00:25:14 · 582 阅读 · 0 评论 -
Struts1与Struts2原理 区别 详解 汇总
1.struts1和struts2 是2个完全不同的框架,其实struts2核心就是 webwork框架struts1以ActionServlet作为核心控制器,由ActionServlet负责拦截用户的所有请求。Struts 1框架有3个重要组成部分:Action、ActionForm和ActionForward对象。ActionForm必须实现ActionForm的基类,设计上并不是真正的P转载 2013-12-10 00:23:55 · 1491 阅读 · 0 评论 -
Apache的FileUpload用于Servlet与JSP环境下的文件上传
upload.jsp: A JSP page that displays an upload form.UploadServlet.java: A Java servlet that handles file upload.message.jsp: A JSP page that displays message to user after the file is uploaded.web.xml转载 2013-10-21 18:37:34 · 4697 阅读 · 0 评论 -
tomcat的work目录
1 用tomcat作web服务器的时候,部署的程序在webApps下,这些程序都是编译后的程序(发布到tomcat的项目里含的类,会被编译成.class后才发布过来,源文件没有发布过来,但这里的jsp没有经编译的)。tomcat有一个work目录,里面存放了页面的缓存,访问的jsp都会编译(从 work里进入Catalina后的如localhost站点文件夹下的项目,我们可以看到那些js转载 2013-10-14 18:12:06 · 25722 阅读 · 1 评论 -
二位数组塑造二级联动下拉菜单(静态数据)
静态 无标题文档 //定义城市的二维数组,其中顺序跟省份是一致的 var cityNames = [["济南","青岛","淄博","潍坊"],["合肥","蚌埠","宣城","黄山"]]; function getCity(){ //获得省份下拉框的对象原创 2013-10-12 17:37:00 · 2603 阅读 · 0 评论 -
js获取td的内容
如果table内只有一个标签,则如下方法: 内容一function showId(){var obj = document.getElementById("td1");alert(obj.innerText);}如果table内有多个标签,则用如下方法: 内容一 内容二内容三转载 2013-10-12 14:32:01 · 27121 阅读 · 0 评论 -
JavaScript判断页面是否已经加载完毕
在做针对CheckBox框点击事件的时候,发现点击以后有时候会报错,但是是生成的JavaScript的代码的内部错误,无法判断到底是什么地方有问题。就一直在找问题。刚刚突然想到可能与页面的加载状态有关。就来试了试果然如此。 在页面未全部加载完毕的时候,如果点击某些事件会报错的,于是我在需要的JavaScript事件当中添加一个判断if (docum转载 2013-10-11 18:05:16 · 3313 阅读 · 0 评论 -
js中如何控制所有页面加载完成后,再执行某些方法
做页面时经常会遇到当前页面加载完成后,执行某些初始化工作。这时候就要知道如何判断页面(包括IFRAME)已经加载完成,代码如下: document.onreadystatechange = statechange; function statechange() { if(document.readystate == 'complete') {转载 2013-10-11 18:04:23 · 13840 阅读 · 1 评论 -
Java,Jsp点击事件后,出现等沙漏,处理等待状态时,有提示在动,适合任何事件使用
第一步:在jsp页面里写个函数function XXX(){ --方法调用完后,添加上下面的函数,如果等待时间不是特别的短,就会出现,一个图标的状态. displayMessage();}function displayMessage(){ if(navigator.userAgent.indexOf("Firefox")==-1){ var obj转载 2013-10-11 18:00:52 · 3054 阅读 · 0 评论 -
apache的配置优化
【APACHE的工作方式】prefork模式(默认)这个多路处理模块(MPM)实现了一个非线程型的、预派生的web服务器,它的工作方式类似于Apache 1.3。它适合于没有线程安全库,需要避免线程兼容性问题的系统。它是要求将每个请求相互独立的情况下最好的MPM,这样若一个请求出现问题就不会影响到其他请求。这个MPM具有很强的自我调节能力,只需要很少的配置指令调整。最重要的是将转载 2013-12-10 00:26:21 · 583 阅读 · 0 评论 -
java程序实现线程连接池功能
今天突然看到这么道面试题,想了半天,也没有眉目。结果在网上到是搜出来不少,就从中找了一篇比较好的,留到自己的blog上来,以备以后用吧。代码的原创者,也不去找了,但愿哪天看到了,不要怪罪才好。在此,再在源码的基础上加点根据自己的理解而形成的注释。import java.util.LinkedList;//抽象类,命名为Manager(管理者)public abstr转载 2013-12-18 14:20:35 · 1521 阅读 · 0 评论 -
桥接模式(Bridge)—村民打工
桥接模式:某些类型具有多个维度的变化,引入新的维度不会增加系统的复杂度,桥接模式将类的抽象与实现部分分离,实现耦合关系,从而使各个维度可以自由变化。类图如下:在桥接模式中对每个维度进行抽象,然后再抽象类中进行耦合,通过耦合实现调用关系的灵活变化。例:山下的村民需要打工,村里有石雕厂与养牛场/** * 村里的村民要打工,村里有石雕厂 养牛场 * 男村民可以去石雕厂、养牛场原创 2015-12-17 11:53:35 · 486 阅读 · 0 评论 -
策略模式(Strategy)—养牛场卖鲜奶
策略模式:策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式的三个角色:环境(Context)角色:持有一个Strategy的引用。抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口原创 2015-12-31 16:05:01 · 713 阅读 · 0 评论 -
Java 异常基础 Exception
java.lang.Exception类是Java中所有异常的直接或间接父类。即Exception类是所有异常的根类。 比如程序: public class ExceptionTest{ public static void main(String[] args) { int a = 3; int转载 2015-12-16 14:00:36 · 4039 阅读 · 0 评论 -
spring aop execution表达式
execution 中第一个*表示任何返回类型. 要注意一点,类名需要用一个.占位 再如: save*(..):以save开头的方法转载 2015-12-15 13:36:50 · 329 阅读 · 0 评论 -
web.xml中的url-pattern映射规则
Servlet和filter是J2EE开发中常用的技术,使用方便,配置简单。servlet和filter中的url-pattern有一些文章在里面的,总结了一些东西,以免遇到问题又要浪费时间。 一,servlet容器对url的匹配过程: 当 一个请求发送到servlet容器的时候,容器先会将请求的url减去当前应用上下文的路径作为servlet的映射url,比如我访问的是转载 2015-12-10 21:43:41 · 586 阅读 · 0 评论 -
Dos命令查看端口占用及关闭进程
1. 查看端口占用2. 关闭进程3. 端口状态1. 查看端口占用在windows命令行窗口下执行:netstat -aon|findstr "8080" TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448端口“8080”被PID(进程号)为2448的进转载 2014-05-15 09:04:54 · 1146 阅读 · 0 评论 -
hibernate集合映射inverse和cascade详解
1、到底在哪用cascade="..."?cascade属性并不是多对多关系一定要用的,有了它只是让我们在插入或删除对像时更方便一些,只要在cascade的源头上插入或是删除,所有cascade的关系就会被自己动的插入或是删除。便是为了能正确的cascade,unsaved-value是个很重要的属性。Hibernate通过这个属性来判断一个对象应该save还是update,如果这个对象的转载 2014-04-01 21:51:20 · 497 阅读 · 0 评论 -
详细介绍Spring事务管理
在学习spring事务管理时,我忍不住要问,spring为什么进行事务管理,spring怎么进行的事务管理?首先,为什么要进行事务,接下来说说spring是怎样进行事务管理的.Spring事务策略Spring事务策略,也就是spring事务管理的实现方式.它有一个统一的抽象是由实现下面这个接口完成的.org.springframework.transaction.Platfor转载 2013-06-21 07:34:19 · 853 阅读 · 0 评论 -
HIBERNATE的缓存机制
首先说下Hibernate缓存的作用(即为什么要用缓存机制),然后再具体说说Hibernate中缓存的分类情况,最后可以举个具体的例子。Hibernate缓存的作用: Hibernate是一个持久层框架,经常访问物理数据库,为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同转载 2013-07-18 17:09:06 · 582 阅读 · 0 评论 -
Hibernate get与load区别
视频教程。http://www.iqiyi.com/w_19rrcc39kt.html原创 2014-03-29 22:44:42 · 491 阅读 · 0 评论 -
js实现页面加载的等待效果
页面实现加载时的等待效果 原理是在需要等待的页面区域加一个层先覆盖加载中的页面,等待数据加载完成后把层隐藏掉 页面加载中,请等待... function winload(){ ld.style.display="none"; f8=true; } 有些时候页面加载时间转载 2013-10-11 18:01:55 · 58018 阅读 · 0 评论 -
JS实现 页面提交防刷新等待提示
系统使用中,常常会遇到网速过慢这样那么的情况,如果你的提交没有做验证或者特殊处理很容易造成重复提交,产生冗余数据或者系统出错。我的解决方法是,页面表单提交时,如果有等待时间,那么页面上会弹出一个提示框告诉用户系统数据正在提交,请耐心等待,同时屏蔽页面,然用户不能继续操作,从而有效方式用户重复提交。 下面就写出这个JS文件://关闭等待窗转载 2013-10-11 17:59:30 · 5474 阅读 · 0 评论 -
Java程序的性能优化
Java使得复杂应用的开发变得相对简单。毫无疑问,它的这种易用性对Java的大范围流行功不可没。然而,这种易用性实际上是一把双刃剑。一个设计良好的Java程序,性能表现往往不如一个同样设计良好的C++程序。在Java程序中,性能问题的大部分原因并不在于Java语言,而是在于程序本身。养成好的代码编写习惯非常重要,比如正确地、巧妙地运用java.lang.String类和java.util.Vect转载 2013-07-18 16:02:55 · 560 阅读 · 0 评论 -
Oracle 分页和排序常用的4条查询语句
在Oracle中如何实现分页和排序功能的查询语句?在实现的手法上可能与MS SQL Server有所差异,这主要都是由于两种数据库中对于结果行号的处理异同造成的,在MS SQL Server中,可以使用top和ROW_NUMBER()方法的结合来实现,一般写法比较简单,而oracle则有很大的不同,只能通过ROWNUM来实现,我们这里主要说明一下,如何使用ROWNUM来实现一些常用的分页和排序查询转载 2013-07-18 22:02:07 · 4766 阅读 · 1 评论 -
通用的用户权限管理功能
用户管理权限设计一直是大家讨论的热点,因为几乎涉及到每一个开发的业务系统。我找了很多很多的资料,大家的核心基本上都是一样的:基于角色管理. 用户,角色,模块,权限的相互组合,就可以形成一个强大的权限管理系统。最近在一个项目中设计的一个用户权限的设计,很乐意与大家一起讨论及分享.设计思路我的设计思路或者说是我想要实现的功能1.用户的权限通过角色来控制,一个用户可以拥有转载 2013-07-18 23:08:55 · 13300 阅读 · 0 评论 -
javascript innerHTML、outerHTML、innerText、outerText的区别
1、功能讲解: innerHTML 设置或获取位于对象起始和结束标签内的 HTML outerHTML 设置或获取对象及其内容的 HTML 形式 innerText 设置或获取位于对象起始和结束标签内的文本 outerText 设置(包括标签)或获取(不包括标签)对象的文本 2、示例 Demo body {font-family:"宋体";color="转载 2013-07-18 23:00:05 · 740 阅读 · 0 评论 -
优化你的java代码性能(代码方面)
一、避免在循环条件中使用复杂表达式在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快。例子:import java.util.Vector;class CEL { void method (Vector vector) { for (int i = 0; i转载 2013-07-18 14:29:29 · 697 阅读 · 0 评论 -
Spring事务配置的五种方式
前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识。通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的。 总结如下: Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一转载 2013-06-21 10:01:43 · 476 阅读 · 0 评论 -
ant maven构建项目
待研究。原创 2013-06-17 17:49:03 · 742 阅读 · 0 评论 -
Hibernate和IBatis对比(优缺点)
项目也做过几个, 使用IBatis就做一个项目, 基本上都是使用Hibernate, 也只是知道几点关于这两个框架的区别, 今天闲着没事干, 从网上找了几篇文章, 做了一个简单的整理。网上关于这两个框架的比较也很多, 只是自己想把别人的东西拿过来整理一下, IBatis和Hibernate的比较。(非原创)Hibernate VS iBATIS简介Hibernate是当前最流行转载 2013-06-17 17:44:58 · 9202 阅读 · 0 评论 -
Java项目性能优化(转)
性能优化,优化目标和优化对象很重要。工具都是用来寻找瓶颈的,寻找瓶颈分为两个度: 广度:功能; 深度:层次/环节。寻找瓶颈的过程,就是不断在这个两个度上进行迭代的过程,比如:1、广度:定位哪个功能慢,比如:统计;2、深度:定位那个层次慢,比如:后台Java代码部分;3、广度:定位哪个类或函数慢,比如:穷举所有结果并计算和的函数;4、深度:定位那个步骤慢,比如:居然每次转载 2013-06-17 17:25:21 · 1101 阅读 · 0 评论 -
J2EE开发常用开源项目名词解释(转)—总结的很好
根目录主要就我所了解的J2EE开发的框架或开源项目做个介绍,可以根据需求选用适当的开源组件进行开发.主要还是以Spring为核心,也总结了一些以前web开发常用的开源工具和开源类库1持久层:1)Hibernate这个不用介绍了,用的很频繁,用的比较多的是映射,包括继承映射和父子表映射对于DAO在这里介绍个在它基础上开发的包bba96,目前最新版本是bba96 2.0它对Hibe转载 2013-06-17 17:09:59 · 925 阅读 · 0 评论 -
Java系统性能调优----Java循环与字符串代码优化
在系统性能优化的时候循环和字符串处理一直是非常值得注意的地方。从心态上我们一定不能把自己的眼界放在十次或者是百次循环的层次上,也不能把自己要处理的字符串当做是有十个二十个字符。每次遇到循环都要假定这个循环是上万次的,每次要处理的字符串的时候一定要告诉自己这个字符串将来有可能是很大的。不要等到数据量真的达到十万、百万的级别之后再采取处理,那样的话成本的消耗就太大了。本文将介绍关于Java代码中循环和转载 2013-07-18 16:24:30 · 873 阅读 · 0 评论 -
系统性能优化总结—java代码优化
做了一段时间的性能优化,感觉不错,接触到了不少基础知识,也锻炼了自己的逻辑思维,写代码的时候考虑的更加全面一些,自己写出来的代码质量也会有所提高,写完一段代码会回头看看是不是有更简单更优的实现方法,还有也会自动会去考虑遵循一些基本的规范,比如嵌套循环不能超过三层、方法和类都要遵循单一职责的原则等等。 下面就将自己这段时间的工作总结一下,记录的同时也给刚做这方面工作的同志们一些建转载 2013-07-18 16:30:02 · 892 阅读 · 0 评论 -
查看linux下的机器的信息
cat /proc/cpuinfo– 查看 cpu 信息cat /proc/meminfo– 查看内存信息df– 显示磁盘占用情况du– 显示目录空间占用情况free– 显示内存及交换区占用情况ps -ef|grep tomcat 查找到正在运行的tomcat个数和相关信息jvm最大使用率统计cpu的信息,我用 top -b -n 1查linux版本 cat转载 2013-08-30 16:02:48 · 997 阅读 · 0 评论 -
linux查看文件夹和文件夹大小
查看当前文件夹大小比如查看/appdata/ECM目录的大小:du -s /appdata/ECM4569132 /appdata/ECM也可以:du -sh /home4.4G /appdata/ECM查看所属文件包含文件大小du -h --max-depth=1 /appdata/ECM结果如下:4.4M /appdata/ECM/insta原创 2013-09-11 11:40:41 · 781 阅读 · 0 评论 -
在struts2中用fileupload实现文件上传
实现原理Struts 2是通过Commons FileUpload文件上传。Commons FileUpload通过将HTTP的数据保存到临时文件夹,然后Struts使用fileUpload拦截器将文件绑定到Action的实例中。从而我们就能够以本地文件方式的操作浏览器上传的文件。具体实现前段时间Apache发布了Struts 2.0.6 GA,所以本文的实现是以该版本的S转载 2013-09-09 17:49:12 · 8096 阅读 · 1 评论