
J2ee
kjfcpua
这个作者很懒,什么都没留下…
展开
-
Jive 中的设计模式 (Design Pattern)
关键字: Jive, Design Pattern. 摘要: Jive 是一个开放源码的论坛项目, 也就是我们所常见的 BBS, 采用了 SUN 公司的 JSP 技术, 相比起 j2ee 这个庞大的体系结构, 其整个的设计思想非常 精炼, 适用于中小转载 2009-11-30 11:46:00 · 794 阅读 · 0 评论 -
WEB应用添加SSL支持
在web.xml文件中添加: Constranint1 /* GET POST HEAD PUT OPTIONS TRACE转载 2012-03-11 19:04:35 · 636 阅读 · 0 评论 -
为Tomcat指定JDK
在window下分别修改catalina.bat ,setclasspath.bat 文件里的%JAVA_HOME%和%JRE_HOME% 在Linux下分别修改catalina.sh ,setclasspath.sh文件里的$ JAVA_HOME和$ JRE_HOME转载 2012-03-11 18:33:54 · 489 阅读 · 0 评论 -
告别myeclipse下部属web应用程序
1.使用myeclipse部署web应用程序的弊端 开发效率低: 新增文件,必须关闭服务器,然后重新部署。 浪费空间:部属时,应用程序必须部署一份到tomcat的webapps下。 2。如何解决 使用外挂的方式,部署应用程序 3. 具体做转载 2012-03-11 18:35:21 · 491 阅读 · 0 评论 -
Tomcat处理HTTP请求源码分析(上)
很多开源应用服务器都是集成tomcat作为web container的,而且对于tomcat的servlet container这部分代码很少改动。这样,这些应用服务器的性能基本上就取决于Tomcat处理HTTP请求的connector模块的性能。本文首先从应用层次分析了tomcat所有的connector种类及用法,接着从架构上分析了connector模块在整个tomcat中所处的位置,最后对c转载 2012-03-11 18:53:01 · 493 阅读 · 0 评论 -
Tomcat处理HTTP请求源码分析(下)
很多开源应用服务器都是集成tomcat作为web container的,而且对于tomcat的servlet container这部分代码很少改动。这样,这些应用服务器的性能基本上就取决于Tomcat处理HTTP请求的connector模块的性能。本文首先从应用层次分析了tomcat所有的connector种类及用法,接着从架构上分析了connector模块在整个tomcat中所处的位置,最后对c转载 2012-03-11 19:00:21 · 459 阅读 · 0 评论 -
Hibernate 中Clob字段的使用
数据库的大字段操作向来属于数据库操作中最麻烦的部分。以前在Java开发中,无论是使用JDBC还是使用Hibernate这样的持久化映射工具。大字段操作的代码都是又丑又长,散发出一种“坏味道”。我们在网上搜索一下,能找到的代码大多非常复杂。其实,随着厂商的不断努力,对于大字段的操作已经越来越容易了。比如SQL Server 2005中推出了新的大字段类型,可以向操作varchar等普通字段类转载 2012-03-11 19:06:01 · 646 阅读 · 0 评论 -
Cookie安全漫谈
在Web应用中,Cookie很容易成为安全问题的一部分。从以往的经验来看,对Cookie在开发过程中的使用,很多开发团队并没有形成共识或者一定的规范,这也使得很多应用中的Cookie成为潜在的易受攻击点。在给Web应用做安全架构评审(Security architecture review)的时候,我通常会问设计人员以下几个问题:在实际的应用场景中,Cookie被用来做得最多的一件事是转载 2012-03-11 19:06:57 · 675 阅读 · 0 评论 -
HttpSession相关的监听器
1、HttpSessionListener public void sessionCreated(HttpSessionEvent se) public void sessionDestroyed(HttpSessionEvent se)这个监听器可以监听一个session对象的建立与失效,从方法的名字中可以很容易的看出。例:public class MySessionLi转载 2012-03-18 16:49:25 · 1716 阅读 · 0 评论 -
HttpSession , HttpSessionListener , HttpSessionBindingListener , HttpSessionAtributeListener
一个session就是一系列某用户和服务器间的通讯。服务器有能力分辨出不同的用户。一个session的建立是从一个用户向服务器发第一个请求开始,而以用户显式结束或session超时为结束。其工作原理是这样的:1.当一个用户向服务器发送第一个请求时,服务器为其建立一个session,并为此session创建一个标识号;2.这个用户随后的所有请求都应包括这个标识号。服务器会校对这个标识号以转载 2012-03-18 16:50:24 · 706 阅读 · 0 评论 -
Socket.setSoTimeout()方法的使用
setSoTimeout()这个方法所设置的超时时间还未结束的时候,可以通过socket.getInputStream()获得的InputStream对象进行二次读取。在二次读取的时候,如果客户端如果没有进行二次请求,InputStream对象二次读取的时候会死锁,直到客户端二次请求时才会继续运行,但是一旦超过setSoTimeout()方法所设置的超时时间,便会抛出java.net.Socket转载 2012-03-18 18:29:06 · 5170 阅读 · 0 评论 -
spring jar包详解
spring.jar是包含有完整发布的单个jar包,spring.jar 中包含除了 spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类的。 除了spring.jar文件,Spring还包括有其它13个独立的jar包,各自包含着对应的Spring组件,用户可以根据自己的转载 2012-03-21 11:09:03 · 554 阅读 · 0 评论 -
Spring remoting简单例子
Spring目前提供了对RMI、HttpInvoker、Hessian、Burlap及WebService等Remoting技术的集成。Spring屏蔽了这些实现技术的差异,用户只需开发简单的Java对象(Plain Old Java Objects,POJO)然后按照Spring规定的格式进行配置文件的编写即可。6.2.1 Hessian使用演示【例6.1】在Spring中使用Hess转载 2012-03-21 11:10:36 · 2948 阅读 · 0 评论 -
面向站长和网站管理员的Web缓存加速指南[翻译]
这是一篇知识性的文档,主要目的是为了让Web缓存相关概念更容易被开发者理解并应用于实际的应用环境中。为了简要起见,某些实现方面的细节被简化或省略了。如果你更关心细节实现则完全不必耐心看完本文,后面参考文档和更多深入阅读部分可能是你更需要的内容。什么是Web缓存,为什么要使用它?缓存的类型:浏览器缓存;代理服务器缓存;Web缓存无害吗?为什么要鼓励缓存?Web缓存如何工作:如转载 2012-05-03 09:58:55 · 646 阅读 · 0 评论 -
内容管理系统(CMS)的设计和选型
内容管理系统概述内容管理系统是一个很泛的概念:从商业门户网站的新闻系统到个人的Weblog都可以称作发布系统。框架型:本身不包含任何应用实现,只是提供了底层框架,具体应用需要一定的二次开发,比如Cocoon,Vignette;应用型:本身是一个面向具体类型的应用实现,已经包含了新闻/评论管理,投票,论坛,WIKI等一些子系统。比如:postNuke xoops等;但无论转载 2012-05-03 10:02:51 · 1225 阅读 · 0 评论 -
基于反相代理的Web缓存加速——可缓存的CMS系统设计
内容摘要:对于一个日访问量达到百万级的网站来说,速度很快就成为一个瓶颈。除了优化 内容发布系统的应用本身外,如果能把不需要实时更新的动态页面的输出结果转化成静态网页来发布,速度上的提升效果将是显著的,因为一个动态页面的速度往往 会比静态页面慢2-10倍,而静态网页的内容如果能被缓存 在内存里,访问速度甚至会比原有动态网页有2-3个数量级的提高。动态缓存和静态缓存的比较基于反向代理加转载 2012-05-03 10:03:29 · 600 阅读 · 0 评论 -
各OS平台上JDK上的差异
各个操作系统平台上的JDK有不统一的地方,给JAVA的跨平台造成一定的困扰。我所遇到的如下:1)solaris及hp-ux两个平台上的JDK如果显示是混合模式的话,它是同时支持32位及64位 但是aix, windows,linux即使显示是混合模式,实际上JDK的32位版本与64位版本也是分开的。2)我们可以通过-d64或-d32来指定程序是以32位运行还是64位转载 2012-03-11 18:57:27 · 626 阅读 · 0 评论 -
Tomcat集群配置笔记
h1 { margin-top: 0.6cm; margin-bottom: 0.58cm; line-height: 200%; page-break-inside: avoid; }h1.western { font-family: "Times New Roman",serif; font-size: 22pt; }h1.cjk { font-family: "Arial Unicode M转载 2012-03-11 18:55:56 · 672 阅读 · 0 评论 -
jive备忘--浅析jive缓存
jive的缓存非常简单,很适合初学者提升功力,这里将jive缓存几个关键的地方拿出来与大家分享一下。 首先,让我们对jive缓存的类库有个框架性认识,如图: 上图所列的,就是jive实现缓存所用的几个关键类。主要包括Cache,Cacheable,CacheObject,Lin转载 2009-11-30 13:06:00 · 821 阅读 · 0 评论 -
Servlet 工作原理解析
从 Servlet 容器说起要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 Servlet 容器的关系有点像枪和子弹的关系,枪是为子弹而生,而子弹又让枪有了杀伤力。虽然它们是彼此依存的,但是又相互独立发展,这一切都是为了适应工业化生产的结果。从技术角度来说是为了解耦,通过标准化接口来相互协作。既然接口是连接 Servlet 与 Servlet 容器的关键转载 2011-10-25 09:13:10 · 652 阅读 · 0 评论 -
Struts2 内核之我见
相信熟悉 Struts1 的程序员,对 Struts2 会迷惑,凡事是是而非。我也曾经遇到了这种情况。Struts2 在设计的时候采用 webwork 的内核,尽量按照 Struts1 的编码习惯。我不知道各位怎么学习 Struts1,当我阅读了核心控制器 org.apache.struts.action.ActionServlet 的源码后,感到对 Struts1 的工作机制豁然开朗。转载 2011-10-25 09:13:49 · 948 阅读 · 0 评论 -
Spring 框架的设计理念与设计模式分析
Spring 的骨骼架构Spring 总共有十几个组件,但是真正核心的组件只有几个,下面是 Spring 框架的总体架构图:图 1 .Spring 框架的总体架构图 从上图中可以看出 Spring 框架中的核心组件只有三个:Core、Context 和 Beans。它们构建起了整个 Spring 的骨骼架构。没有它们就不可能有 AOP、Web 等上层的特性功能。下面也将转载 2011-10-25 10:50:22 · 836 阅读 · 0 评论 -
Java应用程序模拟向Servlet发送POST请求
在某些情况下,需要用Java applicatioin来模拟form,向服务器(本文以servlet为例)发送http post请求,包括提交表单域中的数据以及上传文件。如果仅仅是传递form中的数据,而不包含上传文件,那是很简单的,比如Java application可以这么写:package com.pat.postrequestemulator;importjava.io.Buffe转载 2011-11-02 17:09:00 · 868 阅读 · 0 评论 -
自己手写Struts2
记得以前教Struts的时候,自己动手写过一个类似Struts的MVC框架。在培训的过程中,我发现这种过渡非常平滑:学习MVC设计模式时,自己动手写一个Struts框架,再使用自己写的小框架完成一个项目。这样既让学员深刻地理解了MVC的重要思想,又为后面学习Struts框架做好了铺垫,以至于后面真正培训Struts只需要短短5天时间。所以要想灵活掌握一个框架,最好的方式还是自己模仿着去实现它,然后转载 2011-12-15 16:12:12 · 835 阅读 · 0 评论 -
JSP 9 大内置对象介绍
1.request对象 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。 序号 方 法 说 明 1 object getAttribute(String name) 返回指定属性的属性值 2 Enumeration getAttributeNames() 返回所有可用属转载 2012-02-24 15:00:21 · 824 阅读 · 0 评论 -
关于 session 的 HttpSessionActivationListener 监听器
Jsp/servlet 标准不要求一个web容器支持分布式应用,但是他一定要支持HttpSessionActivationListener借口,以使代码可以支持分布式环境。一般免费的web容器都不支持分布式,weblogic websphere是支持的。为了负载均衡或者fail-over,web容器可以迁移一个session到其他的jvm.session的passivation是指非活动的sess转载 2012-02-24 13:17:27 · 5912 阅读 · 3 评论 -
memcached介绍和安装
缘起: 在数据驱动的web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载。缓存是解决这个问题的好办法。 Memcached是什么? Memcached是由Danga Interactive开发的,高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。 Memcached能缓存什么? 通过在内存里维护一个统一的转载 2012-02-24 10:11:09 · 641 阅读 · 0 评论 -
JavaWeb 监听器
一、事件监听机制 事件监听机制涉及到三个组件:事件源、事件监听器、事件对象。当事件源上发生操作时,事件源会调用事件处理器的一个方法响应操作,并且在调用方法时还会把事件对象传递给事件处理器。事件处理器由程序员编写,程序员通过事件对象可以知道哪个事件源上发生了操作,从而可以对操作进行处理。 二、Servlet 监听器 在 Servlet 规范中定转载 2012-02-24 10:36:49 · 1753 阅读 · 0 评论 -
模板引擎的作用
模板引擎有什么用呢?我们先来看看目前的模板引擎都是用在了什么地方。最常见的就是用在WEB系统中,可以让程序开发人员及美工设计人员分工明确,这也是MVC开发模式不可少的。再就是用在代码生成上,通过设置模板,可以大量减轻机械重复的手工操作,提供工作效率。模板引擎的设计目的,无非是要让不懂程序的设计人员,不用关心程序逻辑是怎么实现,只用关心自己的界面呈现。但是设计人员必须要学习模板引擎使用方法,包括模板转载 2012-02-26 14:15:22 · 5483 阅读 · 0 评论 -
struts2_aciton向js传json值及前台jsp解析
此代码用于添加留言后台action代码public void lawyerreply(){try{response.setCharacterEncoding("UTF-8");String message="";java.util.Date date=new java.util.Date();Integer ids=Integer.valueOf(request原创 2012-03-03 20:38:35 · 3262 阅读 · 0 评论 -
java web开发,bean数据放在request、response还是servletcontext中?
就servlet规范本身,数据可以放在3个地方:request、session、servletContext. request: 好处:用完就仍,不会导致资源占用的无限增长。 弊处:每次要用都从数据库中抓,多做操作,自然会对性能有一些影响。 session: 好处:不用每次都去数据库抓,少做操作。 弊处:每个客户都有一个session,只能自己使用,不同sessio转载 2012-03-07 17:37:39 · 822 阅读 · 0 评论 -
数据库设计中的一些问题
前提声明,个人观点: 没有最好的,只有最合适的。 对不同的视角,所谓的“最合适”也是不同的。 设计总是伴随者“妥协”的。 请不要在讨论中试图证明个人的观点是“最好的”。 大家都提出自己的经验、思路、教训等等,让参与讨论的人根据自己的条件(这个我们无法完全为他人设想),有所取舍的得到“我所正需要的”。 -------------------------------转载 2012-03-07 17:38:46 · 2490 阅读 · 1 评论 -
Ibatis原理分析
Ibatis框架架构如下图所示: 外部Java Application调用SqlMapClient接口,经过SqlMapSession、SqlMapExecutorDelegate等实现类,通过PersistentObject、ParameterMap、ResultMap、MappedStatement、Transaction等,基于JDBC、JTA等事务转载 2012-03-27 22:11:49 · 816 阅读 · 0 评论 -
铁路订票系统的简单设计
转载自http://blog.codingnow.com/2012/01/ticket_queue.html其实铁路订票系统面临的技术难点无非就是春运期间可能发生的海量并发业务请求。这个加上一个排队系统就可以轻易解决的。本来我在 weibo 上闲扯两句,这么简单的方案,本以为大家一看就明白的。没想到还是许多人有疑问。好吧,写篇 blog 来解释一下。简单说,我们设置几个网关服务转载 2013-01-24 17:28:26 · 1365 阅读 · 0 评论