J2EE
文章平均质量分 70
lfsf802
这个作者很懒,什么都没留下…
展开
-
post和get请求方式以及区别
1. 一些枯燥的概念:Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查 ,改 ,增 ,删 4个操作。GET一般用于获取/查询资源信息,而POST一般用于更原创 2012-02-03 21:27:50 · 4666 阅读 · 6 评论 -
剖析转发和重定向
做JavaWeb开发一定会遇到转发和重定向这两个名字,刚开始确实有些模糊,感觉两者非常相似,但是随着研究深入发现两者的本质相差甚远。 首先看书写语句: 转发:request.getRequestDispatcher("apage.jsp").forward(request,response);//转发到apage.jsp原创 2012-02-03 11:17:31 · 2257 阅读 · 8 评论 -
Servlet运行周期与原理流程
一、Servlet运行周期 Servlet运行在Servlet容器中,其生命周期由容器来管理。Servlet的生命周期通过javax.servlet.Servlet接口中的init()、service()和destroy()方法来表示。 Servlet的生命周期包含了下面4个阶段: (1)加载和实例化Servlet容器负责加载和实例化Se原创 2012-01-20 14:50:51 · 5787 阅读 · 9 评论 -
初识JSTL
刚开始接触了JSTL这个标签库,感觉出来它的强大。因为开发中我们会看到JSP中会有大量的动态内容的逻辑需要用Java代码来实现,JSTL标签库很好的解决了这些问题,让JSP瘦身,页面开发人员不再为学习JAVA而发愁,只需用标签就能完成JSP开发;有了JSTL提高了开发的效率,提高了程序的可读性和可维护性。 JSTL的全称是JSP Standard Tag Library (JSP标原创 2012-02-06 09:40:15 · 4916 阅读 · 9 评论 -
浅析Java开发中的Model1和Model2
在Java开发的时候,避免不了的会接触Model1和Model2,本篇博客对这两种架构进行浅析。 Model1:Model1的中心是JSP页面,JSP页面中结合业务逻辑、服务端处理过程和HTML等,这样就在JSP页面中同时实现了业务逻辑和流程控制。从而快速开发。 Model1的优缺点:优点:简单,快速开发,适用小规模开发缺点:业务逻辑和表原创 2012-02-04 20:54:06 · 13750 阅读 · 13 评论 -
MVC与三层架构区别
本文转自赵丹丹的专栏《三层架构与MVC谜团之答案揭晓》 我们平时总是将三层架构与MVC混为一谈,殊不知它俩并不是一个概念。下面我来为大家揭晓我所知道的一些真相。 首先,它俩根本不是一个概念。 三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目。 MVC是一个设计模式,它是根据项目的具体需求来决定是否适用于该项目。 那转载 2012-02-04 21:54:10 · 2742 阅读 · 5 评论 -
URL编码以及GET和POST提交乱码解决方案
1. 什么是URL编码。URL编码是一种浏览器用来打包表单输入的格式,浏览器从表单中获取所有的name和其对应的value,将他们以name/value编码方式作为URL的一部分或者分离的发送到服务器上。2. URL编码规则。每对name/value由&分开,每对来自表单的name/value用=分开。如果用户没有输入值的那个name依旧会出现不过就是没有值。原创 2012-02-04 09:39:56 · 52223 阅读 · 9 评论 -
从java读取Excel继续说大道至简
在上一篇博客《从复杂到简单,大道至简》中说道我们要把复杂的问题简单化,也就是要把问题细分,让大问题变成小问题,这样解决起来会相对容易,当我们把容易的小问题解决掉了,大问题自动就会迎刃而解。 所以今天这篇博客是继续那个主体来说,因为权限管理项目里面涉及到了批量导入的功能,我的上篇博客也对这个功能业务单元细分了几个小问题,其中一个就是要会利用jxl包中的类来读取excel中的数据,原创 2012-06-07 15:03:10 · 9279 阅读 · 24 评论 -
开发中体会大道至简
还记得老师以前的一堂课上,用了两个图(时域中的正余弦函数和频域中的正余弦函数)讲解了从复杂到简单,大道至简的道理,在随后的开发道路上,我也渐渐明白这个道理,也在实践这个道理。 这个道理就是我们所处在的复杂世界复杂事物都能够用简单的事物来组成和来表示。正余弦函数如此,编程也是这样。 最近在做权限管理项目,这个项目让我对这个道理更加有了深刻的认识,大道至简,当我们把复杂问题拆分原创 2012-05-25 20:15:00 · 6655 阅读 · 18 评论 -
EJB概述
随着软件的规模的快速增大,各种分布式技术CORBA、RMI等技术陆续出现,软件规模的快速增大和技术复杂度的增加,导致软件开发变得越来越复杂。也就是在这样的背景之下,EJB技术应运而生。 EJB出现之初,它就被捧的非常高,因为SUN公司宣称EJB是一种可以快速开发大规模企业应用的组件体系结构,它会让应用程序开发者集中精力去开发解决各种复杂业务逻辑问题,而不用花费精力来处理分布式服务器原创 2013-02-22 11:22:34 · 1628 阅读 · 1 评论 -
学习jboss目录结构
在做EJB3项目中,遇到这样两个问题: 第一个是web项目去调用sessionBean,这个web项目中用到了struts2和spring,所以web项目的web-info的lib下会有相应的struts2和spring的jar包,然而我们现在需要这样几个web项目去掉不同的sessionBean,而这些web项目技术基本一样,也就是都有struts2和spring,所以这些jar包原创 2013-03-09 23:25:23 · 3809 阅读 · 4 评论 -
持久层的EAO颗粒封装
设计一个灵活性高、扩展性好的软件产品不是一件容易的事情。 在面向对象的世界里,解耦才是真正的宗旨所在,只有充分恰当的通过抽象、封装、继承和多态才能达到解耦的宗旨,才有可能做好一款灵活性高、扩展性好的软件产品。 在这个过程中需要学习很多知识。面向对象语言,OOA和OOD,还有面向对象所相关的各种技术,如设计模式、建模语言和框架等,另外,还需要学会面向切片、面向服务、面向接原创 2013-04-03 15:30:27 · 1565 阅读 · 4 评论 -
日志工具介绍
在做项目的时候经常使用日志技术。其实日志主要的作用就是记录程序运行的情况,以便于程序在开发和部署等阶段排错调试,而且也可以记录用户的各个操作,应对相应业务的需要。而且我们有时候需要在控制台上输出,有时需要把日志记录到数据库中,还有时候需要记录到文件等等。 在处理日志的问题上,其实就是三个重要的方面:记录日志的对象、日志输出处理器、日志格式化。 我们在做开发的时候经常原创 2013-01-16 22:10:43 · 2063 阅读 · 2 评论 -
架构、框架和设计模式关系
在学习软件工程的时候,第一次接触到了架构这个概念。当初接触的时候对其的理解是非常浅薄的,因为那时候工程经验比较少,对这样一个深层次的概念还是模糊不清楚的。 随着学习的深入,开始接触了设计模式,也就是那本令我爱上编程的书--《大话设计模式》,书中的小菜和大鸟的清晰的对白,让我犹如身临其境般,一点一点层层递进的认识设计模式,认识面向对象的引以为傲的设计原则。经过了很长时间的学习,深刻的发原创 2013-01-10 01:10:06 · 18512 阅读 · 11 评论 -
jatoolsPrinter实现web打印功能
实现WEB在线打印功能的方法很多,有些人直接用浏览器自带的打印功能实现在线打印,有些人是用js编码来实现打印功能,更加有些公司把这种功能实现作为一个产品编写给用户使用(像今天要说的jatoolsPrinter控件)····方法很多(这些区别这不赘言,可以查阅网络,会有答案),但是目的都是要完成web的打印功能。 今天这篇博客主要是在说说怎么利用jatoolsPrinter打印控件来完原创 2012-07-31 15:24:39 · 16592 阅读 · 13 评论 -
IA300加密狗使用
前段时间做的俱乐部项目中用到了一个硬件是IA300加密狗,这个硬件主要是用来各种B/S结构的安全系统身份认证使用。因为项目中有一个业务是充值人员必须在高级管理员的监督下才能完成充值操作,所以项目中就选择了这种IA300加密狗硬件。 下面介绍这种加密狗的使用方法: 1. 电脑上安装浏览器插件(插件在IA300光盘里面) 2. 在项目中导入IA300的js原创 2012-08-05 16:37:55 · 9820 阅读 · 7 评论 -
java客户端调用webservice
最近的工作是java和c++的交互,利用的就是webservice;博客中介绍了如何利用java生成webservice,这篇博客接着说如何利用java调用webservice。 我主要用的是axis2工具来实现java的webservice调用。 我比较常用的两种方法一个是直接利用RPCServiceClient的invokeBlocking方法,另外一种是OMAbs原创 2012-09-18 08:47:54 · 37924 阅读 · 8 评论 -
深入浅出学习Struts1框架(一):一个简单mvc模式代码示例开始
先看MVC模式流程图(其实MVC设计模式就是java中的model2。): 就像图上所标识的C层主要是Servlet层控制页面跳转,M层就是具体的业务处理逻辑,而JSP就是所谓的V层。MVC是有别于我们所说的三层,我们平常所说的三层是UI层、BLL层、DAL层,具体的区别如图: 从图上能看出来,JSP和Servlet构成了UI层,而Model层分成了BLL层和DAL层(也原创 2012-02-20 19:58:10 · 22161 阅读 · 44 评论 -
深入浅出学习Struts1框架(二):重构MVC模式代码中跳转路径和业务逻辑
在上篇博文《深入浅出学习Struts1框架(一):一个简单mvc模式代码示例开始》中简单说了一下MVC模式代码的实现和MVC模式和三层架构的区别,并且留下一个问题—如何去掉TestServlet中的IF-Else语句块。 因为在TestServlet中出现了If-Else语句块,所以让程序变得不再灵活,让应付需求变化时变得笨拙。所以就承接上篇文章来重构一下TestServlet代码,主原创 2012-02-21 20:25:03 · 10837 阅读 · 16 评论 -
深入浅出学习Struts1框架(三):彻底去掉TestServlet中的字符串和if-else语句块
在《深入浅出学习Struts1框架(一):一个简单mvc模式代码示例开始》和《深入浅出学习Struts1框架(二):重构MVC模式代码中跳转路径和业务逻辑》文章中已经说了分层和mvc模式的区别,和一些为了去掉mvc模式代码中的TestServlet类中的if-else。因为if-else在程序代码中是相对不稳定的,所以通过去掉if-else来引入对struts框架的学习。 在《深入浅出原创 2012-02-24 23:40:46 · 9053 阅读 · 22 评论 -
深入浅出学习struts1框架(四):从MVC模式代码认识struts1框架
从《深入浅出学习Struts1框架(一):一个简单mvc模式代码示例开始》分析mvc和三层关系开始,引出这个mvc设计模式实例,到《深入浅出学习Struts1框架(二):重构MVC模式代码中跳转路径和业务逻辑》抽象封装业务处理和路径跳转,再到《深入浅出学习Struts1框架(三):彻底去掉TestServlet中的字符串和if-else语句块》去掉if-else语句块和字符串,经过三篇文章循序渐进原创 2012-03-02 08:11:05 · 9316 阅读 · 12 评论 -
深入浅出学习struts1框架(五)--正式进入struts1框架学习,从一个实例开始
之前写了四篇博客都是struts1框架学习之前的引子,主要就是从mvc的一个实例开始,慢慢重构出一个struts1框架雏形,通过这个雏形来引出我们要学习的struts1框架。四篇博客如下:1、《深入浅出学习Struts1框架(一):一个简单mvc模式代码示例开始》2、《深入浅出学习Struts1框架(二):重构MVC模式代码中跳转路径和业务逻辑》3、 《深入浅出学习Struts1框架(三):彻底去原创 2012-03-08 21:12:59 · 11065 阅读 · 25 评论 -
深入浅出学习Hibernate框架(一):从实例入手初识Hibernate框架
这篇博客是hibernate学习的第一篇,主要简单介绍hibernate框架,之后简单说一下hibernate的目录结构,最后写一个简单的hibernate实例。通过这三步来简单的认识一下hibernate。 废话不多说,步入正题。首先简单介绍一下hibernate框架,它是一种基于JDBC的主流持久化框架,是一个优秀的orm实现;它对JDBC进行了轻量级的封装,大大简化了数据访问层繁杂的重复代码原创 2012-03-15 15:33:46 · 31132 阅读 · 21 评论 -
深入浅出学习hibernate框架(三):java的反射机制
上篇博客写到了JDBC的基本操作,今天准备写一篇关于JAVA反射机制的文章,因为java的反射机制和上一篇JDBC都是Hibernate框架的基本要素。在Hibernate的运行机制中,这两块的内容正好是用来处理对象关系映射,所以这两篇博客是以后的学习的基础,非常重要。 反射机制的作用就是能够找到字段、方法和已加载类的构造函数的信息,并且能够应用反射域、方法和构造函数去操作各自的属性原创 2012-03-25 16:21:26 · 15921 阅读 · 13 评论 -
深入浅出学习Struts1框架(六):ActionServlet的实例化
之前写了五篇关于struts1框架学习的博客,主要是从mvc的一个实例开始,慢慢重构出一个struts1框架雏形,通过这个雏形来引出我们要学习的struts1框架并且编写了一个struts1实例。五篇博客如下:1、《深入浅出学习Struts1框架(一):一个简单mvc模式代码示例开始》2、《深入浅出学习Struts1框架(二):重构MVC模式代码中跳转路径和业务逻辑》3、 《深入浅出学习Strut原创 2012-03-28 22:32:33 · 7606 阅读 · 5 评论 -
深入浅出学习Struts1框架(七):ActionServlet实例化之读取struts-config.xml配置文件
在上一篇博客中讲到ActionServlet是如何初始化的以及web.xml的配置信息的具体作用。今天我们讲继续讲解ActionServlet在初始化的时候如何读取/WEB-INF/struts-config.xml信息到内存中,如何将这些从配置文件读取的信息以Actionmapping的形式展现在内存中的。 由于这部分内容是比较繁琐的,所以我对这部分的深入分析也不能太详细,但是具体实现流程我会讲原创 2012-04-04 10:03:06 · 7930 阅读 · 16 评论 -
深入浅出学习Struts1框架(九):截取URL
前两篇博客介绍了ActionServlet的初始化,讲述了它在初始化的时候做的事情。有了ActionServlet初始化,才能说当我们访问页面如何利用digester读取struts-config.xml配置文件信息,如何讲这些信息存到ActionMapping中,如何完成相应的业务处理和页面跳转。 那么今天就开始进入这一环节的分析。分析之前,希望大家还是好好看看原先的系列文章,那些原创 2012-04-10 11:31:04 · 6424 阅读 · 18 评论 -
深入浅出学习Struts1框架(十)-ActionMapping的生成和查找
前几篇博客主要介绍的ActionServlet的初始化和Struts1是如何完成截取字符串工作的,今天继续分析Struts1截取完字符串所要做的工作。 在struts专栏的开篇mvc小实例中我们编写了ActionMapping这样一个类、struts-config.xml配置文件,在那时我们对截取的字符串匹配,利用dom4j来读取了配置文件的信息,并且把他以ActionMapping的形式保原创 2012-04-18 15:47:14 · 6215 阅读 · 5 评论 -
深入浅出学习Struts1框架(十一)-利用ActionMapping来创建ActionForm
今天主要是讲解ActionServlet中的一个方法processActionForm,当我们在截取字符串,再根据字符串取得ActionMapping(这是前两篇文章中介绍的)之后,我们就要用利用ActionMapping来创建ActionForm了,并且把ActionForm放到request或session中管理。 先来看具体struts中processActionForm方法的原创 2012-05-03 10:02:12 · 10394 阅读 · 24 评论 -
深入浅出学习Struts1框架(十二)-把ActionForm的数据放到Mapping
上一篇博客主要是讲解ActionServlet中的一个方法processActionForm,当我们在截取字符串,再根据字符串取得ActionMapping之后,我们就要用利用ActionMapping来创建ActionForm,并且把ActionForm放到request或session中管理。获得ActionForm之后,我们就要将ActionForm中的数据放到Mapping中,以便实例化A原创 2012-05-11 11:00:22 · 6911 阅读 · 7 评论 -
dinamic框架分析以及核心类说明
最近一直在研究dinamic框架,这个框架是基于mvc的一个框架,主要的目的就是通过进行简单的配置文件和业务逻辑(不是必须的)完成相应的应用的开发,其余的工作开发者不再考虑。 它的设计流程图: 通过这个设计流程图中我们就能看得出来所有灰色部分的内容都是框架本身提供的,而白色部分需要开发人员来自己动手来实现的,而白色部分的内容就是三个类型的配置文件,数原创 2012-12-19 21:39:31 · 5123 阅读 · 9 评论 -
框架学习:struts1框架的结构和分析
在上一篇的内容里,简单说了说框架的学习,主要讲解了什么是框架,框架的一些相关问题,还有就是如何学习框架。那么这篇博客介绍一些常见的框架的结构和分析。 我们所学习的技术框架有很多,例如struts1、struts2、JSF、Spring、SpringMVC、Hibernate、ibatis····在上篇博客我说了我们可能在开发的路途上会要学习这些框架,我也给出了我对框架学习的几点:原创 2012-08-17 14:21:48 · 9705 阅读 · 5 评论 -
框架学习:webWork框架和struts2框架的结构和分析
在上篇博客中,我简单的介绍了我们分层开发中每一层中拥有的框架,而且介绍了我常用的框架struts1的结构和原理分析,那么今天我继续介绍我熟悉的框架struts2的框架的结构和原理分析。 在说struts2框架之前,我要先介绍另外一个框架webwork框架,这个框架也是一个mvc的框架,这个框架的设计思路是采用拦截链将用户的请求的数据转发到Action中,并负责将Action的处理结果转原创 2012-08-23 20:28:32 · 7949 阅读 · 7 评论 -
框架学习:ibatis框架和hibernate框架区别分析
在上一篇博客中我们认识了ibatis框架,它是一个半自动化的ORM实现,针对sql语句进行映射,将输入输出参数映射成为对象,它还是从关系到对象的思路来解决数据库的操作问题。 这篇博客介绍一下hibernate框架和ibatis框架的区别,以及他们的效率之间的比较。比较方面Ibatis框架Hibernate框架从设计思路来看 从关系型开始到对象型的思路来解决数据库的操作问题从对象原创 2013-01-03 16:49:08 · 3852 阅读 · 2 评论 -
JBOSS5+ActiveMQ5.7集成
最近项目中需要集成消息中间件来处理消息,选择了ActiveMQ这款中间件的开源产品。由于项目用的应用服务器为JBOSS,所以自然就想到如何把两者结合使用。 在ActiveMQ官方网站中给出了答案,网站中用到的是ActiveMQ4.0.1+JBOSS4.0.4+JDK1.5+ANT1.6.2,我们项目中用的是jboss-5.1.0.GA+JDK1.7+ActiveMQ5.7.0另外用ANT1.8.4原创 2013-05-15 09:24:01 · 3031 阅读 · 2 评论 -
初识ActiveMQ消息中间件
ActiveMQ是Apache的一个开源项目,它是一个能力强劲的开源消息总线,也是一个中间件产品。它是JMS的一个实现。 在介绍ActiveMQ之前,先来复习一下J2EE中的JMS规范。 JMS是java Message Service的简称,用来发送异步消息,在不同系统和不同的模块之间我们可以利用它实现集成。 JMS有两个好处,第一个就是让模块之间或原创 2013-01-24 10:39:08 · 13618 阅读 · 5 评论 -
EJB3的优点
随着ejb3的出现,ejb又开始了它的第二春。Ejb3相比ejb2,简单了许多。这一点从很多方面能够看出来。 有了一段Ecplise+Lomboz和IBM RAD开发EJB2的经历之后,深深的感觉EJB2的复杂性。我们会为了XXXBean.findUserById(String userId)这个方法,要做很多前期的代码生成,最后要通过JNDI来lookUp相应的EJB接口,最后再调原创 2013-02-23 23:07:36 · 5592 阅读 · 1 评论 -
做一个DEMO来看分层渐变
最近做了一个DEMO(大家都比较熟悉的登录实例),利用这个DEMO来做了个分层渐变的演示。每一步前进一点,逐步解耦。下面整体描述一下这个DEMO的分层渐变。 Model1----------------------------------------------- 这个版本的分层是直接用JSP调用业务逻辑层,完成业务处理和数据库操作。耦合性非常高,修改和维护是一件非常困难的事情,适合原创 2012-02-05 20:24:40 · 3577 阅读 · 13 评论 -
深入浅出学习Hibernate框架(二):JDBC基础操作
上篇博客《深入浅出学习Hibernate框架(一):从实例入手初识Hibernate框架》简单介绍了一下Hibernate框架,并且举了一个实例来了解Hibernate。这篇博客将介绍JDBC的基本操作,说起这JDBC,大部分程序员是已经非常熟悉了,为了我的Hibernate学习的连载,所以在这篇要简单介绍一下JDBC的有关操作,因为这是Hibernate实现的基础,没有了JDBC也就没有了Hib原创 2012-03-21 15:02:08 · 12226 阅读 · 24 评论 -
深入浅出学习Struts1框架(八):ActionServlet实例化之ModuleConfig
上篇博客介绍了在ActionServlet的init方法实例化的时候完成的三个方法,主要是介绍了initInternal()方法、initOther()方法、initServlet()方法这三个方法。 通过上篇博客的介绍我门知道initInternal()方法主要是创建资源类MessageResources的,比如说国际化资源等,具体这里可以见org.apache.struts.act原创 2012-04-06 09:36:40 · 7724 阅读 · 16 评论